diff options
| author | Greg Kroah-Hartman <gregkh@google.com> | 2017-09-04 13:22:07 +0200 |
|---|---|---|
| committer | Greg Kroah-Hartman <gregkh@google.com> | 2017-09-04 13:22:07 +0200 |
| commit | cff17411c160fced8aaa0a4eb9c0149cf24c91e8 (patch) | |
| tree | aea92a741a71f5feaf132aafdf003d9763ed8bf6 /arch | |
| parent | 0caf1df0c520325c9352149795266709e989b222 (diff) | |
| parent | cd99a4f3f43ba1b88ff0ef01a9d5564fdf824c38 (diff) | |
Merge 4.4.86 into android-4.4
Changes in 4.4.86
scsi: isci: avoid array subscript warning
ALSA: au88x0: Fix zero clear of stream->resources
btrfs: remove duplicate const specifier
i2c: jz4780: drop superfluous init
gcov: add support for gcc version >= 6
gcov: support GCC 7.1
lightnvm: initialize ppa_addr in dev_to_generic_addr()
p54: memset(0) whole array
lpfc: Fix Device discovery failures during switch reboot test.
arm64: mm: abort uaccess retries upon fatal signal
x86/io: Add "memory" clobber to insb/insw/insl/outsb/outsw/outsl
arm64: fpsimd: Prevent registers leaking across exec
scsi: sg: protect accesses to 'reserved' page array
scsi: sg: reset 'res_in_use' after unlinking reserved array
drm/i915: fix compiler warning in drivers/gpu/drm/i915/intel_uncore.c
Linux 4.4.86
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Diffstat (limited to 'arch')
| -rw-r--r-- | arch/arm64/kernel/fpsimd.c | 2 | ||||
| -rw-r--r-- | arch/arm64/mm/fault.c | 5 | ||||
| -rw-r--r-- | arch/x86/include/asm/io.h | 4 |
3 files changed, 8 insertions, 3 deletions
diff --git a/arch/arm64/kernel/fpsimd.c b/arch/arm64/kernel/fpsimd.c index acc1afd5c749..f995dae1c8fd 100644 --- a/arch/arm64/kernel/fpsimd.c +++ b/arch/arm64/kernel/fpsimd.c @@ -157,9 +157,11 @@ void fpsimd_thread_switch(struct task_struct *next) void fpsimd_flush_thread(void) { + preempt_disable(); memset(¤t->thread.fpsimd_state, 0, sizeof(struct fpsimd_state)); fpsimd_flush_task_state(current); set_thread_flag(TIF_FOREIGN_FPSTATE); + preempt_enable(); } /* diff --git a/arch/arm64/mm/fault.c b/arch/arm64/mm/fault.c index 253bdf2cfe0f..f243132b426c 100644 --- a/arch/arm64/mm/fault.c +++ b/arch/arm64/mm/fault.c @@ -342,8 +342,11 @@ retry: * signal first. We do not need to release the mmap_sem because it * would already be released in __lock_page_or_retry in mm/filemap.c. */ - if ((fault & VM_FAULT_RETRY) && fatal_signal_pending(current)) + if ((fault & VM_FAULT_RETRY) && fatal_signal_pending(current)) { + if (!user_mode(regs)) + goto no_context; return 0; + } /* * Major/minor page fault accounting is only done on the initial diff --git a/arch/x86/include/asm/io.h b/arch/x86/include/asm/io.h index de25aad07853..9016b4b70375 100644 --- a/arch/x86/include/asm/io.h +++ b/arch/x86/include/asm/io.h @@ -304,13 +304,13 @@ static inline unsigned type in##bwl##_p(int port) \ static inline void outs##bwl(int port, const void *addr, unsigned long count) \ { \ asm volatile("rep; outs" #bwl \ - : "+S"(addr), "+c"(count) : "d"(port)); \ + : "+S"(addr), "+c"(count) : "d"(port) : "memory"); \ } \ \ static inline void ins##bwl(int port, void *addr, unsigned long count) \ { \ asm volatile("rep; ins" #bwl \ - : "+D"(addr), "+c"(count) : "d"(port)); \ + : "+D"(addr), "+c"(count) : "d"(port) : "memory"); \ } BUILDIO(b, b, char) |
