diff options
author | David Howells <dhowells@redhat.com> | 2012-06-25 13:55:46 +0200 |
---|---|---|
committer | Al Viro <viro@zeniv.linux.org.uk> | 2012-07-14 14:38:36 +0200 |
commit | 0bdaea9017b9d2b9996e153a71ee03555969b80e (patch) | |
tree | 112d8c8a2f0adb0b68356b1e39209454a7a6ea71 /fs/internal.h | |
parent | VFS: Pass mount flags to sget() (diff) | |
download | linux-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.h | 5 |
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 *); |