Re: [patch V4 12/14] x86/vdso: Implement __vdso_futex_robust_try_unlock()

From: Thomas Gleixner

Date: Thu May 07 2026 - 13:01:32 EST


On Thu, May 07 2026 at 11:48, Thomas Weißschuh wrote:
> On 2026-05-07 11:29:01+0200, Thomas Gleixner wrote:
>> On Wed, Apr 29 2026 at 10:44, Thomas Weißschuh wrote:
>> > On 2026-04-02 17:22:00+0200, Thomas Gleixner wrote:
>> > (...)
>> >
>> >> + * When CONFIG_COMPAT is enabled then the 64-bit VDSO provides two functions.
>> >> + * One for the regular 64-bit sized pending operation pointer and one for a
>> >> + * 32-bit sized pointer to support gaming emulators.
>> >
>> > These gaming emulators can emulate 32-bit code on 64-bit kernels even
>> > without CONFIG_COMPAT. At least this is how I understand Wine WoW64 and
>> > FEX-Emu. And in that case the 32-bit sized pointer function should be
>> > available unconditionally, without the dependency on CONFIG_COMPAT.
>>
>> That might well be, but that requires also the ability to register a
>> 32-bit robust list for a 64-bit process, which is not supported right
>> now.
>>
>> So no, we are not exposing something half functional just because. That
>> needs to be mopped up once we add the multi-robust list stuff.
>
> Fair enough. But this is also true for the 32-bit functions in the
> x86_64 and x32 vDSOs when CONFIG_COMPAT=y, no?

When compat is enabled, then a 64-bit application can register a compat
robust list via int80. Magic :)