Hi Linus, I am joining Miklos in the maintanance of overlayfs kernel code. This is my first pull request, so I hope I got everything in order. This branch has been sitting in linux-next for over a week and it has gone through all the usual overlayfs test routines. It merges cleanly with master branch of the moment. FYI, there is an overlayfs related vfs change (struct backing_file) [6] that was just merged via Christain's vfs tree [7]. That change is independent of the overlayfs changes in this pull request. Nevertheless, the changes in this pull request have been tested together with that vfs change. Please refer to details about contained patch sets below. Thanks, Amir. ---------------------------------------------------------------- The following changes since commit 858fd168a95c5b9669aac8db6c14a9aeab446375: Linux 6.4-rc6 (2023-06-11 14:35:30 -0700) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/overlayfs/vfs.git tags/ovl-update-6.5 for you to fetch changes up to 62149a745eee03194f025021640c80b84353089b: ovl: add Amir as co-maintainer (2023-06-20 18:29:12 +0300) ---------------------------------------------------------------- overlayfs update for 6.5 Contains the following patch sets: - Zhihao Cheng investigated and fixed two NULL pointer deref bugs [1] ovl: Fix null ptr dereference at realinode in rcu-walk - Added support for "data-only" lower layers destined to be used by composefs [2] Overlayfs lazy lookup of lowerdata - Christian Brauner ported overlayfs to the new mount api [3] Prep patches for porting overlayfs to new mount api [4] ovl: port to new mount api & updated layer parsing [5] ovl: reserve ability to reconfigure mount options with new mount api [1] https://lore.kernel.org/r/20230516141619.2160800-1-chengzhihao1@xxxxxxxxxx [2] https://lore.kernel.org/r/20230427130539.2798797-1-amir73il@xxxxxxxxx [3] https://lore.kernel.org/r/20230617084702.2468470-1-amir73il@xxxxxxxxx [4] https://lore.kernel.org/r/20230605-fs-overlayfs-mount_api-v3-0-730d9646b27d@xxxxxxxxxx [5] https://lore.kernel.org/r/20230620-fs-overlayfs-mount-api-remount-v1-1-6dfcb89088e3@xxxxxxxxxx [6] https://lore.kernel.org/r/20230615112229.2143178-1-amir73il@xxxxxxxxx [7] https://lore.kernel.org/r/20230623-waldarbeiten-normung-c160bb98bf10@brauner ---------------------------------------------------------------- Amir Goldstein (18): ovl: update of dentry revalidate flags after copy up ovl: use OVL_E() and OVL_E_FLAGS() accessors ovl: use ovl_numlower() and ovl_lowerstack() accessors ovl: factor out ovl_free_entry() and ovl_stack_*() helpers ovl: move ovl_entry into ovl_inode ovl: deduplicate lowerpath and lowerstack[] ovl: deduplicate lowerdata and lowerstack[] ovl: remove unneeded goto instructions ovl: introduce data-only lower layers ovl: implement lookup in data-only layers ovl: prepare to store lowerdata redirect for lazy lowerdata lookup ovl: prepare for lazy lookup of lowerdata inode ovl: implement lazy lookup of lowerdata in data-only layers ovl: negate the ofs->share_whiteout boolean ovl: clarify ovl_get_root() semantics ovl: pass ovl_fs to xino helpers ovl: store enum redirect_mode in config instead of a string ovl: factor out ovl_parse_options() helper Christian Brauner (4): ovl: check type and offset of struct vfsmount in ovl_entry ovl: port to new mount api ovl: modify layer parameter parsing ovl: reserve ability to reconfigure mount options with new mount api Miklos Szeredi (1): ovl: add Amir as co-maintainer Zhihao Cheng (3): ovl: let helper ovl_i_path_real() return the realinode ovl: fix null pointer dereference in ovl_permission() ovl: fix null pointer dereference in ovl_get_acl_rcu() Documentation/filesystems/overlayfs.rst | 44 +- MAINTAINERS | 1 + fs/overlayfs/Makefile | 2 +- fs/overlayfs/copy_up.c | 11 + fs/overlayfs/dir.c | 9 +- fs/overlayfs/export.c | 41 +- fs/overlayfs/file.c | 21 +- fs/overlayfs/inode.c | 73 +-- fs/overlayfs/namei.c | 201 +++++-- fs/overlayfs/overlayfs.h | 106 +++- fs/overlayfs/ovl_entry.h | 91 +++- fs/overlayfs/params.c | 389 ++++++++++++++ fs/overlayfs/readdir.c | 19 +- fs/overlayfs/super.c | 907 +++++++++++++++----------------- fs/overlayfs/util.c | 179 +++++-- 15 files changed, 1390 insertions(+), 704 deletions(-) create mode 100644 fs/overlayfs/params.c