summaryrefslogtreecommitdiffstats
path: root/arch/powerpc/net
diff options
context:
space:
mode:
authorPaul Mackerras <paulus@ozlabs.org>2018-08-03 20:13:06 +1000
committerMichael Ellerman <mpe@ellerman.id.au>2018-08-08 00:32:36 +1000
commitf8db2007ff5838aff696bd4297eefcc77af2cf46 (patch)
tree708ee74f55b7f9bd29285eb58f0444c5300a5836 /arch/powerpc/net
parent2679f63fe5e4bb1459a0c20859a99c70c15d5ea1 (diff)
downloadlinux-0-day-f8db2007ff5838aff696bd4297eefcc77af2cf46.tar.gz
linux-0-day-f8db2007ff5838aff696bd4297eefcc77af2cf46.tar.xz
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>
Diffstat (limited to 'arch/powerpc/net')
0 files changed, 0 insertions, 0 deletions