linux-hardened/arch/powerpc
Paul Mackerras f8db2007ff powerpc/64: Copy as much as possible in __copy_tofrom_user
In __copy_tofrom_user, if we encounter an exception on a store, we
stop copying and return the number of bytes not copied.  However,
if the store is wider than one byte and is to an unaligned address,
it is possible that the store operand overlaps a page boundary
and the exception occurred on the latter part of the store operand,
meaning that it would be possible to copy a few more bytes.  Since
copy_to_user is generally expected to copy as much as possible,
it would be better to copy those extra few bytes.  This adds code
to do that.  Since this edge case is not performance-critical,
the code has been written to be compact rather than as fast as
possible.

Signed-off-by: Paul Mackerras <paulus@ozlabs.org>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
2018-08-08 00:32:36 +10:00
..
boot powerpc/dts: Use a correct at24 compatible fallback in ac14xx 2018-07-10 10:58:40 +10:00
configs powerpc: Add ppc32_allmodconfig defconfig target 2018-07-24 22:03:15 +10:00
crypto powerpc: move ASM_CONST and stringify_in_c() into asm-const.h 2018-07-30 22:48:16 +10:00
include crypto/nx: Initialize 842 high and normal RxFIFO control registers 2018-08-08 00:32:34 +10:00
kernel powerpc/traps: Show instructions on exceptions 2018-08-08 00:32:30 +10:00
kvm powerpc: remove unnecessary inclusion of asm/tlbflush.h 2018-07-30 22:48:20 +10:00
lib powerpc/64: Copy as much as possible in __copy_tofrom_user 2018-08-08 00:32:36 +10:00
math-emu License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
mm powerpc/64s: Fix page table fragment refcount race vs speculative references 2018-08-08 00:32:32 +10:00
net powerpc: move ASM_CONST and stringify_in_c() into asm-const.h 2018-07-30 22:48:16 +10:00
oprofile treewide: kzalloc() -> kcalloc() 2018-06-12 16:19:22 -07:00
perf powerpc/perf: Remove sched_task function defined for thread-imc 2018-08-08 00:32:32 +10:00
platforms powerpc/powermac: of_node_put() is not needed after iterator 2018-08-08 00:32:34 +10:00
purgatory powerpc: move ASM_CONST and stringify_in_c() into asm-const.h 2018-07-30 22:48:16 +10:00
sysdev powerpc/xive: Remove xive_kexec_teardown_cpu() 2018-08-07 21:49:28 +10:00
tools powerpc: Add a checkpatch wrapper with our preferred settings 2018-08-07 21:49:25 +10:00
xmon powerpc: move ASM_CONST and stringify_in_c() into asm-const.h 2018-07-30 22:48:16 +10:00
Kconfig powerpc/fsl: Add barrier_nospec implementation for NXP PowerPC Book3E 2018-08-08 00:32:24 +10:00
Kconfig.debug powerpc: Add new kconfig CONFIG_PPC_IRQ_SOFT_MASK_DEBUG 2018-01-19 22:37:03 +11:00
Makefile powerpc: Add ppc64le and ppc64_book3e allmodconfig targets 2018-07-24 22:03:16 +10:00
Makefile.postlink License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00