Home
last modified time | relevance | path

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

12

/linux-6.15/tools/testing/selftests/pidfd/
H A Dpidfd_wait.c31 int pidfd = -1; in TEST() local
35 .pidfd = ptr_to_u64(&pidfd), in TEST()
45 ASSERT_GE(pidfd, 0); in TEST()
50 pidfd = -1; in TEST()
53 ASSERT_GE(pidfd, 0); in TEST()
58 pidfd = -1; in TEST()
79 int pidfd = -1; in TEST() local
83 .pidfd = ptr_to_u64(&pidfd), in TEST()
140 int pidfd; in TEST() local
159 EXPECT_GE(pidfd, 0) { in TEST()
[all …]
H A Dpidfd_file_handle_test.c28 int pidfd; in FIXTURE() local
160 pidfd = open_by_handle_at(self->pidfd, fh, 0); in TEST_F()
168 pidfd = open_by_handle_at(self->pidfd, fh, O_CLOEXEC); in TEST_F()
207 pidfd = open_by_handle_at(self->pidfd, fh, 0); in TEST_F()
257 int pidfd = open_by_handle_at(self->pidfd, fh, 0); in TEST_F() local
289 pidfd = open_by_handle_at(self->pidfd, fh, 0); in TEST_F()
303 pidfd = open_by_handle_at(self->pidfd, fh, 0); in TEST_F()
328 pidfd = open_by_handle_at(self->pidfd, fh, 0); in TEST_F()
342 pidfd = open_by_handle_at(self->pidfd, fh, 0); in TEST_F()
367 pidfd = open_by_handle_at(self->pidfd, fh, in TEST_F()
[all …]
H A Dpidfd_test.c88 int pidfd; in test_pidfd_send_signal_simple_success() local
105 if (pidfd < 0) in test_pidfd_send_signal_simple_success()
114 close(pidfd); in test_pidfd_send_signal_simple_success()
173 if (pidfd < 0) in test_pidfd_send_signal_exited_fail()
180 close(pidfd); in test_pidfd_send_signal_exited_fail()
288 close(pidfd); in test_pidfd_send_signal_recycled_pid_fail()
292 if (pidfd < 0) in test_pidfd_send_signal_recycled_pid_fail()
409 if (pidfd < 0) in test_pidfd_send_signal_syscall_support()
427 close(pidfd); in test_pidfd_send_signal_syscall_support()
525 close(pidfd); in test_pidfd_poll_exec()
[all …]
H A Dpidfd_open_test.c96 snprintf(path, sizeof(path), "/proc/self/fdinfo/%d", pidfd); in get_pid_from_fdinfo_file()
127 int pidfd = -1, ret = 1; in main() local
132 pidfd = sys_pidfd_open(-1, 0); in main()
133 if (pidfd >= 0) { in main()
141 pidfd = sys_pidfd_open(getpid(), 1); in main()
142 if (pidfd >= 0) { in main()
150 pidfd = sys_pidfd_open(getpid(), 0); in main()
151 if (pidfd < 0) { in main()
160 if (ioctl(pidfd, PIDFD_GET_INFO, &info) < 0) { in main()
213 if (pidfd >= 0) in main()
[all …]
H A Dpidfd_bind_mount.c95 int pidfd; in FIXTURE() local
111 self->pidfd = sys_pidfd_open(getpid(), 0); in FIXTURE_SETUP()
112 ASSERT_GE(self->pidfd, 0); in FIXTURE_SETUP()
113 ASSERT_GE(fstat(self->pidfd, &self->st1), 0); in FIXTURE_SETUP()
114 ASSERT_EQ(ioctl(self->pidfd, FS_IOC_GETVERSION, &self->gen1), 0); in FIXTURE_SETUP()
145 int pidfd; in TEST_F() local
148 sprintf(proc_path, "/proc/self/fd/%d", self->pidfd); in TEST_F()
149 pidfd = open(proc_path, O_RDONLY | O_NOCTTY | O_CLOEXEC); in TEST_F()
150 ASSERT_GE(pidfd, 0); in TEST_F()
152 ASSERT_GE(fstat(self->pidfd, &self->st2), 0); in TEST_F()
[all …]
H A Dpidfd_poll_test.c48 int pidfd; in main() local
68 pidfd = sys_pidfd_open(child_pid, 0); in main()
69 if (pidfd < 0) in main()
80 if (sys_pidfd_send_signal(pidfd, SIGKILL, NULL, 0)) in main()
85 fds.fd = pidfd; in main()
106 close(pidfd); in main()
H A Dpidfd_getfd_test.c127 int pidfd; in FIXTURE() local
157 self->pidfd = sys_pidfd_open(self->pid, 0); in FIXTURE_SETUP()
158 ASSERT_GE(self->pidfd, 0); in FIXTURE_SETUP()
172 EXPECT_EQ(0, close(self->pidfd)); in FIXTURE_TEARDOWN()
198 fd = sys_pidfd_getfd(self->pidfd, self->remote_fd, 0); in TEST_F()
210 fd = sys_pidfd_getfd(self->pidfd, self->remote_fd, 0); in TEST_F()
229 fd = sys_pidfd_getfd(self->pidfd, UNKNOWN_FD, 0); in TEST_F()
250 fds.fd = self->pidfd; in TEST_F()
263 EXPECT_EQ(sys_pidfd_getfd(self->pidfd, self->remote_fd, 0), -1); in TEST_F()
H A Dpidfd.h208 static inline int sys_pidfd_send_signal(int pidfd, int sig, siginfo_t *info, in sys_pidfd_send_signal() argument
211 return syscall(__NR_pidfd_send_signal, pidfd, sig, info, flags); in sys_pidfd_send_signal()
214 static inline int sys_pidfd_getfd(int pidfd, int fd, int flags) in sys_pidfd_getfd() argument
216 return syscall(__NR_pidfd_getfd, pidfd, fd, flags); in sys_pidfd_getfd()
224 static inline pid_t create_child(int *pidfd, unsigned flags) in create_child() argument
229 .pidfd = ptr_to_u64(pidfd), in create_child()
H A Dpidfd_fdinfo_test.c165 static int verify_fdinfo(int pidfd, struct error *err, const char *prefix, in verify_fdinfo() argument
182 snprintf(path, sizeof(path), "/proc/self/fdinfo/%d", pidfd); in verify_fdinfo()
186 pidfd); in verify_fdinfo()
212 prefix, pidfd); in verify_fdinfo()
220 int pidfd; in child_fdinfo_nspid_test() local
244 pidfd = *(int *)args; in child_fdinfo_nspid_test()
245 r = verify_fdinfo(pidfd, &err, "NSpid:", 6, "\t0\n"); in child_fdinfo_nspid_test()
H A Dpidfd_setns_test.c57 int pidfd; in FIXTURE() local
112 self->pidfd = sys_pidfd_open(self->pid, 0); in FIXTURE_SETUP()
113 EXPECT_GT(self->pidfd, 0) { in FIXTURE_SETUP()
127 self->child_pidfd_derived_nsfds[i] = ioctl(self->pidfd, info->pidfd_ioctl, 0); in FIXTURE_SETUP()
150 self->pidfd = sys_pidfd_open(self->pid, 0); in FIXTURE_SETUP()
151 EXPECT_GE(self->pidfd, 0) { in FIXTURE_SETUP()
399 ASSERT_NE(setns(self->pidfd, 0), 0); in TEST_F()
402 ASSERT_NE(setns(self->pidfd, -1), 0); in TEST_F()
405 ASSERT_NE(setns(self->pidfd, CLONE_VM), 0); in TEST_F()
408 ASSERT_NE(setns(self->pidfd, CLONE_NEWUSER | CLONE_VM), 0); in TEST_F()
/linux-6.15/samples/pidfd/
H A 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()
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()
100 procfd = pidfd_metadata_fd(pid, pidfd); in main()
[all …]
H A DMakefile2 usertprogs-always-y += pidfd-metadata
H A D.gitignore2 /pidfd-metadata
/linux-6.15/tools/testing/selftests/mm/
H A Dmrelease_test.c51 static void run_negative_tests(int pidfd) in run_negative_tests() argument
54 if (!syscall(__NR_process_mrelease, pidfd, (unsigned int)-1) || in run_negative_tests()
62 if (!syscall(__NR_process_mrelease, pidfd, 0) || errno != EINVAL) in run_negative_tests()
79 int pipefd[2], pidfd; in main() local
137 pidfd = syscall(__NR_pidfd_open, pid, 0); in main()
138 if (pidfd < 0) { in main()
145 run_negative_tests(pidfd); in main()
150 success = (syscall(__NR_process_mrelease, pidfd, 0) == 0); in main()
171 close(pidfd); in main()
/linux-6.15/tools/testing/selftests/filesystems/overlayfs/
H A Dset_layers_via_fds.c22 int pidfd; in FIXTURE() local
27 self->pidfd = -EBADF; in FIXTURE_SETUP()
34 if (self->pidfd >= 0) { in FIXTURE_TEARDOWN()
36 EXPECT_EQ(close(self->pidfd), 0); in FIXTURE_TEARDOWN()
236 int pidfd; in TEST_F() local
292 ASSERT_GE(close(pidfd), 0); in TEST_F()
305 ASSERT_GE(close(pidfd), 0); in TEST_F()
318 ASSERT_GE(close(pidfd), 0); in TEST_F()
424 self->pidfd = -EBADF; in TEST_F()
455 int pidfd; in TEST_F() local
[all …]
/linux-6.15/include/net/
H A Dscm.h139 int len, pidfd; in scm_pidfd_recv() local
157 pidfd = pidfd_prepare(scm->pid, 0, &pidfd_file); in scm_pidfd_recv()
159 if (put_cmsg(msg, SOL_SOCKET, SCM_PIDFD, sizeof(int), &pidfd)) { in scm_pidfd_recv()
161 put_unused_fd(pidfd); in scm_pidfd_recv()
169 fd_install(pidfd, pidfd_file); in scm_pidfd_recv()
/linux-6.15/samples/vfs/
H A Dmountinfo.c214 int pidfd, mntns, ret, opt; in main() local
236 pidfd = syscall(__NR_pidfd_open, pid, 0); in main()
237 if (pidfd < 0) { in main()
243 mntns = ioctl(pidfd, PIDFD_GET_MNT_NAMESPACE, NULL); in main()
248 close(pidfd); in main()
H A Dtest-list-all-mounts.c75 int ret, pidfd, fd_mntns; in main() local
78 pidfd = sys_pidfd_open(getpid(), 0); in main()
79 if (pidfd < 0) in main()
82 fd_mntns = ioctl(pidfd, PIDFD_GET_MNT_NAMESPACE, 0); in main()
/linux-6.15/tools/testing/selftests/net/af_unix/
H A Dscm_pidfd.c94 static pid_t get_pid_from_fdinfo_file(int pidfd, const char *key, size_t keylen) in get_pid_from_fdinfo_file() argument
103 snprintf(path, sizeof(path), "/proc/self/fdinfo/%d", pidfd); in get_pid_from_fdinfo_file()
138 int *pidfd = NULL; in cmsg_check() local
165 if (cmsg->cmsg_len < sizeof(*pidfd)) { in cmsg_check()
170 pidfd = (void *)CMSG_DATA(cmsg); in cmsg_check()
190 if (!pidfd) { in cmsg_check()
202 get_pid_from_fdinfo_file(*pidfd, "Pid:", sizeof("Pid:") - 1); in cmsg_check()
/linux-6.15/tools/testing/selftests/pid_namespace/
H A DMakefile6 LOCAL_HDRS += $(selfdir)/pidfd/pidfd.h
/linux-6.15/kernel/
H A Dpid.c573 struct task_struct *pidfd_get_task(int pidfd, unsigned int *flags) in pidfd_get_task() argument
580 switch (pidfd) { in pidfd_get_task()
590 pid = pidfd_get_pid(pidfd, &f_flags); in pidfd_get_task()
624 int pidfd; in pidfd_create() local
627 pidfd = pidfd_prepare(pid, flags, &pidfd_file); in pidfd_create()
628 if (pidfd < 0) in pidfd_create()
629 return pidfd; in pidfd_create()
631 fd_install(pidfd, pidfd_file); in pidfd_create()
632 return pidfd; in pidfd_create()
876 SYSCALL_DEFINE3(pidfd_getfd, int, pidfd, int, fd, in SYSCALL_DEFINE3() argument
[all …]
/linux-6.15/tools/testing/selftests/cgroup/
H A DMakefile21 LOCAL_HDRS += $(selfdir)/clone3/clone3_selftests.h $(selfdir)/pidfd/pidfd.h
/linux-6.15/arch/sparc/kernel/
H A Dprocess.c80 args.pidfd = compat_ptr(regs->u_regs[UREG_I2]); in sparc_clone()
86 args.pidfd = (int __user *)regs->u_regs[UREG_I2]; in sparc_clone()
/linux-6.15/fs/notify/fanotify/
H A Dfanotify_user.c553 static int copy_pidfd_info_to_user(int pidfd, in copy_pidfd_info_to_user() argument
565 info.pidfd = pidfd; in copy_pidfd_info_to_user()
599 unsigned int info_mode, int pidfd, in copy_info_records_to_user() argument
700 ret = copy_pidfd_info_to_user(pidfd, buf, count); in copy_info_records_to_user()
749 int ret, pidfd = -ESRCH, fd = -EBADF; in copy_event_to_user() local
830 pidfd = pidfd_prepare(event->pid, 0, &pidfd_file); in copy_event_to_user()
832 if (!FAN_GROUP_FLAG(group, FAN_REPORT_FD_ERROR) && pidfd < 0) in copy_event_to_user()
833 pidfd = pidfd == -ESRCH ? FAN_NOPIDFD : FAN_EPIDFD; in copy_event_to_user()
850 ret = copy_info_records_to_user(event, info, info_mode, pidfd, in copy_event_to_user()
859 fd_install(pidfd, pidfd_file); in copy_event_to_user()
[all …]
/linux-6.15/tools/testing/selftests/clone3/
H A Dclone3_selftests.h24 __aligned_u64 pidfd; member

12