summaryrefslogtreecommitdiff
path: root/security
diff options
context:
space:
mode:
authorStephen Rothwell <sfr@canb.auug.org.au>2010-03-30 15:42:18 +1100
committerStephen Rothwell <sfr@canb.auug.org.au>2010-03-30 15:42:21 +1100
commitc7afe2d9eb78c75403e6ed1882f4e02ee90f6c6d (patch)
tree4a6bcc103baff97173041c345321e187949c11e9 /security
parent49f5c1795af2823fdfa0a6d4ec8b66bfbd0cff23 (diff)
parent48db02f1d87c626f274766edd6aef311aff1f93b (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.c16
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)