pidfd 242 arch/x86/ia32/sys_ia32.c .pidfd = parent_tidptr, pidfd 22 include/linux/sched/task.h int __user *pidfd; pidfd 1000 include/linux/syscalls.h asmlinkage long sys_pidfd_send_signal(int pidfd, int sig, pidfd 68 include/uapi/linux/sched.h __aligned_u64 pidfd; pidfd 1766 kernel/fork.c int pidfd = -1, retval; pidfd 2042 kernel/fork.c pidfd = retval; pidfd 2047 kernel/fork.c put_unused_fd(pidfd); pidfd 2053 kernel/fork.c retval = put_user(pidfd, args->pidfd); pidfd 2166 kernel/fork.c fd_install(pidfd, pidfile); pidfd 2235 kernel/fork.c put_unused_fd(pidfd); pidfd 2416 kernel/fork.c .pidfd = parent_tidptr, pidfd 2501 kernel/fork.c .pidfd = parent_tidptr, pidfd 2553 kernel/fork.c .pidfd = u64_to_user_ptr(args.pidfd), pidfd 3717 kernel/signal.c SYSCALL_DEFINE4(pidfd_send_signal, int, pidfd, int, sig, pidfd 3729 kernel/signal.c f = fdget(pidfd); pidfd 34 samples/pidfd/pidfd-metadata.c static pid_t pidfd_clone(int flags, int *pidfd) pidfd 40 samples/pidfd/pidfd-metadata.c return __clone2(do_child, stack, stack_size, flags | SIGCHLD, NULL, pidfd); pidfd 42 samples/pidfd/pidfd-metadata.c return clone(do_child, stack + stack_size, flags | SIGCHLD, NULL, pidfd); pidfd 46 samples/pidfd/pidfd-metadata.c static inline int sys_pidfd_send_signal(int pidfd, int sig, siginfo_t *info, pidfd 49 samples/pidfd/pidfd-metadata.c return syscall(__NR_pidfd_send_signal, pidfd, sig, info, flags); pidfd 52 samples/pidfd/pidfd-metadata.c static int pidfd_metadata_fd(pid_t pid, int pidfd) pidfd 68 samples/pidfd/pidfd-metadata.c ret = sys_pidfd_send_signal(pidfd, 0, NULL, 0); pidfd 86 samples/pidfd/pidfd-metadata.c int pidfd = -1, ret = EXIT_FAILURE; pidfd 92 samples/pidfd/pidfd-metadata.c pid = pidfd_clone(CLONE_PIDFD, &pidfd); pidfd 95 samples/pidfd/pidfd-metadata.c if (pidfd == -1) { pidfd 100 samples/pidfd/pidfd-metadata.c procfd = pidfd_metadata_fd(pid, pidfd); pidfd 101 samples/pidfd/pidfd-metadata.c close(pidfd); pidfd 64 tools/include/uapi/linux/sched.h __aligned_u64 pidfd; pidfd 81 tools/testing/selftests/pidfd/pidfd.h static inline int sys_pidfd_send_signal(int pidfd, int sig, siginfo_t *info, pidfd 84 tools/testing/selftests/pidfd/pidfd.h return syscall(__NR_pidfd_send_signal, pidfd, sig, info, flags); pidfd 87 tools/testing/selftests/pidfd/pidfd_open_test.c static pid_t get_pid_from_fdinfo_file(int pidfd, const char *key, size_t keylen) pidfd 96 tools/testing/selftests/pidfd/pidfd_open_test.c snprintf(path, sizeof(path), "/proc/self/fdinfo/%d", pidfd); pidfd 124 tools/testing/selftests/pidfd/pidfd_open_test.c int pidfd = -1, ret = 1; pidfd 129 tools/testing/selftests/pidfd/pidfd_open_test.c pidfd = sys_pidfd_open(-1, 0); pidfd 130 tools/testing/selftests/pidfd/pidfd_open_test.c if (pidfd >= 0) { pidfd 138 tools/testing/selftests/pidfd/pidfd_open_test.c pidfd = sys_pidfd_open(getpid(), 1); pidfd 139 tools/testing/selftests/pidfd/pidfd_open_test.c if (pidfd >= 0) { pidfd 147 tools/testing/selftests/pidfd/pidfd_open_test.c pidfd = sys_pidfd_open(getpid(), 0); pidfd 148 tools/testing/selftests/pidfd/pidfd_open_test.c if (pidfd < 0) { pidfd 154 tools/testing/selftests/pidfd/pidfd_open_test.c pid = get_pid_from_fdinfo_file(pidfd, "Pid:", sizeof("Pid:") - 1); pidfd 155 tools/testing/selftests/pidfd/pidfd_open_test.c ksft_print_msg("pidfd %d refers to process with pid %d\n", pidfd, pid); pidfd 160 tools/testing/selftests/pidfd/pidfd_open_test.c if (pidfd >= 0) pidfd 161 tools/testing/selftests/pidfd/pidfd_open_test.c close(pidfd); pidfd 49 tools/testing/selftests/pidfd/pidfd_poll_test.c int pidfd; pidfd 69 tools/testing/selftests/pidfd/pidfd_poll_test.c pidfd = sys_pidfd_open(child_pid, 0); pidfd 70 tools/testing/selftests/pidfd/pidfd_poll_test.c if (pidfd < 0) pidfd 81 tools/testing/selftests/pidfd/pidfd_poll_test.c if (sys_pidfd_send_signal(pidfd, SIGKILL, NULL, 0)) pidfd 86 tools/testing/selftests/pidfd/pidfd_poll_test.c fds.fd = pidfd; pidfd 107 tools/testing/selftests/pidfd/pidfd_poll_test.c close(pidfd); pidfd 30 tools/testing/selftests/pidfd/pidfd_test.c static pid_t pidfd_clone(int flags, int *pidfd, int (*fn)(void *)) pidfd 36 tools/testing/selftests/pidfd/pidfd_test.c return __clone2(fn, stack, stack_size, flags | SIGCHLD, NULL, pidfd); pidfd 38 tools/testing/selftests/pidfd/pidfd_test.c return clone(fn, stack + stack_size, flags | SIGCHLD, NULL, pidfd); pidfd 56 tools/testing/selftests/pidfd/pidfd_test.c int pidfd, ret; pidfd 59 tools/testing/selftests/pidfd/pidfd_test.c pidfd = open("/proc/self", O_DIRECTORY | O_CLOEXEC); pidfd 60 tools/testing/selftests/pidfd/pidfd_test.c if (pidfd < 0) pidfd 67 tools/testing/selftests/pidfd/pidfd_test.c ret = sys_pidfd_send_signal(pidfd, SIGUSR1, NULL, 0); pidfd 68 tools/testing/selftests/pidfd/pidfd_test.c close(pidfd); pidfd 84 tools/testing/selftests/pidfd/pidfd_test.c int pidfd, ret, saved_errno; pidfd 99 tools/testing/selftests/pidfd/pidfd_test.c pidfd = open(buf, O_DIRECTORY | O_CLOEXEC); pidfd 103 tools/testing/selftests/pidfd/pidfd_test.c if (pidfd < 0) pidfd 108 tools/testing/selftests/pidfd/pidfd_test.c ret = sys_pidfd_send_signal(pidfd, 0, NULL, 0); pidfd 110 tools/testing/selftests/pidfd/pidfd_test.c close(pidfd); pidfd 165 tools/testing/selftests/pidfd/pidfd_test.c int pidfd = -1; pidfd 184 tools/testing/selftests/pidfd/pidfd_test.c pidfd = open(buf, O_DIRECTORY | O_CLOEXEC); pidfd 200 tools/testing/selftests/pidfd/pidfd_test.c close(pidfd); pidfd 204 tools/testing/selftests/pidfd/pidfd_test.c if (pidfd < 0) pidfd 247 tools/testing/selftests/pidfd/pidfd_test.c ret = sys_pidfd_send_signal(pidfd, SIGCONT, pidfd 317 tools/testing/selftests/pidfd/pidfd_test.c int pidfd, ret; pidfd 320 tools/testing/selftests/pidfd/pidfd_test.c pidfd = open("/proc/self", O_DIRECTORY | O_CLOEXEC); pidfd 321 tools/testing/selftests/pidfd/pidfd_test.c if (pidfd < 0) pidfd 326 tools/testing/selftests/pidfd/pidfd_test.c ret = sys_pidfd_send_signal(pidfd, 0, NULL, 0); pidfd 337 tools/testing/selftests/pidfd/pidfd_test.c close(pidfd); pidfd 357 tools/testing/selftests/pidfd/pidfd_test.c static void poll_pidfd(const char *test_name, int pidfd) pidfd 369 tools/testing/selftests/pidfd/pidfd_test.c event.data.fd = pidfd; pidfd 371 tools/testing/selftests/pidfd/pidfd_test.c if (epoll_ctl(epoll_fd, EPOLL_CTL_ADD, pidfd, &event)) { pidfd 405 tools/testing/selftests/pidfd/pidfd_test.c int pid, pidfd = 0; pidfd 412 tools/testing/selftests/pidfd/pidfd_test.c pid = pidfd_clone(CLONE_PIDFD, &pidfd, child_poll_exec_test); pidfd 427 tools/testing/selftests/pidfd/pidfd_test.c poll_pidfd(test_name, pidfd); pidfd 434 tools/testing/selftests/pidfd/pidfd_test.c close(pidfd); pidfd 470 tools/testing/selftests/pidfd/pidfd_test.c int pid, pidfd = 0; pidfd 484 tools/testing/selftests/pidfd/pidfd_test.c pid = pidfd_clone(CLONE_PIDFD, &pidfd, child_poll_leader_exit_test); pidfd 502 tools/testing/selftests/pidfd/pidfd_test.c poll_pidfd(test_name, pidfd); pidfd 512 tools/testing/selftests/pidfd/pidfd_test.c close(pidfd); pidfd 38 tools/testing/selftests/pidfd/pidfd_wait.c int pidfd = -1, status = 0; pidfd 42 tools/testing/selftests/pidfd/pidfd_wait.c .pidfd = ptr_to_u64(&pidfd), pidfd 52 tools/testing/selftests/pidfd/pidfd_wait.c pidfd = open("/proc/self", O_DIRECTORY | O_RDONLY | O_CLOEXEC); pidfd 53 tools/testing/selftests/pidfd/pidfd_wait.c if (pidfd < 0) pidfd 57 tools/testing/selftests/pidfd/pidfd_wait.c pid = sys_waitid(P_PIDFD, pidfd, &info, WEXITED, NULL); pidfd 62 tools/testing/selftests/pidfd/pidfd_wait.c close(pidfd); pidfd 63 tools/testing/selftests/pidfd/pidfd_wait.c pidfd = -1; pidfd 65 tools/testing/selftests/pidfd/pidfd_wait.c pidfd = open("/dev/null", O_RDONLY | O_CLOEXEC); pidfd 66 tools/testing/selftests/pidfd/pidfd_wait.c if (pidfd == 0) pidfd 70 tools/testing/selftests/pidfd/pidfd_wait.c pid = sys_waitid(P_PIDFD, pidfd, &info, WEXITED, NULL); pidfd 75 tools/testing/selftests/pidfd/pidfd_wait.c close(pidfd); pidfd 76 tools/testing/selftests/pidfd/pidfd_wait.c pidfd = -1; pidfd 86 tools/testing/selftests/pidfd/pidfd_wait.c pid = sys_waitid(P_PIDFD, pidfd, &info, WEXITED, NULL); pidfd 90 tools/testing/selftests/pidfd/pidfd_wait.c test_name, parent_tid, pidfd, strerror(errno)); pidfd 95 tools/testing/selftests/pidfd/pidfd_wait.c test_name, parent_tid, pidfd, strerror(errno)); pidfd 96 tools/testing/selftests/pidfd/pidfd_wait.c close(pidfd); pidfd 101 tools/testing/selftests/pidfd/pidfd_wait.c test_name, info.si_signo, parent_tid, pidfd, pidfd 107 tools/testing/selftests/pidfd/pidfd_wait.c test_name, info.si_code, parent_tid, pidfd, pidfd 113 tools/testing/selftests/pidfd/pidfd_wait.c test_name, info.si_pid, parent_tid, pidfd, pidfd 123 tools/testing/selftests/pidfd/pidfd_wait.c int pidfd = -1, status = 0; pidfd 127 tools/testing/selftests/pidfd/pidfd_wait.c .pidfd = ptr_to_u64(&pidfd), pidfd 148 tools/testing/selftests/pidfd/pidfd_wait.c ret = sys_waitid(P_PIDFD, pidfd, &info, WSTOPPED, NULL); pidfd 152 tools/testing/selftests/pidfd/pidfd_wait.c test_name, parent_tid, pidfd, strerror(errno)); pidfd 157 tools/testing/selftests/pidfd/pidfd_wait.c test_name, info.si_signo, parent_tid, pidfd, pidfd 163 tools/testing/selftests/pidfd/pidfd_wait.c test_name, info.si_code, parent_tid, pidfd, pidfd 169 tools/testing/selftests/pidfd/pidfd_wait.c test_name, info.si_pid, parent_tid, pidfd, pidfd 172 tools/testing/selftests/pidfd/pidfd_wait.c ret = sys_pidfd_send_signal(pidfd, SIGCONT, NULL, 0); pidfd 176 tools/testing/selftests/pidfd/pidfd_wait.c test_name, parent_tid, pidfd, strerror(errno)); pidfd 178 tools/testing/selftests/pidfd/pidfd_wait.c ret = sys_waitid(P_PIDFD, pidfd, &info, WCONTINUED, NULL); pidfd 182 tools/testing/selftests/pidfd/pidfd_wait.c test_name, parent_tid, pidfd, strerror(errno)); pidfd 187 tools/testing/selftests/pidfd/pidfd_wait.c test_name, info.si_signo, parent_tid, pidfd, pidfd 193 tools/testing/selftests/pidfd/pidfd_wait.c test_name, info.si_code, parent_tid, pidfd, pidfd 199 tools/testing/selftests/pidfd/pidfd_wait.c test_name, info.si_pid, parent_tid, pidfd, pidfd 202 tools/testing/selftests/pidfd/pidfd_wait.c ret = sys_waitid(P_PIDFD, pidfd, &info, WUNTRACED, NULL); pidfd 206 tools/testing/selftests/pidfd/pidfd_wait.c test_name, parent_tid, pidfd, strerror(errno)); pidfd 211 tools/testing/selftests/pidfd/pidfd_wait.c test_name, info.si_signo, parent_tid, pidfd, pidfd 217 tools/testing/selftests/pidfd/pidfd_wait.c test_name, info.si_code, parent_tid, pidfd, pidfd 223 tools/testing/selftests/pidfd/pidfd_wait.c test_name, info.si_pid, parent_tid, pidfd, pidfd 226 tools/testing/selftests/pidfd/pidfd_wait.c ret = sys_pidfd_send_signal(pidfd, SIGKILL, NULL, 0); pidfd 230 tools/testing/selftests/pidfd/pidfd_wait.c test_name, parent_tid, pidfd, strerror(errno)); pidfd 232 tools/testing/selftests/pidfd/pidfd_wait.c ret = sys_waitid(P_PIDFD, pidfd, &info, WEXITED, NULL); pidfd 236 tools/testing/selftests/pidfd/pidfd_wait.c test_name, parent_tid, pidfd, strerror(errno)); pidfd 241 tools/testing/selftests/pidfd/pidfd_wait.c test_name, info.si_signo, parent_tid, pidfd, pidfd 247 tools/testing/selftests/pidfd/pidfd_wait.c test_name, info.si_code, parent_tid, pidfd, pidfd 253 tools/testing/selftests/pidfd/pidfd_wait.c test_name, info.si_pid, parent_tid, pidfd, pidfd 256 tools/testing/selftests/pidfd/pidfd_wait.c close(pidfd);