alistair23-linux/fs/overlayfs
Amir Goldstein 3428030da0 ovl: fix missing upper fs freeze protection on copy up for ioctl
Generalize the helper ovl_open_maybe_copy_up() and use it to copy up file
with data before FS_IOC_SETFLAGS ioctl.

The FS_IOC_SETFLAGS ioctl is a bit of an odd ball in vfs, which probably
caused the confusion.  File may be open O_RDONLY, but ioctl modifies the
file.  VFS does not call mnt_want_write_file() nor lock inode mutex, but
fs-specific code for FS_IOC_SETFLAGS does.  So ovl_ioctl() calls
mnt_want_write_file() for the overlay file, and fs-specific code calls
mnt_want_write_file() for upper fs file, but there was no call for
ovl_want_write() for copy up duration which prevents overlayfs from copying
up on a frozen upper fs.

Fixes: dab5ca8fd9 ("ovl: add lsattr/chattr support")
Cc: <stable@vger.kernel.org> # v4.19
Signed-off-by: Amir Goldstein <amir73il@gmail.com>
Acked-by: Vivek Goyal <vgoyal@redhat.com>
Signed-off-by: Miklos Szeredi <mszeredi@redhat.com>
2019-05-06 13:54:50 +02:00
..
copy_up.c ovl: fix missing upper fs freeze protection on copy up for ioctl 2019-05-06 13:54:50 +02:00
dir.c ovl: fix missing override creds in link of a metacopy upper 2018-11-19 16:21:29 +01:00
export.c ovl: fix decode of dir file handle with multi lower layers 2018-11-21 10:44:48 +01:00
file.c ovl: fix missing upper fs freeze protection on copy up for ioctl 2019-05-06 13:54:50 +02:00
inode.c Revert "ovl: relax permission checking on underlying layers" 2018-12-04 11:31:30 +01:00
Kconfig ovl: Provide a mount option metacopy=on/off for metadata copyup 2018-07-20 09:56:06 +02:00
Makefile ovl: stack file ops 2018-07-18 15:44:41 +02:00
namei.c ovl: fix error handling in ovl_verify_set_fh() 2018-10-26 23:34:39 +02:00
overlayfs.h ovl: fix missing upper fs freeze protection on copy up for ioctl 2019-05-06 13:54:50 +02:00
ovl_entry.h ovl: Store lower data inode in ovl_inode 2018-07-20 09:56:11 +02:00
readdir.c ovl: fix wrong use of impure dir cache in ovl_iterate() 2018-07-17 16:04:34 +02:00
super.c ovl: automatically enable redirect_dir on metacopy=on 2018-11-01 21:31:39 +01:00
util.c ovl: Do not lose security.capability xattr over metadata file copy-up 2019-02-13 11:14:46 +01:00