linux/arch
David Laight 573f45a9f9 x86: fix off-by-one in access_ok()
When the size isn't a small constant, __access_ok() will call
valid_user_address() with the address after the last byte of the user
buffer.

It is valid for a buffer to end with the last valid user address so
valid_user_address() must allow accesses to the base of the guard page.

[ This introduces an off-by-one in the other direction for the plain
  non-sized accesses, but since we have that guard region that is a
  whole page, those checks "allowing" accesses to that guard region
  don't really matter. The access will fault anyway, whether to the
  guard page or if the address has been masked to all ones - Linus ]

Fixes: 86e6b1547b ("x86: fix user address masking non-canonical speculation issue")
Signed-off-by: David Laight <david.laight@aculab.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2024-11-25 12:19:05 -08:00
..
alpha - The series "zram: optimal post-processing target selection" from 2024-11-23 09:58:07 -08:00
arc - The series "zram: optimal post-processing target selection" from 2024-11-23 09:58:07 -08:00
arm - The series "zram: optimal post-processing target selection" from 2024-11-23 09:58:07 -08:00
arm64 The biggest change here is eliminating the awful idea that KVM had, of 2024-11-23 16:00:50 -08:00
csky - The series "zram: optimal post-processing target selection" from 2024-11-23 09:58:07 -08:00
hexagon - The series "zram: optimal post-processing target selection" from 2024-11-23 09:58:07 -08:00
loongarch The biggest change here is eliminating the awful idea that KVM had, of 2024-11-23 16:00:50 -08:00
m68k - The series "zram: optimal post-processing target selection" from 2024-11-23 09:58:07 -08:00
microblaze - The series "zram: optimal post-processing target selection" from 2024-11-23 09:58:07 -08:00
mips The biggest change here is eliminating the awful idea that KVM had, of 2024-11-23 16:00:50 -08:00
nios2 - The series "zram: optimal post-processing target selection" from 2024-11-23 09:58:07 -08:00
openrisc - The series "zram: optimal post-processing target selection" from 2024-11-23 09:58:07 -08:00
parisc - The series "zram: optimal post-processing target selection" from 2024-11-23 09:58:07 -08:00
powerpc The biggest change here is eliminating the awful idea that KVM had, of 2024-11-23 16:00:50 -08:00
riscv The biggest change here is eliminating the awful idea that KVM had, of 2024-11-23 16:00:50 -08:00
s390 The biggest change here is eliminating the awful idea that KVM had, of 2024-11-23 16:00:50 -08:00
sh - The series "zram: optimal post-processing target selection" from 2024-11-23 09:58:07 -08:00
sparc - The series "zram: optimal post-processing target selection" from 2024-11-23 09:58:07 -08:00
um - The series "zram: optimal post-processing target selection" from 2024-11-23 09:58:07 -08:00
x86 x86: fix off-by-one in access_ok() 2024-11-25 12:19:05 -08:00
xtensa - The series "zram: optimal post-processing target selection" from 2024-11-23 09:58:07 -08:00
.gitignore
Kconfig powerpc updates for 6.13 2024-11-23 10:44:31 -08:00