[PATCH] linux: Make tst-mount-consts unsupported for kernels headers older than 5.0

Florian Weimer fweimer@redhat.com
Wed Aug 10 15:01:35 GMT 2022


* Adhemerval Zanella Netto:

> On 10/08/22 06:18, Florian Weimer wrote:
>> * Adhemerval Zanella:
>> 
>>> The linux/mount.h is only provided by Linux 5.0.
>>>
>>> Checked on x86_64-linux-gnu.
>>> ---
>>>  sysdeps/unix/sysv/linux/tst-mount-consts.py | 3 +++
>>>  1 file changed, 3 insertions(+)
>>>
>>> diff --git a/sysdeps/unix/sysv/linux/tst-mount-consts.py b/sysdeps/unix/sysv/linux/tst-mount-consts.py
>>> index 4fb356310b..0f5b982430 100755
>>> --- a/sysdeps/unix/sysv/linux/tst-mount-consts.py
>>> +++ b/sysdeps/unix/sysv/linux/tst-mount-consts.py
>>> @@ -34,6 +34,9 @@ def main():
>>>      args = parser.parse_args()
>>>  
>>>      linux_version_headers = glibcsyscalls.linux_kernel_version(args.cc)
>>> +    # Linux started to provide mount.h with 5.0.
>>> +    if linux_version_headers < (5, 0):
>>> +        sys.exit (77)
>>>      # Constants in glibc were updated to match Linux v5.19.  When glibc
>>>      # constants are updated this value should be updated to match the
>>>      # released kernel version from which the constants were taken.
>> 
>> Should this use compile_c_snippet from the other patch?
>
> It is strategy already used on tst-pidfd-consts.py.  Not sure if syscalls 
> backport to old releases is that common (it seems that we recently had to
> handle it for memfd_secret), but we do not usually take this in consideration
> on the __ASSUME macros and optimizations.

I think <linux/mount.h> has been backported fairly widely because it's
needed by userspace file servers.

On older kernels, you could perhaps use <linux/fs.h> instead.

Thanks,
Florian



More information about the Libc-alpha mailing list