Lines Matching defs:inode
200 * The inode blob gets an rcu_head in addition to
340 init_debug("inode blob size = %d\n", blob_sizes.lbs_inode);
578 * lsm_inode_alloc - allocate a composite inode blob
579 * @inode: the inode that needs a blob
581 * Allocate the inode blob for all the modules
585 int lsm_inode_alloc(struct inode *inode)
588 inode->i_security = NULL;
592 inode->i_security = kmem_cache_zalloc(lsm_inode_cache, GFP_NOFS);
593 if (inode->i_security == NULL)
986 int security_inode_alloc(struct inode *inode)
988 int rc = lsm_inode_alloc(inode);
992 rc = call_int_hook(inode_alloc_security, 0, inode);
994 security_inode_free(inode);
1001 * The rcu head is at the start of the inode blob
1006 void security_inode_free(struct inode *inode)
1008 integrity_inode_free(inode);
1009 call_void_hook(inode_free_security, inode);
1011 * The inode may still be referenced in a path walk and
1016 * leave the current inode->i_security pointer intact.
1017 * The inode will be freed after the RCU grace period too.
1019 if (inode->i_security)
1020 call_rcu((struct rcu_head *)inode->i_security,
1042 int security_inode_init_security(struct inode *inode, struct inode *dir,
1050 if (unlikely(IS_PRIVATE(inode)))
1054 return call_int_hook(inode_init_security, -EOPNOTSUPP, inode,
1058 ret = call_int_hook(inode_init_security, -EOPNOTSUPP, inode, dir, qstr,
1066 ret = evm_inode_init_security(inode, lsm_xattr, evm_xattr);
1069 ret = initxattrs(inode, new_xattrs, fs_data);
1077 int security_old_inode_init_security(struct inode *inode, struct inode *dir,
1081 if (unlikely(IS_PRIVATE(inode)))
1083 return call_int_hook(inode_init_security, -EOPNOTSUPP, inode, dir,
1184 int security_inode_create(struct inode *dir, struct dentry *dentry, umode_t mode)
1192 int security_inode_link(struct dentry *old_dentry, struct inode *dir,
1200 int security_inode_unlink(struct inode *dir, struct dentry *dentry)
1207 int security_inode_symlink(struct inode *dir, struct dentry *dentry,
1215 int security_inode_mkdir(struct inode *dir, struct dentry *dentry, umode_t mode)
1223 int security_inode_rmdir(struct inode *dir, struct dentry *dentry)
1230 int security_inode_mknod(struct inode *dir, struct dentry *dentry, umode_t mode, dev_t dev)
1237 int security_inode_rename(struct inode *old_dir, struct dentry *old_dentry,
1238 struct inode *new_dir, struct dentry *new_dentry,
1263 int security_inode_follow_link(struct dentry *dentry, struct inode *inode,
1266 if (unlikely(IS_PRIVATE(inode)))
1268 return call_int_hook(inode_follow_link, 0, dentry, inode, rcu);
1271 int security_inode_permission(struct inode *inode, int mask)
1273 if (unlikely(IS_PRIVATE(inode)))
1275 return call_int_hook(inode_permission, 0, inode, mask);
1376 int security_inode_getsecurity(struct inode *inode, const char *name, void **buffer, bool alloc)
1381 if (unlikely(IS_PRIVATE(inode)))
1387 rc = hp->hook.inode_getsecurity(inode, name, buffer, alloc);
1394 int security_inode_setsecurity(struct inode *inode, const char *name, const void *value, size_t size, int flags)
1399 if (unlikely(IS_PRIVATE(inode)))
1405 rc = hp->hook.inode_setsecurity(inode, name, value, size,
1413 int security_inode_listsecurity(struct inode *inode, char *buffer, size_t buffer_size)
1415 if (unlikely(IS_PRIVATE(inode)))
1417 return call_int_hook(inode_listsecurity, 0, inode, buffer, buffer_size);
1421 void security_inode_getsecid(struct inode *inode, u32 *secid)
1423 call_void_hook(inode_getsecid, inode, secid);
1695 int security_kernel_create_files_as(struct cred *new, struct inode *inode)
1697 return call_int_hook(kernel_create_files_as, 0, new, inode);
1859 void security_task_to_inode(struct task_struct *p, struct inode *inode)
1861 call_void_hook(task_to_inode, p, inode);
2004 void security_d_instantiate(struct dentry *dentry, struct inode *inode)
2006 if (unlikely(inode && IS_PRIVATE(inode)))
2008 call_void_hook(d_instantiate, dentry, inode);
2081 void security_inode_invalidate_secctx(struct inode *inode)
2083 call_void_hook(inode_invalidate_secctx, inode);
2087 int security_inode_notifysecctx(struct inode *inode, void *ctx, u32 ctxlen)
2089 return call_int_hook(inode_notifysecctx, 0, inode, ctx, ctxlen);
2099 int security_inode_getsecctx(struct inode *inode, void **ctx, u32 *ctxlen)
2108 rc = hp->hook.inode_getsecctx(inode, ctx, ctxlen);