Home
last modified time | relevance | path

Searched refs:pidfd (Results 1 – 19 of 19) sorted by relevance

/Linux-v5.4/tools/testing/selftests/pidfd/
Dpidfd_wait.c38 int pidfd = -1, status = 0; in test_pidfd_wait_simple() local
42 .pidfd = ptr_to_u64(&pidfd), in test_pidfd_wait_simple()
52 pidfd = open("/proc/self", O_DIRECTORY | O_RDONLY | O_CLOEXEC); in test_pidfd_wait_simple()
53 if (pidfd < 0) in test_pidfd_wait_simple()
57 pid = sys_waitid(P_PIDFD, pidfd, &info, WEXITED, NULL); in test_pidfd_wait_simple()
62 close(pidfd); in test_pidfd_wait_simple()
63 pidfd = -1; in test_pidfd_wait_simple()
65 pidfd = open("/dev/null", O_RDONLY | O_CLOEXEC); in test_pidfd_wait_simple()
66 if (pidfd == 0) in test_pidfd_wait_simple()
70 pid = sys_waitid(P_PIDFD, pidfd, &info, WEXITED, NULL); in test_pidfd_wait_simple()
[all …]
Dpidfd_test.c30 static pid_t pidfd_clone(int flags, int *pidfd, int (*fn)(void *)) in pidfd_clone() argument
36 return __clone2(fn, stack, stack_size, flags | SIGCHLD, NULL, pidfd); in pidfd_clone()
38 return clone(fn, stack + stack_size, flags | SIGCHLD, NULL, pidfd); in pidfd_clone()
56 int pidfd, ret; in test_pidfd_send_signal_simple_success() local
59 pidfd = open("/proc/self", O_DIRECTORY | O_CLOEXEC); in test_pidfd_send_signal_simple_success()
60 if (pidfd < 0) in test_pidfd_send_signal_simple_success()
67 ret = sys_pidfd_send_signal(pidfd, SIGUSR1, NULL, 0); in test_pidfd_send_signal_simple_success()
68 close(pidfd); in test_pidfd_send_signal_simple_success()
84 int pidfd, ret, saved_errno; in test_pidfd_send_signal_exited_fail() local
99 pidfd = open(buf, O_DIRECTORY | O_CLOEXEC); in test_pidfd_send_signal_exited_fail()
[all …]
Dpidfd_open_test.c87 static pid_t get_pid_from_fdinfo_file(int pidfd, const char *key, size_t keylen) in get_pid_from_fdinfo_file() argument
96 snprintf(path, sizeof(path), "/proc/self/fdinfo/%d", pidfd); in get_pid_from_fdinfo_file()
124 int pidfd = -1, ret = 1; in main() local
129 pidfd = sys_pidfd_open(-1, 0); in main()
130 if (pidfd >= 0) { in main()
138 pidfd = sys_pidfd_open(getpid(), 1); in main()
139 if (pidfd >= 0) { in main()
147 pidfd = sys_pidfd_open(getpid(), 0); in main()
148 if (pidfd < 0) { in main()
154 pid = get_pid_from_fdinfo_file(pidfd, "Pid:", sizeof("Pid:") - 1); in main()
[all …]
Dpidfd_poll_test.c49 int pidfd; in main() local
69 pidfd = sys_pidfd_open(child_pid, 0); in main()
70 if (pidfd < 0) in main()
81 if (sys_pidfd_send_signal(pidfd, SIGKILL, NULL, 0)) in main()
86 fds.fd = pidfd; in main()
107 close(pidfd); in main()
Dpidfd.h81 static inline int sys_pidfd_send_signal(int pidfd, int sig, siginfo_t *info, in sys_pidfd_send_signal() argument
84 return syscall(__NR_pidfd_send_signal, pidfd, sig, info, flags); in sys_pidfd_send_signal()
/Linux-v5.4/samples/pidfd/
Dpidfd-metadata.c34 static pid_t pidfd_clone(int flags, int *pidfd) in pidfd_clone() argument
40 return __clone2(do_child, stack, stack_size, flags | SIGCHLD, NULL, pidfd); in pidfd_clone()
42 return clone(do_child, stack + stack_size, flags | SIGCHLD, NULL, pidfd); in pidfd_clone()
46 static inline int sys_pidfd_send_signal(int pidfd, int sig, siginfo_t *info, in sys_pidfd_send_signal() argument
49 return syscall(__NR_pidfd_send_signal, pidfd, sig, info, flags); in sys_pidfd_send_signal()
52 static int pidfd_metadata_fd(pid_t pid, int pidfd) in pidfd_metadata_fd() argument
68 ret = sys_pidfd_send_signal(pidfd, 0, NULL, 0); in pidfd_metadata_fd()
86 int pidfd = -1, ret = EXIT_FAILURE; in main() local
92 pid = pidfd_clone(CLONE_PIDFD, &pidfd); in main()
95 if (pidfd == -1) { in main()
[all …]
DMakefile3 hostprogs-y := pidfd-metadata
6 all: pidfd-metadata
D.gitignore1 pidfd-metadata
/Linux-v5.4/samples/
DMakefile14 subdir-$(CONFIG_SAMPLE_PIDFD) += pidfd
DKconfig109 bool "pidfd sample"
/Linux-v5.4/include/uapi/linux/
Dsched.h68 __aligned_u64 pidfd; member
/Linux-v5.4/tools/include/uapi/linux/
Dsched.h64 __aligned_u64 pidfd; member
/Linux-v5.4/kernel/
Dfork.c1770 int pidfd = -1, retval; in copy_process() local
2046 pidfd = retval; in copy_process()
2051 put_unused_fd(pidfd); in copy_process()
2057 retval = put_user(pidfd, args->pidfd); in copy_process()
2176 fd_install(pidfd, pidfile); in copy_process()
2245 put_unused_fd(pidfd); in copy_process()
2426 .pidfd = parent_tidptr, in do_fork()
2510 .pidfd = parent_tidptr, in SYSCALL_DEFINE5()
2552 .pidfd = u64_to_user_ptr(args.pidfd), in copy_clone_args_from_user()
Dsignal.c3708 SYSCALL_DEFINE4(pidfd_send_signal, int, pidfd, int, sig, in SYSCALL_DEFINE4() argument
3720 f = fdget(pidfd); in SYSCALL_DEFINE4()
/Linux-v5.4/include/linux/sched/
Dtask.h22 int __user *pidfd; member
/Linux-v5.4/tools/testing/selftests/
DMakefile35 TARGETS += pidfd
/Linux-v5.4/arch/x86/ia32/
Dsys_ia32.c242 .pidfd = parent_tidptr, in COMPAT_SYSCALL_DEFINE5()
/Linux-v5.4/include/linux/
Dsyscalls.h1000 asmlinkage long sys_pidfd_send_signal(int pidfd, int sig,
/Linux-v5.4/
DMAINTAINERS12836 F: samples/pidfd/
12837 F: tools/testing/selftests/pidfd/
12838 K: (?i)pidfd