Re: [PATCH] futex: don't leak robust_list pointer on exec race

From: Thomas Gleixner
Date: Wed Jul 30 2025 - 13:17:01 EST


On Wed, Jul 30 2025 at 20:21, Pranav Tyagi wrote:
> On Fri, Jun 13, 2025 at 6:38 PM Thomas Gleixner <tglx@xxxxxxxxxxxxx> wrote:
> I face a small issue while refactoring the common code in a helper.
>
> The main obstacle to a full refactor is that the native and compat
> syscalls use different user-visible types (size_t vs compat_size_t,
> struct robust_list_head * vs compat_uptr_t). Because put_user() is
> type-checked at compile-time, I can’t unify both into one function
> without either unsafe casting or weakening type safety (this is as far
> as I understand).
>
> The best I can do is refactor the common task lookup/permission
> logic into a helper, and leave ABI-specific put_user() calls in thin wrappers.

These are two different SYSCALL() implementations, so they
can deal with the difference sizes of put_user() there.

Thanks,

tglx