| /Linux-v5.4/tools/testing/selftests/pidfd/ |
| D | pidfd_wait.c | 38 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 …]
|
| D | pidfd_test.c | 30 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 …]
|
| D | pidfd_open_test.c | 87 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 …]
|
| D | pidfd_poll_test.c | 49 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()
|
| D | pidfd.h | 81 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/ |
| D | pidfd-metadata.c | 34 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 …]
|
| D | Makefile | 3 hostprogs-y := pidfd-metadata 6 all: pidfd-metadata
|
| D | .gitignore | 1 pidfd-metadata
|
| /Linux-v5.4/samples/ |
| D | Makefile | 14 subdir-$(CONFIG_SAMPLE_PIDFD) += pidfd
|
| D | Kconfig | 109 bool "pidfd sample"
|
| /Linux-v5.4/include/uapi/linux/ |
| D | sched.h | 68 __aligned_u64 pidfd; member
|
| /Linux-v5.4/tools/include/uapi/linux/ |
| D | sched.h | 64 __aligned_u64 pidfd; member
|
| /Linux-v5.4/kernel/ |
| D | fork.c | 1770 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()
|
| D | signal.c | 3708 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/ |
| D | task.h | 22 int __user *pidfd; member
|
| /Linux-v5.4/tools/testing/selftests/ |
| D | Makefile | 35 TARGETS += pidfd
|
| /Linux-v5.4/arch/x86/ia32/ |
| D | sys_ia32.c | 242 .pidfd = parent_tidptr, in COMPAT_SYSCALL_DEFINE5()
|
| /Linux-v5.4/include/linux/ |
| D | syscalls.h | 1000 asmlinkage long sys_pidfd_send_signal(int pidfd, int sig,
|
| /Linux-v5.4/ |
| D | MAINTAINERS | 12836 F: samples/pidfd/ 12837 F: tools/testing/selftests/pidfd/ 12838 K: (?i)pidfd
|