Lines Matching refs:dentry
117 static int aafs_show_path(struct seq_file *seq, struct dentry *dentry) in aafs_show_path() argument
119 seq_printf(seq, "%s:[%lu]", AAFS_NAME, d_inode(dentry)->i_ino); in aafs_show_path()
181 static int __aafs_setup_d_inode(struct inode *dir, struct dentry *dentry, in __aafs_setup_d_inode() argument
189 AA_BUG(!dentry); in __aafs_setup_d_inode()
209 d_instantiate(dentry, inode); in __aafs_setup_d_inode()
210 dget(dentry); in __aafs_setup_d_inode()
231 static struct dentry *aafs_create(const char *name, umode_t mode, in aafs_create()
232 struct dentry *parent, void *data, void *link, in aafs_create()
236 struct dentry *dentry; in aafs_create() local
253 dentry = lookup_one_len(name, parent, strlen(name)); in aafs_create()
254 if (IS_ERR(dentry)) { in aafs_create()
255 error = PTR_ERR(dentry); in aafs_create()
259 if (d_really_is_positive(dentry)) { in aafs_create()
264 error = __aafs_setup_d_inode(dir, dentry, mode, data, link, fops, iops); in aafs_create()
269 return dentry; in aafs_create()
272 dput(dentry); in aafs_create()
292 static struct dentry *aafs_create_file(const char *name, umode_t mode, in aafs_create_file()
293 struct dentry *parent, void *data, in aafs_create_file()
307 static struct dentry *aafs_create_dir(const char *name, struct dentry *parent) in aafs_create_dir()
324 static struct dentry *aafs_create_symlink(const char *name, in aafs_create_symlink()
325 struct dentry *parent, in aafs_create_symlink()
330 struct dentry *dent; in aafs_create_symlink()
350 static void aafs_remove(struct dentry *dentry) in aafs_remove() argument
354 if (!dentry || IS_ERR(dentry)) in aafs_remove()
357 dir = d_inode(dentry->d_parent); in aafs_remove()
359 if (simple_positive(dentry)) { in aafs_remove()
360 if (d_is_dir(dentry)) in aafs_remove()
361 simple_rmdir(dir, dentry); in aafs_remove()
363 simple_unlink(dir, dentry); in aafs_remove()
364 d_delete(dentry); in aafs_remove()
365 dput(dentry); in aafs_remove()
1349 struct dentry *dent, *dir; in __aa_fs_create_rawdata()
1460 static struct dentry *create_profile_file(struct dentry *dir, const char *name, in create_profile_file()
1465 struct dentry *dent; in create_profile_file()
1516 static const char *rawdata_get_link_base(struct dentry *dentry, in rawdata_get_link_base() argument
1527 if (!dentry) in rawdata_get_link_base()
1544 static const char *rawdata_get_link_sha1(struct dentry *dentry, in rawdata_get_link_sha1() argument
1548 return rawdata_get_link_base(dentry, inode, done, "sha1"); in rawdata_get_link_sha1()
1551 static const char *rawdata_get_link_abi(struct dentry *dentry, in rawdata_get_link_abi() argument
1555 return rawdata_get_link_base(dentry, inode, done, "abi"); in rawdata_get_link_abi()
1558 static const char *rawdata_get_link_data(struct dentry *dentry, in rawdata_get_link_data() argument
1562 return rawdata_get_link_base(dentry, inode, done, "raw_data"); in rawdata_get_link_data()
1580 int __aafs_profile_mkdir(struct aa_profile *profile, struct dentry *parent) in __aafs_profile_mkdir()
1583 struct dentry *dent = NULL, *dir; in __aafs_profile_mkdir()
1689 static int ns_mkdir_op(struct inode *dir, struct dentry *dentry, umode_t mode) in ns_mkdir_op() argument
1715 error = __aafs_setup_d_inode(dir, dentry, mode | S_IFDIR, NULL, in ns_mkdir_op()
1720 ns = __aa_find_or_create_ns(parent, READ_ONCE(dentry->d_name.name), in ns_mkdir_op()
1721 dentry); in ns_mkdir_op()
1738 static int ns_rmdir_op(struct inode *dir, struct dentry *dentry) in ns_rmdir_op() argument
1757 inode_unlock(dentry->d_inode); in ns_rmdir_op()
1760 ns = aa_get_ns(__aa_findn_ns(&parent->sub_ns, dentry->d_name.name, in ns_rmdir_op()
1761 dentry->d_name.len)); in ns_rmdir_op()
1766 AA_BUG(ns_dir(ns) != dentry); in ns_rmdir_op()
1774 inode_lock(dentry->d_inode); in ns_rmdir_op()
1849 static int __aafs_ns_mkdir_entries(struct aa_ns *ns, struct dentry *dir) in __aafs_ns_mkdir_entries()
1851 struct dentry *dent; in __aafs_ns_mkdir_entries()
1908 int __aafs_ns_mkdir(struct aa_ns *ns, struct dentry *parent, const char *name, in __aafs_ns_mkdir()
1909 struct dentry *dent) in __aafs_ns_mkdir()
1913 struct dentry *dir; in __aafs_ns_mkdir()
2311 struct dentry *parent) in entry_create_file()
2315 fs_file->dentry = securityfs_create_file(fs_file->name, in entry_create_file()
2319 if (IS_ERR(fs_file->dentry)) { in entry_create_file()
2320 error = PTR_ERR(fs_file->dentry); in entry_create_file()
2321 fs_file->dentry = NULL; in entry_create_file()
2335 struct dentry *parent) in entry_create_dir()
2338 struct dentry *dir; in entry_create_dir()
2344 fs_dir->dentry = dir; in entry_create_dir()
2348 error = entry_create_dir(fs_file, fs_dir->dentry); in entry_create_dir()
2350 error = entry_create_file(fs_file, fs_dir->dentry); in entry_create_dir()
2369 if (!fs_file->dentry) in entry_remove_file()
2372 securityfs_remove(fs_file->dentry); in entry_remove_file()
2373 fs_file->dentry = NULL; in entry_remove_file()
2408 static int aa_mk_null_file(struct dentry *parent) in aa_mk_null_file()
2411 struct dentry *dentry; in aa_mk_null_file() local
2420 dentry = lookup_one_len(NULL_FILE_NAME, parent, strlen(NULL_FILE_NAME)); in aa_mk_null_file()
2421 if (IS_ERR(dentry)) { in aa_mk_null_file()
2422 error = PTR_ERR(dentry); in aa_mk_null_file()
2436 d_instantiate(dentry, inode); in aa_mk_null_file()
2437 aa_null.dentry = dget(dentry); in aa_mk_null_file()
2443 dput(dentry); in aa_mk_null_file()
2452 static const char *policy_get_link(struct dentry *dentry, in policy_get_link() argument
2459 if (!dentry) in policy_get_link()
2463 path.dentry = dget(ns_dir(ns)); in policy_get_link()
2470 static int policy_readlink(struct dentry *dentry, char __user *buffer, in policy_readlink() argument
2477 d_inode(dentry)->i_ino); in policy_readlink()
2501 struct dentry *dent; in aa_create_aafs()
2507 if (aa_sfs_entry.dentry) { in aa_create_aafs()
2523 dent = securityfs_create_file(".load", 0666, aa_sfs_entry.dentry, in aa_create_aafs()
2529 dent = securityfs_create_file(".replace", 0666, aa_sfs_entry.dentry, in aa_create_aafs()
2535 dent = securityfs_create_file(".remove", 0666, aa_sfs_entry.dentry, in aa_create_aafs()
2541 dent = securityfs_create_file("revision", 0444, aa_sfs_entry.dentry, in aa_create_aafs()
2556 dent = securityfs_create_symlink("policy", aa_sfs_entry.dentry, in aa_create_aafs()
2561 error = aa_mk_null_file(aa_sfs_entry.dentry); in aa_create_aafs()