Add SCM_SECURITY, SCM_PIDFD to bits/socket.h
Checks
Context |
Check |
Description |
redhat-pt-bot/TryBot-apply_patch |
success
|
Patch applied to master at the time it was sent
|
redhat-pt-bot/TryBot-32bit |
success
|
Build for i686
|
linaro-tcwg-bot/tcwg_glibc_build--master-arm |
warning
|
Patch is already merged
|
linaro-tcwg-bot/tcwg_glibc_check--master-arm |
warning
|
Patch is already merged
|
linaro-tcwg-bot/tcwg_glibc_build--master-aarch64 |
warning
|
Patch is already merged
|
linaro-tcwg-bot/tcwg_glibc_check--master-aarch64 |
warning
|
Patch is already merged
|
Commit Message
Linux 6.5 adds a constant SCM_PIDFD (recall that the non-uapi
linux/socket.h, where this constant is added, is in fact a header
providing many constants that are part of the kernel/userspace
interface). This shows up that SCM_SECURITY, from the same set of
definitions and added in Linux 2.6.17, is also missing from glibc,
although glibc has the first two constants from this set, SCM_RIGHTS
and SCM_CREDENTIALS; add both missing constants to glibc.
Tested for x86_64.
Comments
* Joseph Myers:
> Linux 6.5 adds a constant SCM_PIDFD (recall that the non-uapi
> linux/socket.h, where this constant is added, is in fact a header
> providing many constants that are part of the kernel/userspace
> interface). This shows up that SCM_SECURITY, from the same set of
> definitions and added in Linux 2.6.17, is also missing from glibc,
> although glibc has the first two constants from this set, SCM_RIGHTS
> and SCM_CREDENTIALS; add both missing constants to glibc.
>
> Tested for x86_64.
>
> diff --git a/sysdeps/unix/sysv/linux/bits/socket.h b/sysdeps/unix/sysv/linux/bits/socket.h
> index 57b05715be..c19814c5cf 100644
> --- a/sysdeps/unix/sysv/linux/bits/socket.h
> +++ b/sysdeps/unix/sysv/linux/bits/socket.h
> @@ -367,6 +367,10 @@ enum
> #ifdef __USE_GNU
> , SCM_CREDENTIALS = 0x02 /* Credentials passing. */
> # define SCM_CREDENTIALS SCM_CREDENTIALS
> + , SCM_SECURITY = 0x03 /* Security label. */
> +# define SCM_SECURITY SCM_SECURITY
> + , SCM_PIDFD = 0x04 /* Pidfd. */
> +# define SCM_PIDFD SCM_PIDFD
> #endif
> };
Looks good, thanks. It's tested in tools/ in the kernel tree, so it
seems this is part of UAPI despite not being defined/declared in
include/uapi/.
@@ -367,6 +367,10 @@ enum
#ifdef __USE_GNU
, SCM_CREDENTIALS = 0x02 /* Credentials passing. */
# define SCM_CREDENTIALS SCM_CREDENTIALS
+ , SCM_SECURITY = 0x03 /* Security label. */
+# define SCM_SECURITY SCM_SECURITY
+ , SCM_PIDFD = 0x04 /* Pidfd. */
+# define SCM_PIDFD SCM_PIDFD
#endif
};