Message ID | 20241008184634.245607-4-adhemerval.zanella@linaro.org |
---|---|
State | Accepted |
Commit | 86f06282ccb1b11de7a07fc10f7b77991b7d121a |
Headers | show |
Series | Updates for Linux 6.11 | expand |
On Wed, Oct 9, 2024 at 2:47 AM Adhemerval Zanella <adhemerval.zanella@linaro.org> wrote: > > Linux 6.11 adds some more PIDFD_* constants for 'pidfs: allow retrieval > of namespace file descriptors' > (5b08bd408534bfb3a7cf5778da5b27d4e4fffe12). > > Tested with build-many-glibcs.py. > --- > sysdeps/unix/sysv/linux/sys/pidfd.h | 14 ++++++++++++++ > sysdeps/unix/sysv/linux/tst-pidfd-consts.py | 2 +- > 2 files changed, 15 insertions(+), 1 deletion(-) > > diff --git a/sysdeps/unix/sysv/linux/sys/pidfd.h b/sysdeps/unix/sysv/linux/sys/pidfd.h > index 9f88d297e8..85d976939b 100644 > --- a/sysdeps/unix/sysv/linux/sys/pidfd.h > +++ b/sysdeps/unix/sysv/linux/sys/pidfd.h > @@ -20,6 +20,7 @@ > > #include <fcntl.h> > #include <bits/types/siginfo_t.h> > +#include <sys/ioctl.h> > > #define PIDFD_NONBLOCK O_NONBLOCK > #define PIDFD_THREAD O_EXCL > @@ -28,6 +29,19 @@ > #define PIDFD_SIGNAL_THREAD_GROUP (1UL << 1) > #define PIDFD_SIGNAL_PROCESS_GROUP (1UL << 2) > > +#define PIDFS_IOCTL_MAGIC 0xFF > + > +#define PIDFD_GET_CGROUP_NAMESPACE _IO(PIDFS_IOCTL_MAGIC, 1) > +#define PIDFD_GET_IPC_NAMESPACE _IO(PIDFS_IOCTL_MAGIC, 2) > +#define PIDFD_GET_MNT_NAMESPACE _IO(PIDFS_IOCTL_MAGIC, 3) > +#define PIDFD_GET_NET_NAMESPACE _IO(PIDFS_IOCTL_MAGIC, 4) > +#define PIDFD_GET_PID_NAMESPACE _IO(PIDFS_IOCTL_MAGIC, 5) > +#define PIDFD_GET_PID_FOR_CHILDREN_NAMESPACE _IO(PIDFS_IOCTL_MAGIC, 6) > +#define PIDFD_GET_TIME_NAMESPACE _IO(PIDFS_IOCTL_MAGIC, 7) > +#define PIDFD_GET_TIME_FOR_CHILDREN_NAMESPACE _IO(PIDFS_IOCTL_MAGIC, 8) > +#define PIDFD_GET_USER_NAMESPACE _IO(PIDFS_IOCTL_MAGIC, 9) > +#define PIDFD_GET_UTS_NAMESPACE _IO(PIDFS_IOCTL_MAGIC, 10) > + > /* Returns a file descriptor that refers to the process PID. The > close-on-exec is set on the file descriptor. */ > extern int pidfd_open (__pid_t __pid, unsigned int __flags) __THROW; > diff --git a/sysdeps/unix/sysv/linux/tst-pidfd-consts.py b/sysdeps/unix/sysv/linux/tst-pidfd-consts.py > index 9824fd214d..9d53102cbd 100644 > --- a/sysdeps/unix/sysv/linux/tst-pidfd-consts.py > +++ b/sysdeps/unix/sysv/linux/tst-pidfd-consts.py > @@ -39,7 +39,7 @@ def main(): > sys.exit (77) > > linux_version_headers = glibcsyscalls.linux_kernel_version(args.cc) > - linux_version_glibc = (6, 10) > + linux_version_glibc = (6, 11) > sys.exit(glibcextract.compare_macro_consts( > '#include <sys/pidfd.h>\n', > '#include <asm/fcntl.h>\n' > -- > 2.43.0 > LGTM. Reviewed-by: H.J. Lu <hjl.tools@gmail.com> Thanks.
diff --git a/sysdeps/unix/sysv/linux/sys/pidfd.h b/sysdeps/unix/sysv/linux/sys/pidfd.h index 9f88d297e8..85d976939b 100644 --- a/sysdeps/unix/sysv/linux/sys/pidfd.h +++ b/sysdeps/unix/sysv/linux/sys/pidfd.h @@ -20,6 +20,7 @@ #include <fcntl.h> #include <bits/types/siginfo_t.h> +#include <sys/ioctl.h> #define PIDFD_NONBLOCK O_NONBLOCK #define PIDFD_THREAD O_EXCL @@ -28,6 +29,19 @@ #define PIDFD_SIGNAL_THREAD_GROUP (1UL << 1) #define PIDFD_SIGNAL_PROCESS_GROUP (1UL << 2) +#define PIDFS_IOCTL_MAGIC 0xFF + +#define PIDFD_GET_CGROUP_NAMESPACE _IO(PIDFS_IOCTL_MAGIC, 1) +#define PIDFD_GET_IPC_NAMESPACE _IO(PIDFS_IOCTL_MAGIC, 2) +#define PIDFD_GET_MNT_NAMESPACE _IO(PIDFS_IOCTL_MAGIC, 3) +#define PIDFD_GET_NET_NAMESPACE _IO(PIDFS_IOCTL_MAGIC, 4) +#define PIDFD_GET_PID_NAMESPACE _IO(PIDFS_IOCTL_MAGIC, 5) +#define PIDFD_GET_PID_FOR_CHILDREN_NAMESPACE _IO(PIDFS_IOCTL_MAGIC, 6) +#define PIDFD_GET_TIME_NAMESPACE _IO(PIDFS_IOCTL_MAGIC, 7) +#define PIDFD_GET_TIME_FOR_CHILDREN_NAMESPACE _IO(PIDFS_IOCTL_MAGIC, 8) +#define PIDFD_GET_USER_NAMESPACE _IO(PIDFS_IOCTL_MAGIC, 9) +#define PIDFD_GET_UTS_NAMESPACE _IO(PIDFS_IOCTL_MAGIC, 10) + /* Returns a file descriptor that refers to the process PID. The close-on-exec is set on the file descriptor. */ extern int pidfd_open (__pid_t __pid, unsigned int __flags) __THROW; diff --git a/sysdeps/unix/sysv/linux/tst-pidfd-consts.py b/sysdeps/unix/sysv/linux/tst-pidfd-consts.py index 9824fd214d..9d53102cbd 100644 --- a/sysdeps/unix/sysv/linux/tst-pidfd-consts.py +++ b/sysdeps/unix/sysv/linux/tst-pidfd-consts.py @@ -39,7 +39,7 @@ def main(): sys.exit (77) linux_version_headers = glibcsyscalls.linux_kernel_version(args.cc) - linux_version_glibc = (6, 10) + linux_version_glibc = (6, 11) sys.exit(glibcextract.compare_macro_consts( '#include <sys/pidfd.h>\n', '#include <asm/fcntl.h>\n'