X-Git-Url: http://drtracing.org/?a=blobdiff_plain;f=security%2Fsecurity.c;h=f2a7f27bd3e9dd2f7b3844c471b45a99dc2e81d5;hb=56909eb3f559103196ecbf2c08c923e0804980fb;hp=c4bb47db30ee53aba57746a83e6660be37c918b6;hpb=06e23d51151fd06c225c80ace26675532bdf406d;p=deliverable%2Flinux.git diff --git a/security/security.c b/security/security.c index c4bb47db30ee..f2a7f27bd3e9 100644 --- a/security/security.c +++ b/security/security.c @@ -356,7 +356,7 @@ void security_inode_free(struct inode *inode) } int security_dentry_init_security(struct dentry *dentry, int mode, - struct qstr *name, void **ctx, + const struct qstr *name, void **ctx, u32 *ctxlen) { return call_int_hook(dentry_init_security, -EOPNOTSUPP, dentry, mode, @@ -748,6 +748,12 @@ void security_inode_getsecid(struct inode *inode, u32 *secid) call_void_hook(inode_getsecid, inode, secid); } +int security_inode_copy_up(struct dentry *src, struct cred **new) +{ + return call_int_hook(inode_copy_up, 0, src, new); +} +EXPORT_SYMBOL(security_inode_copy_up); + int security_file_permission(struct file *file, int mask) { int ret; @@ -1684,6 +1690,8 @@ struct security_hook_heads security_hook_heads = { LIST_HEAD_INIT(security_hook_heads.inode_listsecurity), .inode_getsecid = LIST_HEAD_INIT(security_hook_heads.inode_getsecid), + .inode_copy_up = + LIST_HEAD_INIT(security_hook_heads.inode_copy_up), .file_permission = LIST_HEAD_INIT(security_hook_heads.file_permission), .file_alloc_security =