On 8/18/26 15:29, Lorenzo Stoakes (ARM) wrote:
> On Tue, Aug 18, 2026 at 03:11:50PM +0200, David Hildenbrand (Arm) wrote:
>> On 8/18/26 13:49, Hemanth Selam wrote:
>>> pkey-helpers.h defines PKEY_UNRESTRICTED itself when the macro is not
>>> already known, a stopgap from when the generic definition was still
>>> under review. It has been merged since, commit 6d61527d931b ("mm/pkey:
>>> Add PKEY_UNRESTRICTED macro"), and pkey-helpers.h already includes
>>> <linux/mman.h>, so the guard is never taken. Honour the FIXME and drop
>>> it.
>>>
>>> The mm selftests build against the headers of the kernel source, see
>>> Documentation/dev-tools/kselftest.rst. Building them without "make
>
> This is incorrect. We explicitly do not have this requirement in mm selftests,
> and they're often built without having to do this step and tooling has been
> provided _explicitly_ to allow for that, which is why this kind of thing
> exists
> right now.
>
>>> headers", against system headers predating the macro, now fails to
>>> compile instead of quietly falling back.
>>>
>>> No functional change intended.
>>>
>>> Signed-off-by: Hemanth Selam <[email protected]>
>>> ---
>>> tools/testing/selftests/mm/pkey-helpers.h | 7 -------
>>> 1 file changed, 7 deletions(-)
>>>
>>> diff --git a/tools/testing/selftests/mm/pkey-helpers.h
>>> b/tools/testing/selftests/mm/pkey-helpers.h
>>> index 2c377f4e9df1..626c2e1655dc 100644
>>> --- a/tools/testing/selftests/mm/pkey-helpers.h
>>> +++ b/tools/testing/selftests/mm/pkey-helpers.h
>>> @@ -112,13 +112,6 @@ void record_pkey_malloc(void *ptr, long size, int
>>> prot);
>>> #define PKEY_MASK (PKEY_DISABLE_ACCESS | PKEY_DISABLE_WRITE)
>>> #endif
>>>
>>> -/*
>>> - * FIXME: Remove once the generic PKEY_UNRESTRICTED definition is merged.
>>> - */
>>> -#ifndef PKEY_UNRESTRICTED
>>> -#define PKEY_UNRESTRICTED 0x0
>>> -#endif
>>> -
>>> #ifndef set_pkey_bits
>>> static inline u64 set_pkey_bits(u64 reg, int pkey, u64 flags)
>>> {
>>
>> tools/include/uapi/asm-generic/mman-common.h:#define PKEY_UNRESTRICTED 0x0
>>
>> So that looks good.
>>
>> But we seem to have the same ifdef also in
>> tools/testing/selftests/powerpc/include/pkeys.h.
>>
>> So likely that should be removed as well (after making sure that it
>> compiles?)
>
> It will break people right now :) it might compile on one system but not
> another.
I thought once we have stuff in tools/include/uapi/asm-generic/ headers that it
should work?
The dependency on "make headers" was the problematic bit IIUC.
But this stuff is always confusing me ...
--
Cheers,
David