kernel_optimize_test/fs
Miklos Szeredi 9767d74957 [patch 1/4] vfs: utimes: move owner check into inode_change_ok()
Add a new ia_valid flag: ATTR_TIMES_SET, to handle the
UTIMES_OMIT/UTIMES_NOW and UTIMES_NOW/UTIMES_OMIT cases.  In these
cases neither ATTR_MTIME_SET nor ATTR_ATIME_SET is in the flags, yet
the POSIX draft specifies that permission checking is performed the
same way as if one or both of the times was explicitly set to a
timestamp.

See the path "vfs: utimensat(): fix error checking for
{UTIME_NOW,UTIME_OMIT} case" by Michael Kerrisk for the patch
introducing this behavior.

This is a cleanup, as well as allowing filesystems (NFS/fuse/...) to
perform their own permission checking instead of the default.

CC: Ulrich Drepper <drepper@redhat.com>
CC: Michael Kerrisk <mtk.manpages@gmail.com>
Signed-off-by: Miklos Szeredi <mszeredi@suse.cz>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2008-07-26 20:53:25 -04:00
..
9p
adfs
affs
afs [PATCH] sanitize ->permission() prototype 2008-07-26 20:53:14 -04:00
autofs
autofs4
befs
bfs
cifs [PATCH] sanitize ->permission() prototype 2008-07-26 20:53:14 -04:00
coda [PATCH] sanitize ->permission() prototype 2008-07-26 20:53:14 -04:00
configfs
cramfs
debugfs
devpts
dlm
ecryptfs [patch 5/5] vfs: remove mode parameter from vfs_symlink() 2008-07-26 20:53:18 -04:00
efs
exportfs
ext2 [PATCH] sanitize ->permission() prototype 2008-07-26 20:53:14 -04:00
ext3 [PATCH] sanitize ->permission() prototype 2008-07-26 20:53:14 -04:00
ext4 [PATCH] sanitize ->permission() prototype 2008-07-26 20:53:14 -04:00
fat
freevxfs
fuse [PATCH] fix MAY_CHDIR/MAY_ACCESS/LOOKUP_ACCESS mess 2008-07-26 20:53:21 -04:00
gfs2 [PATCH] sanitize ->permission() prototype 2008-07-26 20:53:14 -04:00
hfs [PATCH] sanitize ->permission() prototype 2008-07-26 20:53:14 -04:00
hfsplus [PATCH] sanitize ->permission() prototype 2008-07-26 20:53:14 -04:00
hostfs [PATCH] sanitize ->permission() prototype 2008-07-26 20:53:14 -04:00
hpfs [patch 05/14] hpfs: dont call permission() 2008-07-26 20:53:13 -04:00
hppfs [patch] hppfs: remove hppfs_permission 2008-07-26 20:53:07 -04:00
hugetlbfs
isofs
jbd
jbd2
jffs2 [PATCH] sanitize ->permission() prototype 2008-07-26 20:53:14 -04:00
jfs [PATCH] sanitize ->permission() prototype 2008-07-26 20:53:14 -04:00
lockd
minix
msdos
ncpfs
nfs [PATCH] sanitize ->permission() prototype 2008-07-26 20:53:14 -04:00
nfs_common
nfsd [patch 5/5] vfs: remove mode parameter from vfs_symlink() 2008-07-26 20:53:18 -04:00
nls
ntfs [patch 3/5] vfs: change remove_suid() to file_remove_suid() 2008-07-26 20:53:16 -04:00
ocfs2 [PATCH] sanitize ->permission() prototype 2008-07-26 20:53:14 -04:00
omfs
openpromfs
partitions
proc [PATCH] sanitize ->permission() prototype 2008-07-26 20:53:14 -04:00
qnx4
ramfs
reiserfs [PATCH] sanitize ->permission() prototype 2008-07-26 20:53:14 -04:00
romfs
smbfs [PATCH] sanitize ->permission() prototype 2008-07-26 20:53:14 -04:00
sysfs
sysv
ubifs
udf
ufs
vfat
xfs [patch 3/5] vfs: change remove_suid() to file_remove_suid() 2008-07-26 20:53:16 -04:00
aio.c
anon_inodes.c
attr.c [patch 1/4] vfs: utimes: move owner check into inode_change_ok() 2008-07-26 20:53:25 -04:00
bad_inode.c [PATCH] sanitize ->permission() prototype 2008-07-26 20:53:14 -04:00
binfmt_aout.c
binfmt_elf_fdpic.c
binfmt_elf.c
binfmt_em86.c
binfmt_flat.c
binfmt_misc.c
binfmt_script.c
binfmt_som.c
bio-integrity.c
bio.c
block_dev.c
buffer.c
char_dev.c
compat_binfmt_elf.c
compat_ioctl.c
compat.c
dcache.c
dcookies.c
direct-io.c
dnotify.c
dquot.c
drop_caches.c
eventfd.c
eventpoll.c
exec.c [PATCH] pass MAY_OPEN to vfs_permission() explicitly 2008-07-26 20:53:22 -04:00
fcntl.c
fifo.c
file_table.c
file.c
filesystems.c
fs-writeback.c
generic_acl.c
inode.c
inotify_user.c
inotify.c
internal.h
ioctl.c
ioprio.c
Kconfig
Kconfig.binfmt
libfs.c
locks.c
Makefile
mbcache.c
mpage.c
namei.c [PATCH] more nameidata removal: exec_permission_lite() doesn't need it 2008-07-26 20:53:23 -04:00
namespace.c [PATCH] vfs: use kstrdup() and check failing allocation 2008-07-26 20:53:24 -04:00
nfsctl.c
no-block.c
open.c [PATCH] fix MAY_CHDIR/MAY_ACCESS/LOOKUP_ACCESS mess 2008-07-26 20:53:21 -04:00
pipe.c
pnode.c
pnode.h
posix_acl.c
quota_v1.c
quota_v2.c
quota.c
read_write.c
read_write.h
readdir.c
select.c
seq_file.c
signalfd.c
splice.c [patch 3/5] vfs: change remove_suid() to file_remove_suid() 2008-07-26 20:53:16 -04:00
stack.c
stat.c
super.c
sync.c
timerfd.c
utimes.c [patch 1/4] vfs: utimes: move owner check into inode_change_ok() 2008-07-26 20:53:25 -04:00
xattr_acl.c
xattr.c