diff options
author | Stephen Rothwell <sfr@canb.auug.org.au> | 2010-03-30 15:42:18 +1100 |
---|---|---|
committer | Stephen Rothwell <sfr@canb.auug.org.au> | 2010-03-30 15:42:21 +1100 |
commit | c7afe2d9eb78c75403e6ed1882f4e02ee90f6c6d (patch) | |
tree | 4a6bcc103baff97173041c345321e187949c11e9 /security | |
parent | 49f5c1795af2823fdfa0a6d4ec8b66bfbd0cff23 (diff) | |
parent | 48db02f1d87c626f274766edd6aef311aff1f93b (diff) |
Merge remote branch 'fsnotify/for-next'
Conflicts:
fs/notify/inotify/inotify_user.c
include/linux/fsnotify.h
kernel/audit_tree.c
kernel/sysctl.c
Diffstat (limited to 'security')
-rw-r--r-- | security/security.c | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/security/security.c b/security/security.c index b98334b0a576..84884f943438 100644 --- a/security/security.c +++ b/security/security.c @@ -662,7 +662,13 @@ void security_inode_getsecid(const struct inode *inode, u32 *secid) int security_file_permission(struct file *file, int mask) { - return security_ops->file_permission(file, mask); + int ret; + + ret = security_ops->file_permission(file, mask); + if (ret) + return ret; + + return fsnotify_perm(file, mask); } int security_file_alloc(struct file *file) @@ -726,7 +732,13 @@ int security_file_receive(struct file *file) int security_dentry_open(struct file *file, const struct cred *cred) { - return security_ops->dentry_open(file, cred); + int ret; + + ret = security_ops->dentry_open(file, cred); + if (ret) + return ret; + + return fsnotify_perm(file, MAY_OPEN); } int security_task_create(unsigned long clone_flags) |