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

Pranav Tyagi
2025-08-04T07:01:30Z

On Wed, Jul 30, 2025 at 10:46 PM Thomas Gleixner <tglx@linutronix.de> wrote:
>
> On Wed, Jul 30 2025 at 20:21, Pranav Tyagi wrote:
> > On Fri, Jun 13, 2025 at 6:38 PM Thomas Gleixner <tglx@linutronix.de> 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

Thanks for the suggestion, that clears things up.

Regards
Pranav Tyagi