summaryrefslogtreecommitdiffstats
path: root/fs/internal.h
diff options
context:
space:
mode:
authorDavid Howells <dhowells@redhat.com>2012-06-25 13:55:46 +0200
committerAl Viro <viro@zeniv.linux.org.uk>2012-07-14 14:38:36 +0200
commit0bdaea9017b9d2b9996e153a71ee03555969b80e (patch)
tree112d8c8a2f0adb0b68356b1e39209454a7a6ea71 /fs/internal.h
parentVFS: Pass mount flags to sget() (diff)
downloadlinux-0bdaea9017b9d2b9996e153a71ee03555969b80e.tar.xz
linux-0bdaea9017b9d2b9996e153a71ee03555969b80e.zip
VFS: Split inode_permission()
Split inode_permission() into inode- and superblock-dependent parts. This is aimed at unionmounts where the superblock from the upper layer has to be checked rather than the superblock from the lower layer as the upper layer may be writable, thus allowing an unwritable file from the lower layer to be copied up and modified. Original-author: Valerie Aurora <vaurora@redhat.com> Signed-off-by: David Howells <dhowells@redhat.com> (Further development) Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Diffstat (limited to 'fs/internal.h')
-rw-r--r--fs/internal.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/fs/internal.h b/fs/internal.h
index 8a9f5fa840f1..a6fd56c68b11 100644
--- a/fs/internal.h
+++ b/fs/internal.h
@@ -42,6 +42,11 @@ 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 *);