public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH] x86: Allow user accesses to the base of the guard page
@ 2024-11-23 18:48 David Laight
  2024-11-23 19:02 ` Linus Torvalds
  0 siblings, 1 reply; 8+ messages in thread
From: David Laight @ 2024-11-23 18:48 UTC (permalink / raw)
  To: 'Linus Torvalds', Andrew Cooper, bp@alien8.de,
	Josh Poimboeuf
  Cc: x86@kernel.org, linux-kernel@vger.kernel.org,
	'Arnd Bergmann', 'Mikel Rychliski',
	'Thomas Gleixner', 'Ingo Molnar',
	'Borislav Petkov', 'Dave Hansen',
	'H. Peter Anvin'

A user buffer can validly end with the last valid user address.
In that case access_ok(ptr, size) will check that 'ptr + size'
is a valid user address - and it needs to succeed.
access_ok() can't decrement the length because access_ok(ptr, 0)
also has to be valid.
Any actual access will fault.

Fixes: 86e6b1547b3d0 ("x86: fix user address masking non-canonical speculation issue")
Signed-off-by: David Laight <david.laight@aculab.com>
---
 arch/x86/kernel/cpu/common.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/arch/x86/kernel/cpu/common.c b/arch/x86/kernel/cpu/common.c
index 06a516f6795b..ca327cfa42ae 100644
--- a/arch/x86/kernel/cpu/common.c
+++ b/arch/x86/kernel/cpu/common.c
@@ -2389,12 +2389,12 @@ void __init arch_cpu_finalize_init(void)
 	alternative_instructions();
 
 	if (IS_ENABLED(CONFIG_X86_64)) {
-		unsigned long USER_PTR_MAX = TASK_SIZE_MAX-1;
+		unsigned long USER_PTR_MAX = TASK_SIZE_MAX;
 
 		/*
 		 * Enable this when LAM is gated on LASS support
 		if (cpu_feature_enabled(X86_FEATURE_LAM))
-			USER_PTR_MAX = (1ul << 63) - PAGE_SIZE - 1;
+			USER_PTR_MAX = (1ul << 63) - PAGE_SIZE;
 		 */
 		runtime_const_init(ptr, USER_PTR_MAX);
 
-- 
2.17.1

-
Registered Address Lakeside, Bramley Road, Mount Farm, Milton Keynes, MK1 1PT, UK
Registration No: 1397386 (Wales)


^ permalink raw reply related	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2024-11-24 10:28 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-11-23 18:48 [PATCH] x86: Allow user accesses to the base of the guard page David Laight
2024-11-23 19:02 ` Linus Torvalds
2024-11-23 22:36   ` David Laight
2024-11-23 23:44     ` Linus Torvalds
2024-11-24  0:24       ` Mikel Rychliski
2024-11-24  0:30         ` Linus Torvalds
2024-11-24  3:10           ` Mikel Rychliski
2024-11-24 10:28       ` David Laight

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox