Commit 0d45dab6 authored by Linus Torvalds's avatar Linus Torvalds

Merge tag 'arm64-stable' of git://git.kernel.org/pub/scm/linux/kernel/git/cmarinas/linux-aarch64

Pull ARM64 fixes/updates from Catalin Marinas:
 - Bug-fixes (get_user/put_user, incorrect register width for ASID,
   FPSIMD initialisation)
 - Kconfig clean-up
 - defconfig update

* tag 'arm64-stable' of git://git.kernel.org/pub/scm/linux/kernel/git/cmarinas/linux-aarch64:
  arm64: Remove duplicate DEBUG_STACK_USAGE config
  arm64: include VIRTIO_{MMIO,BLK} in defconfig
  arm64: include EXT4 in defconfig
  arm64: fix possible invalid FPSIMD initialization state
  arm64: use correct register width when retrieving ASID
  arm64: avoid multiple evaluation of ptr in get_user/put_user()
parents 0bfdbf0e 09d3ce74
...@@ -6,13 +6,6 @@ config FRAME_POINTER ...@@ -6,13 +6,6 @@ config FRAME_POINTER
bool bool
default y default y
config DEBUG_STACK_USAGE
bool "Enable stack utilization instrumentation"
depends on DEBUG_KERNEL
help
Enables the display of the minimum amount of free stack which each
task has ever had available in the sysrq-T output.
config EARLY_PRINTK config EARLY_PRINTK
bool "Early printk support" bool "Early printk support"
default y default y
......
...@@ -42,7 +42,7 @@ CONFIG_IP_PNP_BOOTP=y ...@@ -42,7 +42,7 @@ CONFIG_IP_PNP_BOOTP=y
# CONFIG_WIRELESS is not set # CONFIG_WIRELESS is not set
CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
CONFIG_DEVTMPFS=y CONFIG_DEVTMPFS=y
# CONFIG_BLK_DEV is not set CONFIG_BLK_DEV=y
CONFIG_SCSI=y CONFIG_SCSI=y
# CONFIG_SCSI_PROC_FS is not set # CONFIG_SCSI_PROC_FS is not set
CONFIG_BLK_DEV_SD=y CONFIG_BLK_DEV_SD=y
...@@ -72,6 +72,7 @@ CONFIG_LOGO=y ...@@ -72,6 +72,7 @@ CONFIG_LOGO=y
# CONFIG_IOMMU_SUPPORT is not set # CONFIG_IOMMU_SUPPORT is not set
CONFIG_EXT2_FS=y CONFIG_EXT2_FS=y
CONFIG_EXT3_FS=y CONFIG_EXT3_FS=y
CONFIG_EXT4_FS=y
# CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set # CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set
# CONFIG_EXT3_FS_XATTR is not set # CONFIG_EXT3_FS_XATTR is not set
CONFIG_FUSE_FS=y CONFIG_FUSE_FS=y
...@@ -90,3 +91,5 @@ CONFIG_DEBUG_KERNEL=y ...@@ -90,3 +91,5 @@ CONFIG_DEBUG_KERNEL=y
CONFIG_DEBUG_INFO=y CONFIG_DEBUG_INFO=y
# CONFIG_FTRACE is not set # CONFIG_FTRACE is not set
CONFIG_ATOMIC64_SELFTEST=y CONFIG_ATOMIC64_SELFTEST=y
CONFIG_VIRTIO_MMIO=y
CONFIG_VIRTIO_BLK=y
...@@ -166,9 +166,10 @@ do { \ ...@@ -166,9 +166,10 @@ do { \
#define get_user(x, ptr) \ #define get_user(x, ptr) \
({ \ ({ \
__typeof__(*(ptr)) __user *__p = (ptr); \
might_fault(); \ might_fault(); \
access_ok(VERIFY_READ, (ptr), sizeof(*(ptr))) ? \ access_ok(VERIFY_READ, __p, sizeof(*__p)) ? \
__get_user((x), (ptr)) : \ __get_user((x), __p) : \
((x) = 0, -EFAULT); \ ((x) = 0, -EFAULT); \
}) })
...@@ -227,9 +228,10 @@ do { \ ...@@ -227,9 +228,10 @@ do { \
#define put_user(x, ptr) \ #define put_user(x, ptr) \
({ \ ({ \
__typeof__(*(ptr)) __user *__p = (ptr); \
might_fault(); \ might_fault(); \
access_ok(VERIFY_WRITE, (ptr), sizeof(*(ptr))) ? \ access_ok(VERIFY_WRITE, __p, sizeof(*__p)) ? \
__put_user((x), (ptr)) : \ __put_user((x), __p) : \
-EFAULT; \ -EFAULT; \
}) })
......
...@@ -80,8 +80,10 @@ void fpsimd_thread_switch(struct task_struct *next) ...@@ -80,8 +80,10 @@ void fpsimd_thread_switch(struct task_struct *next)
void fpsimd_flush_thread(void) void fpsimd_flush_thread(void)
{ {
preempt_disable();
memset(&current->thread.fpsimd_state, 0, sizeof(struct fpsimd_state)); memset(&current->thread.fpsimd_state, 0, sizeof(struct fpsimd_state));
fpsimd_load_state(&current->thread.fpsimd_state); fpsimd_load_state(&current->thread.fpsimd_state);
preempt_enable();
} }
#ifdef CONFIG_KERNEL_MODE_NEON #ifdef CONFIG_KERNEL_MODE_NEON
......
...@@ -35,7 +35,7 @@ ...@@ -35,7 +35,7 @@
*/ */
ENTRY(__cpu_flush_user_tlb_range) ENTRY(__cpu_flush_user_tlb_range)
vma_vm_mm x3, x2 // get vma->vm_mm vma_vm_mm x3, x2 // get vma->vm_mm
mmid x3, x3 // get vm_mm->context.id mmid w3, x3 // get vm_mm->context.id
dsb sy dsb sy
lsr x0, x0, #12 // align address lsr x0, x0, #12 // align address
lsr x1, x1, #12 lsr x1, x1, #12
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment