aboutsummaryrefslogtreecommitdiff
path: root/lib/mpi/mpi-sub-ui.c
diff options
context:
space:
mode:
authorPaul Burton <[email protected]>2019-02-09 19:47:36 +0000
committerThomas Bogendoerfer <[email protected]>2021-04-13 14:28:19 +0200
commit168b84d5d2c07ae6c96ea40a7f420b5b525defa0 (patch)
tree23ad853364ae834431aa88c347b21944a3be4b6b /lib/mpi/mpi-sub-ui.c
parentdbd815c0dccadffbee5c9780308858fd07669ce2 (diff)
MIPS: Fix access_ok() for the last byte of user space
The MIPS implementation of access_ok() incorrectly reports that access to the final byte of user memory is not OK, much as the alpha & SH versions did prior to commit 94bd8a05cd4d ("Fix 'acccess_ok()' on alpha and SH"). For example on a MIPS64 system with __UA_LIMIT == 0xffff000000000000 we incorrectly fail in the following cases: access_ok(0xffffffffffff, 0x1) = 0 access_ok(0xfffffffffffe, 0x2) = 0 Fix MIPS in the same way as alpha & SH, by subtracting one from the addr + size condition when size is non-zero. With this the access_ok() calls above return 1 indicating that the access may be valid. The cost of the improved check is pretty minimal - we gain 2410 bytes, or 0.03%, in kernel code size for a 64r6el_defconfig kernel built using GCC 8.1.0. Signed-off-by: Paul Burton <[email protected]> Reported-by: Linus Torvalds <[email protected]> Reviewed-by: Philippe Mathieu-Daudé <[email protected]> Signed-off-by: Thomas Bogendoerfer <[email protected]>
Diffstat (limited to 'lib/mpi/mpi-sub-ui.c')
0 files changed, 0 insertions, 0 deletions