5faf153ebf
don't call file_pos_write() if vfs_{read,write}{,v}() fails
...
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2013-06-29 12:57:15 +04:00
13f8e9810b
SELinux: Institute file_path_has_perm()
...
Create a file_path_has_perm() function that is like path_has_perm() but
instead takes a file struct that is the source of both the path and the
inode (rather than getting the inode from the dentry in the path). This
is then used where appropriate.
This will be useful for situations like unionmount where it will be
possible to have an apparently-negative dentry (eg. a fallthrough) that is
open with the file struct pointing to an inode on the lower fs.
Signed-off-by: David Howells <dhowells@redhat.com>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2013-06-29 12:57:14 +04:00
c77cecee52
Replace a bunch of file->dentry->d_inode refs with file_inode()
...
Replace a bunch of file->dentry->d_inode refs with file_inode().
In __fput(), use file->f_inode instead so as not to be affected by any tricks
that file_inode() might grow.
Signed-off-by: David Howells <dhowells@redhat.com>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2013-06-29 12:57:13 +04:00
656d09df8f
udf: provide ->tmpfile()
...
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2013-06-29 12:57:12 +04:00
e6bbef9542
ext3 ->tmpfile() support
...
In this case we do need a bit more than usual, due to orphan
list handling.
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2013-06-29 12:57:12 +04:00
f4e0c30c19
allow the temp files created by open() to be linked to
...
O_TMPFILE | O_CREAT => linkat() with AT_SYMLINK_FOLLOW and /proc/self/fd/<n>
as oldpath (i.e. flink()) will create a link
O_TMPFILE | O_CREAT | O_EXCL => ENOENT on attempt to link those guys
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2013-06-29 12:57:11 +04:00
60545d0d46
[O_TMPFILE] it's still short a few helpers, but infrastructure should be OK now...
...
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2013-06-29 12:57:10 +04:00
f9652e10c1
allow build_open_flags() to return an error
...
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2013-06-29 12:57:09 +04:00
50cd2c5776
lift file_*_write out of do_splice_direct()
...
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2013-06-29 12:57:08 +04:00
500368f7fb
lift file_*_write out of do_splice_from()
...
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2013-06-29 12:57:08 +04:00
bc77daa783
do_last(): fix missing checks for LAST_BIND case
...
/proc/self/cwd with O_CREAT should fail with EISDIR. /proc/self/exe, OTOH,
should fail with ENOTDIR when opened with O_DIRECTORY.
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2013-06-29 12:57:07 +04:00
0888c321de
pcm_native: switch to fdget()/fdput()
...
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2013-06-29 12:57:06 +04:00
ac6614b764
[readdir] constify ->actor
...
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2013-06-29 12:57:05 +04:00
2233f31aad
[readdir] ->readdir() is gone
...
everything's converted to ->iterate()
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2013-06-29 12:57:04 +04:00
2de5f059c4
[readdir] convert ecryptfs
...
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2013-06-29 12:57:04 +04:00
e924f25126
[readdir] convert coda
...
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2013-06-29 12:57:03 +04:00
3704412bdb
[readdir] convert ocfs2
...
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2013-06-29 12:57:02 +04:00
2c6a2473b8
[readdir] convert fatfs
...
... pox upon the idiotic ioctls; life would be much easier without
those.
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2013-06-29 12:57:01 +04:00
b8227554c9
[readdir] convert xfs
...
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2013-06-29 12:57:00 +04:00
9cdda8d31f
[readdir] convert btrfs
...
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2013-06-29 12:57:00 +04:00
8e28bc7e71
[readdir] convert hostfs
...
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2013-06-29 12:56:59 +04:00
1bbae9f818
[readdir] convert afs
...
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2013-06-29 12:56:58 +04:00
76f582a8f6
[readdir] convert ncpfs
...
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2013-06-29 12:56:57 +04:00
e72514e7ad
[readdir] convert hfsplus
...
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2013-06-29 12:56:56 +04:00
002f8bec85
[readdir] convert hfs
...
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2013-06-29 12:56:55 +04:00
f0f49ef5ce
[readdir] convert befs
...
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2013-06-29 12:56:55 +04:00
be4ccdcc25
[readdir] convert cifs
...
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2013-06-29 12:56:54 +04:00
9b5d5a1707
[readdir] convert freevxfs
...
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2013-06-29 12:56:53 +04:00
8d3af7f333
[readdir] convert fuse
...
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2013-06-29 12:56:52 +04:00
568f8f5ec5
[readdir] convert hpfs
...
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2013-06-29 12:56:51 +04:00
cd62cdae0b
reiserfs: switch reiserfs_readdir_dentry to inode
...
... and clean the callers up a bit
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2013-06-29 12:56:51 +04:00
99ce4169a9
reiserfs: is_privroot_deh() needs only directory inode, actually
...
... and that - only to get the superblock. Privroot is a directory
and we don't allow hardlinks to those...
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2013-06-29 12:56:50 +04:00
4acf381e1b
[readdir] convert reiserfs
...
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2013-06-29 12:56:49 +04:00
956ce2083c
[readdir] convert ntfs
...
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2013-06-29 12:56:48 +04:00
bfee7169c0
[readdir] convert isofs
...
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2013-06-29 12:56:47 +04:00
0312fa7ccd
[readdir] convert jffs2
...
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2013-06-29 12:56:47 +04:00
6f7f231e7b
[readdir] convert f2fs
...
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2013-06-29 12:56:46 +04:00
8f29843a51
[readdir] convert 9p
...
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2013-06-29 12:56:45 +04:00
0edf977d2a
[readdir] convert affs
...
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2013-06-29 12:56:44 +04:00
2638ffbac9
[readdir] convert adfs
...
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2013-06-29 12:56:44 +04:00
46d0733801
[readdir] convert logfs
...
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2013-06-29 12:56:43 +04:00
070a0ebf42
[readdir] convert jfs
...
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2013-06-29 12:56:42 +04:00
77acfa29e1
[readdir] convert ceph
...
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2013-06-29 12:56:41 +04:00
23db862060
[readdir] convert nfs
...
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2013-06-29 12:56:40 +04:00
725bebb278
[readdir] convert ext4
...
and trim the living hell out bogosities in inline dir case
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2013-06-29 12:56:40 +04:00
4deb398a1b
[readdir] convert qnx6
...
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2013-06-29 12:56:39 +04:00
663f4deca7
[readdir] convert qnx4
...
... and use strnlen() instead of strlen() - it's done on untrusted data,
after all.
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2013-06-29 12:56:38 +04:00
9fd4d05949
[readdir] convert omfs
...
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2013-06-29 12:56:37 +04:00
1616abe841
[readdir] convert nilfs2
...
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2013-06-29 12:56:36 +04:00
d55fea8ddb
[readdir] convert sysfs
...
get rid of the kludges in sysfs_readdir()
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2013-06-29 12:56:36 +04:00