Re: [PATCHv7 00/16] x86: Enable Linear Address Space Separation support

From: Vegard Nossum
Date: Thu Jun 26 2025 - 09:17:30 EST



On 26/06/2025 14:47, Kirill A. Shutemov wrote:
On Thu, Jun 26, 2025 at 11:35:21AM +0200, Vegard Nossum wrote:
On 26/06/2025 11:22, Vegard Nossum wrote:
On 25/06/2025 14:50, Kirill A. Shutemov wrote:
Linear Address Space Separation (LASS) is a security feature that
intends to
prevent malicious virtual address space accesses across user/kernel mode.

I applied these patches on top of tip/master and when I try to boot it
fails with errno 12 (ENOMEM - Cannot allocate memory):

[    1.517526] Kernel panic - not syncing: Requested init /bin/bash
failed (error -12).

For some reason, I failed to reproduce it. What is your toolchain?

$ gcc --version
gcc (GCC) 11.4.1 20230605 (Red Hat 11.4.1-2.1.0.1)

I tried to diff vmlinux with and without the clobber change and I see a
bunch of changed functions, the first one I looked at is calling
put_user() -- I guess anything could be affected, really.

@@ -28,7 +28,7 @@ static __always_inline void *__inline_memcpy(void *to,
const void *from, size_t
"2:\n\t"
_ASM_EXTABLE_UA(1b, 2b)
:"+c" (len), "+D" (to), "+S" (from),
ASM_CALL_CONSTRAINT
- : : "memory", _ASM_AX);
+ : : "memory", _ASM_AX, _ASM_DX);

return ret + len;
}

This part is not needed. rep_movs_alternative() doesn't touch RDX.

True, I didn't look closely enough...

I will fold the patch below.

Thanks,


Vegard