2007-04-23 01:41:36 +00:00
|
|
|
From: Andreas Gruenbacher <agruen@suse.de>
|
|
|
|
Subject: Fix file_permission()
|
|
|
|
|
|
|
|
We cannot easily switch from file_permission() to vfs_permission()
|
|
|
|
everywhere, so fix file_permission() to not use a NULL nameidata
|
|
|
|
for the remaining users.
|
|
|
|
|
|
|
|
Signed-off-by: Andreas Gruenbacher <agruen@suse.de>
|
2007-06-26 22:14:37 +00:00
|
|
|
Signed-off-by: John Johansen <jjohansen@suse.de>
|
2007-04-23 01:41:36 +00:00
|
|
|
|
|
|
|
---
|
2008-07-02 20:24:33 +00:00
|
|
|
fs/namei.c | 7 ++++++-
|
|
|
|
1 file changed, 6 insertions(+), 1 deletion(-)
|
2007-04-23 01:41:36 +00:00
|
|
|
|
|
|
|
--- a/fs/namei.c
|
|
|
|
+++ b/fs/namei.c
|
2008-07-02 20:24:33 +00:00
|
|
|
@@ -318,7 +318,12 @@ int vfs_permission(struct nameidata *nd,
|
2007-04-23 01:41:36 +00:00
|
|
|
*/
|
|
|
|
int file_permission(struct file *file, int mask)
|
|
|
|
{
|
|
|
|
- return permission(file->f_path.dentry->d_inode, mask, NULL);
|
2007-04-27 19:57:30 +00:00
|
|
|
+ struct nameidata nd;
|
2007-07-15 21:33:35 +00:00
|
|
|
+
|
2008-07-02 20:24:33 +00:00
|
|
|
+ nd.path = file->f_path;
|
2007-04-27 19:57:30 +00:00
|
|
|
+ nd.flags = LOOKUP_ACCESS;
|
2007-04-23 01:41:36 +00:00
|
|
|
+
|
2008-07-02 20:24:33 +00:00
|
|
|
+ return permission(nd.path.dentry->d_inode, mask, &nd);
|
2007-04-23 01:41:36 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
/*
|