Lines Matching refs:dentry
145 static void bpf_dentry_finalize(struct dentry *dentry, struct inode *inode, in bpf_dentry_finalize() argument
148 d_instantiate(dentry, inode); in bpf_dentry_finalize()
149 dget(dentry); in bpf_dentry_finalize()
155 static int bpf_mkdir(struct inode *dir, struct dentry *dentry, umode_t mode) in bpf_mkdir() argument
169 bpf_dentry_finalize(dentry, inode, dir); in bpf_mkdir()
330 static int bpf_mkobj_ops(struct dentry *dentry, umode_t mode, void *raw, in bpf_mkobj_ops() argument
334 struct inode *dir = dentry->d_parent->d_inode; in bpf_mkobj_ops()
343 bpf_dentry_finalize(dentry, inode, dir); in bpf_mkobj_ops()
347 static int bpf_mkprog(struct dentry *dentry, umode_t mode, void *arg) in bpf_mkprog() argument
349 return bpf_mkobj_ops(dentry, mode, arg, &bpf_prog_iops, in bpf_mkprog()
353 static int bpf_mkmap(struct dentry *dentry, umode_t mode, void *arg) in bpf_mkmap() argument
357 return bpf_mkobj_ops(dentry, mode, arg, &bpf_map_iops, in bpf_mkmap()
362 static int bpf_mklink(struct dentry *dentry, umode_t mode, void *arg) in bpf_mklink() argument
366 return bpf_mkobj_ops(dentry, mode, arg, &bpf_link_iops, in bpf_mklink()
371 static struct dentry *
372 bpf_lookup(struct inode *dir, struct dentry *dentry, unsigned flags) in bpf_lookup() argument
378 strchr(dentry->d_name.name, '.')) in bpf_lookup()
381 return simple_lookup(dir, dentry, flags); in bpf_lookup()
384 static int bpf_symlink(struct inode *dir, struct dentry *dentry, in bpf_symlink() argument
402 bpf_dentry_finalize(dentry, inode, dir); in bpf_symlink()
417 static int bpf_iter_link_pin_kernel(struct dentry *parent, in bpf_iter_link_pin_kernel()
421 struct dentry *dentry; in bpf_iter_link_pin_kernel() local
425 dentry = lookup_one_len(name, parent, strlen(name)); in bpf_iter_link_pin_kernel()
426 if (IS_ERR(dentry)) { in bpf_iter_link_pin_kernel()
428 return PTR_ERR(dentry); in bpf_iter_link_pin_kernel()
430 ret = bpf_mkobj_ops(dentry, mode, link, &bpf_link_iops, in bpf_iter_link_pin_kernel()
432 dput(dentry); in bpf_iter_link_pin_kernel()
440 struct dentry *dentry; in bpf_obj_do_pin() local
446 dentry = user_path_create(AT_FDCWD, pathname, &path, 0); in bpf_obj_do_pin()
447 if (IS_ERR(dentry)) in bpf_obj_do_pin()
448 return PTR_ERR(dentry); in bpf_obj_do_pin()
452 ret = security_path_mknod(&path, dentry, mode, 0); in bpf_obj_do_pin()
456 dir = d_inode(path.dentry); in bpf_obj_do_pin()
464 ret = vfs_mkobj(dentry, mode, bpf_mkprog, raw); in bpf_obj_do_pin()
467 ret = vfs_mkobj(dentry, mode, bpf_mkmap, raw); in bpf_obj_do_pin()
470 ret = vfs_mkobj(dentry, mode, bpf_mklink, raw); in bpf_obj_do_pin()
476 done_path_create(&path, dentry); in bpf_obj_do_pin()
509 inode = d_backing_inode(path.dentry); in bpf_obj_do_get()
592 prog = __get_prog_inode(d_backing_inode(path.dentry), type); in bpf_prog_get_type_path()
603 static int bpf_show_options(struct seq_file *m, struct dentry *root) in bpf_show_options()
699 static int populate_bpffs(struct dentry *parent) in populate_bpffs()