59 lines
1.7 KiB
Diff
59 lines
1.7 KiB
Diff
From 268ab52e6c604555f81807307a845ffe654c3aa9 Mon Sep 17 00:00:00 2001
|
|
From: Miklos Szeredi <mszeredi@suse.cz>
|
|
Date: Thu, 27 Jun 2013 16:39:49 +0200
|
|
Subject: [PATCH 3/9] vfs: export __inode_permission() to modules
|
|
|
|
We need to be able to check inode permissions (but not filesystem implied
|
|
permissions) for stackable filesystems. Expose this interface for overlayfs.
|
|
|
|
Signed-off-by: Miklos Szeredi <mszeredi@suse.cz>
|
|
---
|
|
fs/internal.h | 5 -----
|
|
fs/namei.c | 1 +
|
|
include/linux/fs.h | 1 +
|
|
3 files changed, 2 insertions(+), 5 deletions(-)
|
|
|
|
diff --git a/fs/internal.h b/fs/internal.h
|
|
index eaa75f7..6c9ec69 100644
|
|
--- a/fs/internal.h
|
|
+++ b/fs/internal.h
|
|
@@ -42,11 +42,6 @@ static inline int __sync_blockdev(struct block_device *bdev, int wait)
|
|
extern void __init chrdev_init(void);
|
|
|
|
/*
|
|
- * namei.c
|
|
- */
|
|
-extern int __inode_permission(struct inode *, int);
|
|
-
|
|
-/*
|
|
* namespace.c
|
|
*/
|
|
extern int copy_mount_options(const void __user *, unsigned long *);
|
|
diff --git a/fs/namei.c b/fs/namei.c
|
|
index c06e521..df058f5 100644
|
|
--- a/fs/namei.c
|
|
+++ b/fs/namei.c
|
|
@@ -402,6 +402,7 @@ int __inode_permission(struct inode *inode, int mask)
|
|
|
|
return security_inode_permission(inode, mask);
|
|
}
|
|
+EXPORT_SYMBOL(__inode_permission);
|
|
|
|
/**
|
|
* sb_permission - Check superblock-level permissions
|
|
diff --git a/include/linux/fs.h b/include/linux/fs.h
|
|
index 80690b3..8a6752b 100644
|
|
--- a/include/linux/fs.h
|
|
+++ b/include/linux/fs.h
|
|
@@ -2210,6 +2210,7 @@ extern sector_t bmap(struct inode *, sector_t);
|
|
#endif
|
|
extern int notify_change(struct dentry *, struct iattr *);
|
|
extern int inode_permission(struct inode *, int);
|
|
+extern int __inode_permission(struct inode *, int);
|
|
extern int generic_permission(struct inode *, int);
|
|
|
|
static inline bool execute_ok(struct inode *inode)
|
|
--
|
|
1.8.3.2
|
|
|