[GIT PULL] overlayfs update for 5.8

From: Miklos Szeredi
Date: Tue Jun 09 2020 - 16:37:29 EST


Hi Linus,

Please pull from:

git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/vfs.git tags/ovl-update-5.8

There are some changes outside of the overlayfs tree; clone_private_mount()
was reviewed by Al, the rest are trivial. No other filesystems are
affected by these.

Fixes:

- Resolve mount option conflicts consistently.

- Sync before remount R/O.

- Fix file handle encoding corner cases.

- Fix metacopy related issues.

- Fix an unintialized return value.

- Add missing permission checks for underlying layers.

Optimizations:

- Allow multipe whiteouts to share an inode.

- Optimize small writes by inheriting SB_NOSEC from upper layer.

- Do not call ->syncfs() multiple times for sync(2).

- Do not cache negative lookups on upper layer.

- Make private internal mounts longterm.

Thanks,
Miklos

---
Amir Goldstein (5):
ovl: resolve more conflicting mount options
ovl: cleanup non-empty directories in ovl_indexdir_cleanup()
ovl: prepare to copy up without workdir
ovl: index dir act as work dir
ovl: fix out of bounds access warning in ovl_check_fb_len()

Chengguang Xu (3):
ovl: whiteout inode sharing
ovl: sync dirty data when remounting to ro mode
ovl: drop negative dentry in upper layer

Jeffle Xu (1):
ovl: inherit SB_NOSEC flag from upperdir

Konstantin Khlebnikov (1):
ovl: skip overlayfs superblocks at global sync

Lubos Dolezel (1):
ovl: return required buffer size for file handles

Miklos Szeredi (10):
ovl: pass correct flags for opening real directory
ovl: switch to mounter creds in readdir
ovl: verify permissions in ovl_path_open()
ovl: call secutiry hook in ovl_real_ioctl()
ovl: check permission to open real file
ovl: add accessor for ofs->upper_mnt
ovl: get rid of redundant members in struct ovl_fs
ovl: make private mounts longterm
ovl: only pass ->ki_flags to ovl_iocb_to_rwf()
ovl: make oip->index bool

Vivek Goyal (4):
ovl: simplify setting of origin for index lookup
ovl: use only uppermetacopy state in ovl_lookup()
ovl: initialize OVL_UPPERDATA in ovl_lookup()
ovl: fix redirect traversal on metacopy dentries

Yuxuan Shui (1):
ovl: initialize error in ovl_copy_xattr

youngjun (1):
ovl: remove unnecessary lock check

---
Documentation/filesystems/overlayfs.rst | 7 +-
Documentation/filesystems/porting.rst | 7 +
fs/namespace.c | 16 +++
fs/overlayfs/copy_up.c | 9 +-
fs/overlayfs/dir.c | 51 +++++--
fs/overlayfs/export.c | 24 ++--
fs/overlayfs/file.c | 28 +++-
fs/overlayfs/inode.c | 17 +--
fs/overlayfs/namei.c | 138 ++++++++++--------
fs/overlayfs/overlayfs.h | 11 +-
fs/overlayfs/ovl_entry.h | 10 +-
fs/overlayfs/readdir.c | 57 ++++++--
fs/overlayfs/super.c | 243 +++++++++++++++++++++-----------
fs/overlayfs/util.c | 36 ++++-
fs/sync.c | 3 +-
include/linux/fs.h | 2 +
include/linux/mount.h | 2 +
security/security.c | 1 +
18 files changed, 440 insertions(+), 222 deletions(-)