summaryrefslogtreecommitdiff
path: root/security
diff options
context:
space:
mode:
authorStephen Rothwell <sfr@canb.auug.org.au>2010-02-26 16:23:14 +1100
committerStephen Rothwell <sfr@canb.auug.org.au>2010-02-26 16:23:14 +1100
commit22aff39725ba0edbcdf9218b5754f34102e82589 (patch)
tree700f6a655f7e18cb9df41105110c66a25dff48a2 /security
parent08d396afc1db45d9d746efa879b44dbee1aef9a6 (diff)
parent6c3cc43e21c326a5f7a741e5dcc828736d49de25 (diff)
Merge remote branch 'fsnotify/for-next'
Conflicts: fs/notify/inotify/inotify_user.c kernel/audit_tree.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 687c6fd14bb6..a955e9ecf8cf 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)