Re: [PATCH RESEND 2/2] x86/mm: Randomize va with generic arch_pick_mmap_layout()
From: Xiongwei Song <hidden>
Date: 2021-09-22 13:28:55
Also in:
lkml
From: Xiongwei Song <hidden>
Date: 2021-09-22 13:28:55
Also in:
lkml
On Sep 21, 2021, at 10:41 PM, Peter Zijlstra [off-list ref] wrote: On Tue, Sep 21, 2021 at 10:34:14PM +0800, sxwjean@me.com wrote:quoted
diff --git a/arch/x86/include/asm/compat.h b/arch/x86/include/asm/compat.h index 7516e4199b3c..c697e377644d 100644 --- a/arch/x86/include/asm/compat.h +++ b/arch/x86/include/asm/compat.h@@ -151,6 +151,11 @@ struct compat_shmid64_ds {compat_ulong_t __unused5; }; +static inline int is_compat_task(void) +{ + return IS_ENABLED(CONFIG_COMPAT) && test_thread_flag(TIF_32BIT); +} +This is still fundamentally broken for x86. x86 doesn't have compat tasks, the granularity is at syscall at best.
Hi Peter, Thank you for pointing this out. I understand now a 64bit task can call a 32bit syscall. Here we should use in_compat_syscall() to check if the kernel is in compat mode, right? Regards, Xiongwei