mirror of
https://sourceware.org/git/glibc.git
synced 2024-11-21 20:40:05 +00:00
linux: Add pidfd_open
This was added on Linux 5.3 (32fcb426ec001cb6d5a4a195091a8486ea77e2df) as a way to retrieve a pid file descriptors for process that has not been created CLONE_PIDFD (by usual fork/clone). Reviewed-by: Carlos O'Donell <carlos@redhat.com> Tested-by: Carlos O'Donell <carlos@redhat.com>
This commit is contained in:
parent
1da064c015
commit
97f5d19c45
4
NEWS
4
NEWS
@ -16,6 +16,10 @@ Major new features:
|
|||||||
-z pack-relative-relocs option, which is supported for some targets
|
-z pack-relative-relocs option, which is supported for some targets
|
||||||
in recent binutils versions. Lazy binding doesn't apply to DT_RELR.
|
in recent binutils versions. Lazy binding doesn't apply to DT_RELR.
|
||||||
|
|
||||||
|
* On Linux, the pidfd_open function has been added. The pidfd functionality
|
||||||
|
provides access to a process while avoiding the issue of PID reuse on
|
||||||
|
tranditional Unix systems.
|
||||||
|
|
||||||
Deprecated and removed features, and other changes affecting compatibility:
|
Deprecated and removed features, and other changes affecting compatibility:
|
||||||
|
|
||||||
* Support for prelink will be removed in the next release; this includes
|
* Support for prelink will be removed in the next release; this includes
|
||||||
|
@ -113,7 +113,8 @@ sysdep_headers += sys/mount.h sys/acct.h \
|
|||||||
bits/types/struct_shmid64_ds.h \
|
bits/types/struct_shmid64_ds.h \
|
||||||
bits/types/struct_shmid64_ds_helper.h \
|
bits/types/struct_shmid64_ds_helper.h \
|
||||||
bits/pthread_stack_min.h bits/pthread_stack_min-dynamic.h \
|
bits/pthread_stack_min.h bits/pthread_stack_min-dynamic.h \
|
||||||
sys/rseq.h bits/rseq.h
|
sys/rseq.h bits/rseq.h \
|
||||||
|
sys/pidfd.h
|
||||||
|
|
||||||
tests += tst-clone tst-clone2 tst-clone3 tst-fanotify tst-personality \
|
tests += tst-clone tst-clone2 tst-clone3 tst-fanotify tst-personality \
|
||||||
tst-quota tst-sync_file_range tst-sysconf-iov_max tst-ttyname \
|
tst-quota tst-sync_file_range tst-sysconf-iov_max tst-ttyname \
|
||||||
@ -240,6 +241,14 @@ $(objpfx)tst-mman-consts.out: ../sysdeps/unix/sysv/linux/tst-mman-consts.py
|
|||||||
< /dev/null > $@ 2>&1; $(evaluate-test)
|
< /dev/null > $@ 2>&1; $(evaluate-test)
|
||||||
$(objpfx)tst-mman-consts.out: $(sysdeps-linux-python-deps)
|
$(objpfx)tst-mman-consts.out: $(sysdeps-linux-python-deps)
|
||||||
|
|
||||||
|
tests-special += $(objpfx)tst-pidfd-consts.out
|
||||||
|
$(objpfx)tst-pidfd-consts.out: ../sysdeps/unix/sysv/linux/tst-pidfd-consts.py
|
||||||
|
$(sysdeps-linux-python) \
|
||||||
|
../sysdeps/unix/sysv/linux/tst-pidfd-consts.py \
|
||||||
|
$(sysdeps-linux-python-cc) \
|
||||||
|
< /dev/null > $@ 2>&1; $(evaluate-test)
|
||||||
|
$(objpfx)tst-pidfd-consts.out: $(sysdeps-linux-python-deps)
|
||||||
|
|
||||||
tst-rseq-disable-ENV = GLIBC_TUNABLES=glibc.pthread.rseq=0
|
tst-rseq-disable-ENV = GLIBC_TUNABLES=glibc.pthread.rseq=0
|
||||||
|
|
||||||
endif # $(subdir) == misc
|
endif # $(subdir) == misc
|
||||||
|
@ -299,6 +299,9 @@ libc {
|
|||||||
%endif
|
%endif
|
||||||
epoll_pwait2;
|
epoll_pwait2;
|
||||||
}
|
}
|
||||||
|
GLIBC_2.36 {
|
||||||
|
pidfd_open;
|
||||||
|
}
|
||||||
GLIBC_PRIVATE {
|
GLIBC_PRIVATE {
|
||||||
# functions used in other libraries
|
# functions used in other libraries
|
||||||
__syscall_rt_sigqueueinfo;
|
__syscall_rt_sigqueueinfo;
|
||||||
|
@ -2616,3 +2616,4 @@ GLIBC_2.35 __memcmpeq F
|
|||||||
GLIBC_2.35 _dl_find_object F
|
GLIBC_2.35 _dl_find_object F
|
||||||
GLIBC_2.35 epoll_pwait2 F
|
GLIBC_2.35 epoll_pwait2 F
|
||||||
GLIBC_2.35 posix_spawn_file_actions_addtcsetpgrp_np F
|
GLIBC_2.35 posix_spawn_file_actions_addtcsetpgrp_np F
|
||||||
|
GLIBC_2.36 pidfd_open F
|
||||||
|
@ -2713,6 +2713,7 @@ GLIBC_2.35 __memcmpeq F
|
|||||||
GLIBC_2.35 _dl_find_object F
|
GLIBC_2.35 _dl_find_object F
|
||||||
GLIBC_2.35 epoll_pwait2 F
|
GLIBC_2.35 epoll_pwait2 F
|
||||||
GLIBC_2.35 posix_spawn_file_actions_addtcsetpgrp_np F
|
GLIBC_2.35 posix_spawn_file_actions_addtcsetpgrp_np F
|
||||||
|
GLIBC_2.36 pidfd_open F
|
||||||
GLIBC_2.4 _IO_fprintf F
|
GLIBC_2.4 _IO_fprintf F
|
||||||
GLIBC_2.4 _IO_printf F
|
GLIBC_2.4 _IO_printf F
|
||||||
GLIBC_2.4 _IO_sprintf F
|
GLIBC_2.4 _IO_sprintf F
|
||||||
|
@ -2377,3 +2377,4 @@ GLIBC_2.35 __memcmpeq F
|
|||||||
GLIBC_2.35 _dl_find_object F
|
GLIBC_2.35 _dl_find_object F
|
||||||
GLIBC_2.35 epoll_pwait2 F
|
GLIBC_2.35 epoll_pwait2 F
|
||||||
GLIBC_2.35 posix_spawn_file_actions_addtcsetpgrp_np F
|
GLIBC_2.35 posix_spawn_file_actions_addtcsetpgrp_np F
|
||||||
|
GLIBC_2.36 pidfd_open F
|
||||||
|
@ -496,6 +496,7 @@ GLIBC_2.35 __memcmpeq F
|
|||||||
GLIBC_2.35 _dl_find_object F
|
GLIBC_2.35 _dl_find_object F
|
||||||
GLIBC_2.35 epoll_pwait2 F
|
GLIBC_2.35 epoll_pwait2 F
|
||||||
GLIBC_2.35 posix_spawn_file_actions_addtcsetpgrp_np F
|
GLIBC_2.35 posix_spawn_file_actions_addtcsetpgrp_np F
|
||||||
|
GLIBC_2.36 pidfd_open F
|
||||||
GLIBC_2.4 _Exit F
|
GLIBC_2.4 _Exit F
|
||||||
GLIBC_2.4 _IO_2_1_stderr_ D 0xa0
|
GLIBC_2.4 _IO_2_1_stderr_ D 0xa0
|
||||||
GLIBC_2.4 _IO_2_1_stdin_ D 0xa0
|
GLIBC_2.4 _IO_2_1_stdin_ D 0xa0
|
||||||
|
@ -493,6 +493,7 @@ GLIBC_2.35 __memcmpeq F
|
|||||||
GLIBC_2.35 _dl_find_object F
|
GLIBC_2.35 _dl_find_object F
|
||||||
GLIBC_2.35 epoll_pwait2 F
|
GLIBC_2.35 epoll_pwait2 F
|
||||||
GLIBC_2.35 posix_spawn_file_actions_addtcsetpgrp_np F
|
GLIBC_2.35 posix_spawn_file_actions_addtcsetpgrp_np F
|
||||||
|
GLIBC_2.36 pidfd_open F
|
||||||
GLIBC_2.4 _Exit F
|
GLIBC_2.4 _Exit F
|
||||||
GLIBC_2.4 _IO_2_1_stderr_ D 0xa0
|
GLIBC_2.4 _IO_2_1_stderr_ D 0xa0
|
||||||
GLIBC_2.4 _IO_2_1_stdin_ D 0xa0
|
GLIBC_2.4 _IO_2_1_stdin_ D 0xa0
|
||||||
|
@ -2652,3 +2652,4 @@ GLIBC_2.35 __memcmpeq F
|
|||||||
GLIBC_2.35 _dl_find_object F
|
GLIBC_2.35 _dl_find_object F
|
||||||
GLIBC_2.35 epoll_pwait2 F
|
GLIBC_2.35 epoll_pwait2 F
|
||||||
GLIBC_2.35 posix_spawn_file_actions_addtcsetpgrp_np F
|
GLIBC_2.35 posix_spawn_file_actions_addtcsetpgrp_np F
|
||||||
|
GLIBC_2.36 pidfd_open F
|
||||||
|
@ -2601,6 +2601,7 @@ GLIBC_2.35 __memcmpeq F
|
|||||||
GLIBC_2.35 _dl_find_object F
|
GLIBC_2.35 _dl_find_object F
|
||||||
GLIBC_2.35 epoll_pwait2 F
|
GLIBC_2.35 epoll_pwait2 F
|
||||||
GLIBC_2.35 posix_spawn_file_actions_addtcsetpgrp_np F
|
GLIBC_2.35 posix_spawn_file_actions_addtcsetpgrp_np F
|
||||||
|
GLIBC_2.36 pidfd_open F
|
||||||
GLIBC_2.4 __confstr_chk F
|
GLIBC_2.4 __confstr_chk F
|
||||||
GLIBC_2.4 __fgets_chk F
|
GLIBC_2.4 __fgets_chk F
|
||||||
GLIBC_2.4 __fgets_unlocked_chk F
|
GLIBC_2.4 __fgets_unlocked_chk F
|
||||||
|
@ -2785,6 +2785,7 @@ GLIBC_2.35 __memcmpeq F
|
|||||||
GLIBC_2.35 _dl_find_object F
|
GLIBC_2.35 _dl_find_object F
|
||||||
GLIBC_2.35 epoll_pwait2 F
|
GLIBC_2.35 epoll_pwait2 F
|
||||||
GLIBC_2.35 posix_spawn_file_actions_addtcsetpgrp_np F
|
GLIBC_2.35 posix_spawn_file_actions_addtcsetpgrp_np F
|
||||||
|
GLIBC_2.36 pidfd_open F
|
||||||
GLIBC_2.4 __confstr_chk F
|
GLIBC_2.4 __confstr_chk F
|
||||||
GLIBC_2.4 __fgets_chk F
|
GLIBC_2.4 __fgets_chk F
|
||||||
GLIBC_2.4 __fgets_unlocked_chk F
|
GLIBC_2.4 __fgets_unlocked_chk F
|
||||||
|
@ -2551,6 +2551,7 @@ GLIBC_2.35 __memcmpeq F
|
|||||||
GLIBC_2.35 _dl_find_object F
|
GLIBC_2.35 _dl_find_object F
|
||||||
GLIBC_2.35 epoll_pwait2 F
|
GLIBC_2.35 epoll_pwait2 F
|
||||||
GLIBC_2.35 posix_spawn_file_actions_addtcsetpgrp_np F
|
GLIBC_2.35 posix_spawn_file_actions_addtcsetpgrp_np F
|
||||||
|
GLIBC_2.36 pidfd_open F
|
||||||
GLIBC_2.4 __confstr_chk F
|
GLIBC_2.4 __confstr_chk F
|
||||||
GLIBC_2.4 __fgets_chk F
|
GLIBC_2.4 __fgets_chk F
|
||||||
GLIBC_2.4 __fgets_unlocked_chk F
|
GLIBC_2.4 __fgets_unlocked_chk F
|
||||||
|
@ -497,6 +497,7 @@ GLIBC_2.35 __memcmpeq F
|
|||||||
GLIBC_2.35 _dl_find_object F
|
GLIBC_2.35 _dl_find_object F
|
||||||
GLIBC_2.35 epoll_pwait2 F
|
GLIBC_2.35 epoll_pwait2 F
|
||||||
GLIBC_2.35 posix_spawn_file_actions_addtcsetpgrp_np F
|
GLIBC_2.35 posix_spawn_file_actions_addtcsetpgrp_np F
|
||||||
|
GLIBC_2.36 pidfd_open F
|
||||||
GLIBC_2.4 _Exit F
|
GLIBC_2.4 _Exit F
|
||||||
GLIBC_2.4 _IO_2_1_stderr_ D 0x98
|
GLIBC_2.4 _IO_2_1_stderr_ D 0x98
|
||||||
GLIBC_2.4 _IO_2_1_stdin_ D 0x98
|
GLIBC_2.4 _IO_2_1_stdin_ D 0x98
|
||||||
|
@ -2728,6 +2728,7 @@ GLIBC_2.35 __memcmpeq F
|
|||||||
GLIBC_2.35 _dl_find_object F
|
GLIBC_2.35 _dl_find_object F
|
||||||
GLIBC_2.35 epoll_pwait2 F
|
GLIBC_2.35 epoll_pwait2 F
|
||||||
GLIBC_2.35 posix_spawn_file_actions_addtcsetpgrp_np F
|
GLIBC_2.35 posix_spawn_file_actions_addtcsetpgrp_np F
|
||||||
|
GLIBC_2.36 pidfd_open F
|
||||||
GLIBC_2.4 __confstr_chk F
|
GLIBC_2.4 __confstr_chk F
|
||||||
GLIBC_2.4 __fgets_chk F
|
GLIBC_2.4 __fgets_chk F
|
||||||
GLIBC_2.4 __fgets_unlocked_chk F
|
GLIBC_2.4 __fgets_unlocked_chk F
|
||||||
|
@ -2701,3 +2701,4 @@ GLIBC_2.35 __memcmpeq F
|
|||||||
GLIBC_2.35 _dl_find_object F
|
GLIBC_2.35 _dl_find_object F
|
||||||
GLIBC_2.35 epoll_pwait2 F
|
GLIBC_2.35 epoll_pwait2 F
|
||||||
GLIBC_2.35 posix_spawn_file_actions_addtcsetpgrp_np F
|
GLIBC_2.35 posix_spawn_file_actions_addtcsetpgrp_np F
|
||||||
|
GLIBC_2.36 pidfd_open F
|
||||||
|
@ -2698,3 +2698,4 @@ GLIBC_2.35 __memcmpeq F
|
|||||||
GLIBC_2.35 _dl_find_object F
|
GLIBC_2.35 _dl_find_object F
|
||||||
GLIBC_2.35 epoll_pwait2 F
|
GLIBC_2.35 epoll_pwait2 F
|
||||||
GLIBC_2.35 posix_spawn_file_actions_addtcsetpgrp_np F
|
GLIBC_2.35 posix_spawn_file_actions_addtcsetpgrp_np F
|
||||||
|
GLIBC_2.36 pidfd_open F
|
||||||
|
@ -2693,6 +2693,7 @@ GLIBC_2.35 __memcmpeq F
|
|||||||
GLIBC_2.35 _dl_find_object F
|
GLIBC_2.35 _dl_find_object F
|
||||||
GLIBC_2.35 epoll_pwait2 F
|
GLIBC_2.35 epoll_pwait2 F
|
||||||
GLIBC_2.35 posix_spawn_file_actions_addtcsetpgrp_np F
|
GLIBC_2.35 posix_spawn_file_actions_addtcsetpgrp_np F
|
||||||
|
GLIBC_2.36 pidfd_open F
|
||||||
GLIBC_2.4 __confstr_chk F
|
GLIBC_2.4 __confstr_chk F
|
||||||
GLIBC_2.4 __fgets_chk F
|
GLIBC_2.4 __fgets_chk F
|
||||||
GLIBC_2.4 __fgets_unlocked_chk F
|
GLIBC_2.4 __fgets_unlocked_chk F
|
||||||
|
@ -2691,6 +2691,7 @@ GLIBC_2.35 __memcmpeq F
|
|||||||
GLIBC_2.35 _dl_find_object F
|
GLIBC_2.35 _dl_find_object F
|
||||||
GLIBC_2.35 epoll_pwait2 F
|
GLIBC_2.35 epoll_pwait2 F
|
||||||
GLIBC_2.35 posix_spawn_file_actions_addtcsetpgrp_np F
|
GLIBC_2.35 posix_spawn_file_actions_addtcsetpgrp_np F
|
||||||
|
GLIBC_2.36 pidfd_open F
|
||||||
GLIBC_2.4 __confstr_chk F
|
GLIBC_2.4 __confstr_chk F
|
||||||
GLIBC_2.4 __fgets_chk F
|
GLIBC_2.4 __fgets_chk F
|
||||||
GLIBC_2.4 __fgets_unlocked_chk F
|
GLIBC_2.4 __fgets_unlocked_chk F
|
||||||
|
@ -2699,6 +2699,7 @@ GLIBC_2.35 __memcmpeq F
|
|||||||
GLIBC_2.35 _dl_find_object F
|
GLIBC_2.35 _dl_find_object F
|
||||||
GLIBC_2.35 epoll_pwait2 F
|
GLIBC_2.35 epoll_pwait2 F
|
||||||
GLIBC_2.35 posix_spawn_file_actions_addtcsetpgrp_np F
|
GLIBC_2.35 posix_spawn_file_actions_addtcsetpgrp_np F
|
||||||
|
GLIBC_2.36 pidfd_open F
|
||||||
GLIBC_2.4 __confstr_chk F
|
GLIBC_2.4 __confstr_chk F
|
||||||
GLIBC_2.4 __fgets_chk F
|
GLIBC_2.4 __fgets_chk F
|
||||||
GLIBC_2.4 __fgets_unlocked_chk F
|
GLIBC_2.4 __fgets_unlocked_chk F
|
||||||
|
@ -2602,6 +2602,7 @@ GLIBC_2.35 __memcmpeq F
|
|||||||
GLIBC_2.35 _dl_find_object F
|
GLIBC_2.35 _dl_find_object F
|
||||||
GLIBC_2.35 epoll_pwait2 F
|
GLIBC_2.35 epoll_pwait2 F
|
||||||
GLIBC_2.35 posix_spawn_file_actions_addtcsetpgrp_np F
|
GLIBC_2.35 posix_spawn_file_actions_addtcsetpgrp_np F
|
||||||
|
GLIBC_2.36 pidfd_open F
|
||||||
GLIBC_2.4 __confstr_chk F
|
GLIBC_2.4 __confstr_chk F
|
||||||
GLIBC_2.4 __fgets_chk F
|
GLIBC_2.4 __fgets_chk F
|
||||||
GLIBC_2.4 __fgets_unlocked_chk F
|
GLIBC_2.4 __fgets_unlocked_chk F
|
||||||
|
@ -2740,3 +2740,4 @@ GLIBC_2.35 __memcmpeq F
|
|||||||
GLIBC_2.35 _dl_find_object F
|
GLIBC_2.35 _dl_find_object F
|
||||||
GLIBC_2.35 epoll_pwait2 F
|
GLIBC_2.35 epoll_pwait2 F
|
||||||
GLIBC_2.35 posix_spawn_file_actions_addtcsetpgrp_np F
|
GLIBC_2.35 posix_spawn_file_actions_addtcsetpgrp_np F
|
||||||
|
GLIBC_2.36 pidfd_open F
|
||||||
|
@ -2123,3 +2123,4 @@ GLIBC_2.35 wprintf F
|
|||||||
GLIBC_2.35 write F
|
GLIBC_2.35 write F
|
||||||
GLIBC_2.35 writev F
|
GLIBC_2.35 writev F
|
||||||
GLIBC_2.35 wscanf F
|
GLIBC_2.35 wscanf F
|
||||||
|
GLIBC_2.36 pidfd_open F
|
||||||
|
@ -2755,6 +2755,7 @@ GLIBC_2.35 __memcmpeq F
|
|||||||
GLIBC_2.35 _dl_find_object F
|
GLIBC_2.35 _dl_find_object F
|
||||||
GLIBC_2.35 epoll_pwait2 F
|
GLIBC_2.35 epoll_pwait2 F
|
||||||
GLIBC_2.35 posix_spawn_file_actions_addtcsetpgrp_np F
|
GLIBC_2.35 posix_spawn_file_actions_addtcsetpgrp_np F
|
||||||
|
GLIBC_2.36 pidfd_open F
|
||||||
GLIBC_2.4 _IO_fprintf F
|
GLIBC_2.4 _IO_fprintf F
|
||||||
GLIBC_2.4 _IO_printf F
|
GLIBC_2.4 _IO_printf F
|
||||||
GLIBC_2.4 _IO_sprintf F
|
GLIBC_2.4 _IO_sprintf F
|
||||||
|
@ -2788,6 +2788,7 @@ GLIBC_2.35 __memcmpeq F
|
|||||||
GLIBC_2.35 _dl_find_object F
|
GLIBC_2.35 _dl_find_object F
|
||||||
GLIBC_2.35 epoll_pwait2 F
|
GLIBC_2.35 epoll_pwait2 F
|
||||||
GLIBC_2.35 posix_spawn_file_actions_addtcsetpgrp_np F
|
GLIBC_2.35 posix_spawn_file_actions_addtcsetpgrp_np F
|
||||||
|
GLIBC_2.36 pidfd_open F
|
||||||
GLIBC_2.4 _IO_fprintf F
|
GLIBC_2.4 _IO_fprintf F
|
||||||
GLIBC_2.4 _IO_printf F
|
GLIBC_2.4 _IO_printf F
|
||||||
GLIBC_2.4 _IO_sprintf F
|
GLIBC_2.4 _IO_sprintf F
|
||||||
|
@ -2510,6 +2510,7 @@ GLIBC_2.35 __memcmpeq F
|
|||||||
GLIBC_2.35 _dl_find_object F
|
GLIBC_2.35 _dl_find_object F
|
||||||
GLIBC_2.35 epoll_pwait2 F
|
GLIBC_2.35 epoll_pwait2 F
|
||||||
GLIBC_2.35 posix_spawn_file_actions_addtcsetpgrp_np F
|
GLIBC_2.35 posix_spawn_file_actions_addtcsetpgrp_np F
|
||||||
|
GLIBC_2.36 pidfd_open F
|
||||||
GLIBC_2.4 _IO_fprintf F
|
GLIBC_2.4 _IO_fprintf F
|
||||||
GLIBC_2.4 _IO_printf F
|
GLIBC_2.4 _IO_printf F
|
||||||
GLIBC_2.4 _IO_sprintf F
|
GLIBC_2.4 _IO_sprintf F
|
||||||
|
@ -2812,3 +2812,4 @@ GLIBC_2.35 __memcmpeq F
|
|||||||
GLIBC_2.35 _dl_find_object F
|
GLIBC_2.35 _dl_find_object F
|
||||||
GLIBC_2.35 epoll_pwait2 F
|
GLIBC_2.35 epoll_pwait2 F
|
||||||
GLIBC_2.35 posix_spawn_file_actions_addtcsetpgrp_np F
|
GLIBC_2.35 posix_spawn_file_actions_addtcsetpgrp_np F
|
||||||
|
GLIBC_2.36 pidfd_open F
|
||||||
|
@ -2379,3 +2379,4 @@ GLIBC_2.35 __memcmpeq F
|
|||||||
GLIBC_2.35 _dl_find_object F
|
GLIBC_2.35 _dl_find_object F
|
||||||
GLIBC_2.35 epoll_pwait2 F
|
GLIBC_2.35 epoll_pwait2 F
|
||||||
GLIBC_2.35 posix_spawn_file_actions_addtcsetpgrp_np F
|
GLIBC_2.35 posix_spawn_file_actions_addtcsetpgrp_np F
|
||||||
|
GLIBC_2.36 pidfd_open F
|
||||||
|
@ -2579,3 +2579,4 @@ GLIBC_2.35 __memcmpeq F
|
|||||||
GLIBC_2.35 _dl_find_object F
|
GLIBC_2.35 _dl_find_object F
|
||||||
GLIBC_2.35 epoll_pwait2 F
|
GLIBC_2.35 epoll_pwait2 F
|
||||||
GLIBC_2.35 posix_spawn_file_actions_addtcsetpgrp_np F
|
GLIBC_2.35 posix_spawn_file_actions_addtcsetpgrp_np F
|
||||||
|
GLIBC_2.36 pidfd_open F
|
||||||
|
@ -2753,6 +2753,7 @@ GLIBC_2.35 __memcmpeq F
|
|||||||
GLIBC_2.35 _dl_find_object F
|
GLIBC_2.35 _dl_find_object F
|
||||||
GLIBC_2.35 epoll_pwait2 F
|
GLIBC_2.35 epoll_pwait2 F
|
||||||
GLIBC_2.35 posix_spawn_file_actions_addtcsetpgrp_np F
|
GLIBC_2.35 posix_spawn_file_actions_addtcsetpgrp_np F
|
||||||
|
GLIBC_2.36 pidfd_open F
|
||||||
GLIBC_2.4 _IO_fprintf F
|
GLIBC_2.4 _IO_fprintf F
|
||||||
GLIBC_2.4 _IO_printf F
|
GLIBC_2.4 _IO_printf F
|
||||||
GLIBC_2.4 _IO_sprintf F
|
GLIBC_2.4 _IO_sprintf F
|
||||||
|
@ -2547,6 +2547,7 @@ GLIBC_2.35 __memcmpeq F
|
|||||||
GLIBC_2.35 _dl_find_object F
|
GLIBC_2.35 _dl_find_object F
|
||||||
GLIBC_2.35 epoll_pwait2 F
|
GLIBC_2.35 epoll_pwait2 F
|
||||||
GLIBC_2.35 posix_spawn_file_actions_addtcsetpgrp_np F
|
GLIBC_2.35 posix_spawn_file_actions_addtcsetpgrp_np F
|
||||||
|
GLIBC_2.36 pidfd_open F
|
||||||
GLIBC_2.4 _IO_fprintf F
|
GLIBC_2.4 _IO_fprintf F
|
||||||
GLIBC_2.4 _IO_printf F
|
GLIBC_2.4 _IO_printf F
|
||||||
GLIBC_2.4 _IO_sprintf F
|
GLIBC_2.4 _IO_sprintf F
|
||||||
|
@ -2608,6 +2608,7 @@ GLIBC_2.35 __memcmpeq F
|
|||||||
GLIBC_2.35 _dl_find_object F
|
GLIBC_2.35 _dl_find_object F
|
||||||
GLIBC_2.35 epoll_pwait2 F
|
GLIBC_2.35 epoll_pwait2 F
|
||||||
GLIBC_2.35 posix_spawn_file_actions_addtcsetpgrp_np F
|
GLIBC_2.35 posix_spawn_file_actions_addtcsetpgrp_np F
|
||||||
|
GLIBC_2.36 pidfd_open F
|
||||||
GLIBC_2.4 __confstr_chk F
|
GLIBC_2.4 __confstr_chk F
|
||||||
GLIBC_2.4 __fgets_chk F
|
GLIBC_2.4 __fgets_chk F
|
||||||
GLIBC_2.4 __fgets_unlocked_chk F
|
GLIBC_2.4 __fgets_unlocked_chk F
|
||||||
|
@ -2605,6 +2605,7 @@ GLIBC_2.35 __memcmpeq F
|
|||||||
GLIBC_2.35 _dl_find_object F
|
GLIBC_2.35 _dl_find_object F
|
||||||
GLIBC_2.35 epoll_pwait2 F
|
GLIBC_2.35 epoll_pwait2 F
|
||||||
GLIBC_2.35 posix_spawn_file_actions_addtcsetpgrp_np F
|
GLIBC_2.35 posix_spawn_file_actions_addtcsetpgrp_np F
|
||||||
|
GLIBC_2.36 pidfd_open F
|
||||||
GLIBC_2.4 __confstr_chk F
|
GLIBC_2.4 __confstr_chk F
|
||||||
GLIBC_2.4 __fgets_chk F
|
GLIBC_2.4 __fgets_chk F
|
||||||
GLIBC_2.4 __fgets_unlocked_chk F
|
GLIBC_2.4 __fgets_unlocked_chk F
|
||||||
|
@ -2748,6 +2748,7 @@ GLIBC_2.35 __memcmpeq F
|
|||||||
GLIBC_2.35 _dl_find_object F
|
GLIBC_2.35 _dl_find_object F
|
||||||
GLIBC_2.35 epoll_pwait2 F
|
GLIBC_2.35 epoll_pwait2 F
|
||||||
GLIBC_2.35 posix_spawn_file_actions_addtcsetpgrp_np F
|
GLIBC_2.35 posix_spawn_file_actions_addtcsetpgrp_np F
|
||||||
|
GLIBC_2.36 pidfd_open F
|
||||||
GLIBC_2.4 _IO_fprintf F
|
GLIBC_2.4 _IO_fprintf F
|
||||||
GLIBC_2.4 _IO_printf F
|
GLIBC_2.4 _IO_printf F
|
||||||
GLIBC_2.4 _IO_sprintf F
|
GLIBC_2.4 _IO_sprintf F
|
||||||
|
@ -2574,6 +2574,7 @@ GLIBC_2.35 __memcmpeq F
|
|||||||
GLIBC_2.35 _dl_find_object F
|
GLIBC_2.35 _dl_find_object F
|
||||||
GLIBC_2.35 epoll_pwait2 F
|
GLIBC_2.35 epoll_pwait2 F
|
||||||
GLIBC_2.35 posix_spawn_file_actions_addtcsetpgrp_np F
|
GLIBC_2.35 posix_spawn_file_actions_addtcsetpgrp_np F
|
||||||
|
GLIBC_2.36 pidfd_open F
|
||||||
GLIBC_2.4 __confstr_chk F
|
GLIBC_2.4 __confstr_chk F
|
||||||
GLIBC_2.4 __fgets_chk F
|
GLIBC_2.4 __fgets_chk F
|
||||||
GLIBC_2.4 __fgets_unlocked_chk F
|
GLIBC_2.4 __fgets_unlocked_chk F
|
||||||
|
33
sysdeps/unix/sysv/linux/sys/pidfd.h
Normal file
33
sysdeps/unix/sysv/linux/sys/pidfd.h
Normal file
@ -0,0 +1,33 @@
|
|||||||
|
/* Wrapper for file descriptors that refers to a process functions.
|
||||||
|
Copyright (C) 2022 Free Software Foundation, Inc.
|
||||||
|
This file is part of the GNU C Library.
|
||||||
|
|
||||||
|
The GNU C Library is free software; you can redistribute it and/or
|
||||||
|
modify it under the terms of the GNU Lesser General Public
|
||||||
|
License as published by the Free Software Foundation; either
|
||||||
|
version 2.1 of the License, or (at your option) any later version.
|
||||||
|
|
||||||
|
The GNU C Library is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
Lesser General Public License for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU Lesser General Public
|
||||||
|
License along with the GNU C Library; if not, see
|
||||||
|
<https://www.gnu.org/licenses/>. */
|
||||||
|
|
||||||
|
#ifndef _PIDFD_H
|
||||||
|
|
||||||
|
#include <fcntl.h>
|
||||||
|
#include <bits/types/siginfo_t.h>
|
||||||
|
|
||||||
|
#define PIDFD_NONBLOCK O_NONBLOCK
|
||||||
|
|
||||||
|
/* Returns a file descriptor that refers to the process PID. The
|
||||||
|
close-on-exec is set on the file descriptor.
|
||||||
|
|
||||||
|
The FLAGS argument is reserved for future use, it must be specified
|
||||||
|
as 0. */
|
||||||
|
extern int pidfd_open (__pid_t __pid, unsigned int __flags) __THROW;
|
||||||
|
|
||||||
|
#endif /* _PIDFD_H */
|
@ -39,6 +39,7 @@ munlock - munlock i:aU munlock
|
|||||||
munlockall - munlockall i: munlockall
|
munlockall - munlockall i: munlockall
|
||||||
nfsservctl EXTRA nfsservctl i:ipp __compat_nfsservctl nfsservctl@GLIBC_2.0:GLIBC_2.28
|
nfsservctl EXTRA nfsservctl i:ipp __compat_nfsservctl nfsservctl@GLIBC_2.0:GLIBC_2.28
|
||||||
pipe2 - pipe2 i:fi __pipe2 pipe2
|
pipe2 - pipe2 i:fi __pipe2 pipe2
|
||||||
|
pidfd_open EXTRA pidfd_open i:iU pidfd_open
|
||||||
pivot_root EXTRA pivot_root i:ss pivot_root
|
pivot_root EXTRA pivot_root i:ss pivot_root
|
||||||
query_module EXTRA query_module i:sipip __compat_query_module query_module@GLIBC_2.0:GLIBC_2.23
|
query_module EXTRA query_module i:sipip __compat_query_module query_module@GLIBC_2.0:GLIBC_2.23
|
||||||
quotactl EXTRA quotactl i:isip quotactl
|
quotactl EXTRA quotactl i:isip quotactl
|
||||||
|
49
sysdeps/unix/sysv/linux/tst-pidfd-consts.py
Normal file
49
sysdeps/unix/sysv/linux/tst-pidfd-consts.py
Normal file
@ -0,0 +1,49 @@
|
|||||||
|
#!/usr/bin/python3
|
||||||
|
# Test that glibc's sys/pidfd.h constants match the kernel's.
|
||||||
|
# Copyright (C) 2022 Free Software Foundation, Inc.
|
||||||
|
# This file is part of the GNU C Library.
|
||||||
|
#
|
||||||
|
# The GNU C Library is free software; you can redistribute it and/or
|
||||||
|
# modify it under the terms of the GNU Lesser General Public
|
||||||
|
# License as published by the Free Software Foundation; either
|
||||||
|
# version 2.1 of the License, or (at your option) any later version.
|
||||||
|
#
|
||||||
|
# The GNU C Library is distributed in the hope that it will be useful,
|
||||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
# Lesser General Public License for more details.
|
||||||
|
#
|
||||||
|
# You should have received a copy of the GNU Lesser General Public
|
||||||
|
# License along with the GNU C Library; if not, see
|
||||||
|
# <https://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
|
import argparse
|
||||||
|
import sys
|
||||||
|
|
||||||
|
import glibcextract
|
||||||
|
import glibcsyscalls
|
||||||
|
|
||||||
|
|
||||||
|
def main():
|
||||||
|
"""The main entry point."""
|
||||||
|
parser = argparse.ArgumentParser(
|
||||||
|
description="Test that glibc's sys/pidfd.h constants "
|
||||||
|
"match the kernel's.")
|
||||||
|
parser.add_argument('--cc', metavar='CC',
|
||||||
|
help='C compiler (including options) to use')
|
||||||
|
args = parser.parse_args()
|
||||||
|
|
||||||
|
linux_version_headers = glibcsyscalls.linux_kernel_version(args.cc)
|
||||||
|
linux_version_glibc = (5, 16)
|
||||||
|
sys.exit(glibcextract.compare_macro_consts(
|
||||||
|
'#include <sys/pidfd.h>\n',
|
||||||
|
'#include <asm/fcntl.h>\n'
|
||||||
|
'#include <linux/pidfd.h>\n',
|
||||||
|
args.cc,
|
||||||
|
'PIDFD_.*',
|
||||||
|
None,
|
||||||
|
linux_version_glibc > linux_version_headers,
|
||||||
|
linux_version_headers > linux_version_glibc))
|
||||||
|
|
||||||
|
if __name__ == '__main__':
|
||||||
|
main()
|
@ -2525,6 +2525,7 @@ GLIBC_2.35 __memcmpeq F
|
|||||||
GLIBC_2.35 _dl_find_object F
|
GLIBC_2.35 _dl_find_object F
|
||||||
GLIBC_2.35 epoll_pwait2 F
|
GLIBC_2.35 epoll_pwait2 F
|
||||||
GLIBC_2.35 posix_spawn_file_actions_addtcsetpgrp_np F
|
GLIBC_2.35 posix_spawn_file_actions_addtcsetpgrp_np F
|
||||||
|
GLIBC_2.36 pidfd_open F
|
||||||
GLIBC_2.4 __confstr_chk F
|
GLIBC_2.4 __confstr_chk F
|
||||||
GLIBC_2.4 __fgets_chk F
|
GLIBC_2.4 __fgets_chk F
|
||||||
GLIBC_2.4 __fgets_unlocked_chk F
|
GLIBC_2.4 __fgets_unlocked_chk F
|
||||||
|
@ -2631,3 +2631,4 @@ GLIBC_2.35 __memcmpeq F
|
|||||||
GLIBC_2.35 _dl_find_object F
|
GLIBC_2.35 _dl_find_object F
|
||||||
GLIBC_2.35 epoll_pwait2 F
|
GLIBC_2.35 epoll_pwait2 F
|
||||||
GLIBC_2.35 posix_spawn_file_actions_addtcsetpgrp_np F
|
GLIBC_2.35 posix_spawn_file_actions_addtcsetpgrp_np F
|
||||||
|
GLIBC_2.36 pidfd_open F
|
||||||
|
Loading…
Reference in New Issue
Block a user