Lines Matching refs:fs_fd
41 static inline int sys_fsconfig(int fs_fd, unsigned cmd, const char *key, const void *val, int aux) in sys_fsconfig() argument
43 return syscall(__NR_fsconfig, fs_fd, cmd, key, val, aux); in sys_fsconfig()
46 static inline int sys_fsmount(int fs_fd, unsigned flags, unsigned ms_flags) in sys_fsmount() argument
48 return syscall(__NR_fsmount, fs_fd, flags, ms_flags); in sys_fsmount()
71 static int set_delegate_mask(int fs_fd, const char *key, __u64 mask, const char *mask_str) in set_delegate_mask() argument
85 err = sys_fsconfig(fs_fd, FSCONFIG_SET_STRING, key, in set_delegate_mask()
107 int fs_fd; in create_bpffs_fd() local
110 fs_fd = sys_fsopen("bpf", 0); in create_bpffs_fd()
111 ASSERT_GE(fs_fd, 0, "fs_fd"); in create_bpffs_fd()
113 return fs_fd; in create_bpffs_fd()
116 static int materialize_bpffs_fd(int fs_fd, struct bpffs_opts *opts) in materialize_bpffs_fd() argument
121 err = set_delegate_mask(fs_fd, "delegate_cmds", opts->cmds, opts->cmds_str); in materialize_bpffs_fd()
124 err = set_delegate_mask(fs_fd, "delegate_maps", opts->maps, opts->maps_str); in materialize_bpffs_fd()
127 err = set_delegate_mask(fs_fd, "delegate_progs", opts->progs, opts->progs_str); in materialize_bpffs_fd()
130 err = set_delegate_mask(fs_fd, "delegate_attachs", opts->attachs, opts->attachs_str); in materialize_bpffs_fd()
135 err = sys_fsconfig(fs_fd, FSCONFIG_CMD_CREATE, NULL, NULL, 0); in materialize_bpffs_fd()
283 int mnt_fd = -1, fs_fd = -1, err = 0, bpffs_fd = -1, token_fd = -1; in child() local
312 fs_fd = create_bpffs_fd(); in child()
313 if (!ASSERT_GE(fs_fd, 0, "create_bpffs_fd")) { in child()
319 err = set_delegate_mask(fs_fd, "delegate_cmds", 0x1, NULL); in child()
321 err = set_delegate_mask(fs_fd, "delegate_maps", 0x1, NULL); in child()
323 err = set_delegate_mask(fs_fd, "delegate_progs", 0x1, NULL); in child()
325 err = set_delegate_mask(fs_fd, "delegate_attachs", 0x1, NULL); in child()
329 err = sendfd(sock_fd, fs_fd); in child()
343 mnt_fd = sys_fsmount(fs_fd, 0, 0); in child()
348 fs_fd = sys_fspick(mnt_fd, "", FSPICK_EMPTY_PATH); in child()
349 if (!ASSERT_GE(fs_fd, 0, "bpffs_fspick")) { in child()
355 err = set_delegate_mask(fs_fd, "delegate_cmds", 0, "any"); in child()
360 err = set_delegate_mask(fs_fd, "delegate_maps", 0, "any"); in child()
365 err = set_delegate_mask(fs_fd, "delegate_progs", 0, "any"); in child()
370 err = set_delegate_mask(fs_fd, "delegate_attachs", 0, "any"); in child()
375 zclose(fs_fd); in child()
403 zclose(fs_fd); in child()
434 int fs_fd = -1, token_fd = -1, err; in parent() local
437 err = recvfd(sock_fd, &fs_fd); in parent()
441 err = materialize_bpffs_fd(fs_fd, bpffs_opts); in parent()
451 zclose(fs_fd); in parent()
463 zclose(fs_fd); in parent()