Linux Overlay Filesystem development
 help / color / mirror / Atom feed
* [PATCH RFC 00/42] ovl: convert to cred guard
@ 2025-11-13 13:01 Christian Brauner
  2025-11-13 13:01 ` [PATCH RFC 01/42] ovl: add override_creds cleanup guard extension for overlayfs Christian Brauner
                   ` (42 more replies)
  0 siblings, 43 replies; 57+ messages in thread
From: Christian Brauner @ 2025-11-13 13:01 UTC (permalink / raw)
  To: Miklos Szeredi, Amir Goldstein
  Cc: Linus Torvalds, linux-unionfs, linux-fsdevel, Christian Brauner

This adds a overlayfs extension of the cred guard infrastructure I
introduced. This allows all of overlayfs to be ported to cred guards.
I refactored a few functions to reduce the scope of the credguard. I
think this is pretty beneficial as it's visually very easy to grasp the
scope in one go. Lightly tested.

Signed-off-by: Christian Brauner <brauner@kernel.org>
---
Christian Brauner (42):
      ovl: add override_creds cleanup guard extension for overlayfs
      ovl: port ovl_copy_up_flags() to cred guards
      ovl: port ovl_create_or_link() to cred guard
      ovl: port ovl_set_link_redirect() to cred guard
      ovl: port ovl_do_remove() to cred guard
      ovl: port ovl_create_tmpfile() to cred guard
      ovl: port ovl_open_realfile() to cred guard
      ovl: port ovl_llseek() to cred guard
      ovl: port ovl_fsync() to cred guard
      ovl: port ovl_fallocate() to cred guard
      ovl: port ovl_fadvise() to cred guard
      ovl: port ovl_flush() to cred guard
      ovl: port ovl_setattr() to cred guard
      ovl: port ovl_getattr() to cred guard
      ovl: return directly
      ovl: port ovl_permission() to cred guard
      ovl: port ovl_get_link() to cred guard
      ovl: port do_ovl_get_acl() to cred guard
      ovl: port ovl_set_or_remove_acl() to cred guard
      ovl: port ovl_fiemap() to cred guard
      ovl: port ovl_fileattr_set() to cred guard
      ovl: port ovl_fileattr_get() to cred guard
      ovl: port ovl_maybe_validate_verity() to cred guard
      ovl: port ovl_maybe_lookup_lowerdata() to cred guard
      ovl: port ovl_check_whiteout() to cred guard
      ovl: port ovl_iterate() to cred guard
      ovl: port ovl_dir_llseek() to cred guard
      ovl: port ovl_check_empty_dir() to cred guard
      ovl: port ovl_nlink_start() to cred guard
      ovl: port ovl_nlink_end() to cred guard
      ovl: port ovl_xattr_set() to cred guard
      ovl: port ovl_xattr_set() to cred guard
      ovl: port ovl_listxattr() to cred guard
      ovl: refactor ovl_rename()
      ovl: port ovl_rename() to cred guard
      ovl: port ovl_copyfile() to cred guard
      ovl: refactor ovl_lookup()
      ovl: port ovl_lookup() to cred guard
      ovl: port ovl_lower_positive() to cred guard
      ovl: refactor ovl_fill_super()
      ovl: port ovl_fill_super() to cred guard
      ovl: remove ovl_revert_creds()

 fs/overlayfs/copy_up.c   |   6 +-
 fs/overlayfs/dir.c       | 426 +++++++++++++++++++++++------------------------
 fs/overlayfs/file.c      | 101 +++++------
 fs/overlayfs/inode.c     | 120 ++++++-------
 fs/overlayfs/namei.c     | 403 ++++++++++++++++++++++----------------------
 fs/overlayfs/overlayfs.h |   6 +-
 fs/overlayfs/readdir.c   | 131 +++++++--------
 fs/overlayfs/super.c     | 115 ++++++-------
 fs/overlayfs/util.c      |  18 +-
 fs/overlayfs/xattrs.c    |  35 ++--
 10 files changed, 643 insertions(+), 718 deletions(-)
---
base-commit: 2902367e352af16cbed9c67ca9022b52a0b738e7
change-id: 20251112-work-ovl-cred-guard-20daabcbf8fa


^ permalink raw reply	[flat|nested] 57+ messages in thread

end of thread, other threads:[~2025-11-13 15:11 UTC | newest]

Thread overview: 57+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-11-13 13:01 [PATCH RFC 00/42] ovl: convert to cred guard Christian Brauner
2025-11-13 13:01 ` [PATCH RFC 01/42] ovl: add override_creds cleanup guard extension for overlayfs Christian Brauner
2025-11-13 13:01 ` [PATCH RFC 02/42] ovl: port ovl_copy_up_flags() to cred guards Christian Brauner
2025-11-13 13:01 ` [PATCH RFC 03/42] ovl: port ovl_create_or_link() to cred guard Christian Brauner
2025-11-13 13:31   ` Miklos Szeredi
2025-11-13 13:34     ` Amir Goldstein
2025-11-13 13:39       ` Miklos Szeredi
2025-11-13 13:45     ` Christian Brauner
2025-11-13 14:16       ` Amir Goldstein
2025-11-13 13:01 ` [PATCH RFC 04/42] ovl: port ovl_set_link_redirect() " Christian Brauner
2025-11-13 13:01 ` [PATCH RFC 05/42] ovl: port ovl_do_remove() " Christian Brauner
2025-11-13 13:01 ` [PATCH RFC 06/42] ovl: port ovl_create_tmpfile() " Christian Brauner
2025-11-13 13:01 ` [PATCH RFC 07/42] ovl: port ovl_open_realfile() " Christian Brauner
2025-11-13 13:01 ` [PATCH RFC 08/42] ovl: port ovl_llseek() " Christian Brauner
2025-11-13 13:01 ` [PATCH RFC 09/42] ovl: port ovl_fsync() " Christian Brauner
2025-11-13 13:01 ` [PATCH RFC 10/42] ovl: port ovl_fallocate() " Christian Brauner
2025-11-13 13:01 ` [PATCH RFC 11/42] ovl: port ovl_fadvise() " Christian Brauner
2025-11-13 13:01 ` [PATCH RFC 12/42] ovl: port ovl_flush() " Christian Brauner
2025-11-13 13:01 ` [PATCH RFC 13/42] ovl: port ovl_setattr() " Christian Brauner
2025-11-13 13:01 ` [PATCH RFC 14/42] ovl: port ovl_getattr() " Christian Brauner
2025-11-13 13:01 ` [PATCH RFC 15/42] ovl: return directly Christian Brauner
2025-11-13 13:28   ` Amir Goldstein
2025-11-13 13:01 ` [PATCH RFC 16/42] ovl: port ovl_permission() to cred guard Christian Brauner
2025-11-13 13:01 ` [PATCH RFC 17/42] ovl: port ovl_get_link() " Christian Brauner
2025-11-13 13:01 ` [PATCH RFC 18/42] ovl: port do_ovl_get_acl() " Christian Brauner
2025-11-13 13:01 ` [PATCH RFC 19/42] ovl: port ovl_set_or_remove_acl() " Christian Brauner
2025-11-13 13:01 ` [PATCH RFC 20/42] ovl: port ovl_fiemap() " Christian Brauner
2025-11-13 13:01 ` [PATCH RFC 21/42] ovl: port ovl_fileattr_set() " Christian Brauner
2025-11-13 13:01 ` [PATCH RFC 22/42] ovl: port ovl_fileattr_get() " Christian Brauner
2025-11-13 13:01 ` [PATCH RFC 23/42] ovl: port ovl_maybe_validate_verity() " Christian Brauner
2025-11-13 13:01 ` [PATCH RFC 24/42] ovl: port ovl_maybe_lookup_lowerdata() " Christian Brauner
2025-11-13 13:01 ` [PATCH RFC 25/42] ovl: port ovl_check_whiteout() " Christian Brauner
2025-11-13 13:32   ` Amir Goldstein
2025-11-13 13:01 ` [PATCH RFC 26/42] ovl: port ovl_iterate() " Christian Brauner
2025-11-13 14:02   ` Amir Goldstein
2025-11-13 13:01 ` [PATCH RFC 27/42] ovl: port ovl_dir_llseek() " Christian Brauner
2025-11-13 13:01 ` [PATCH RFC 28/42] ovl: port ovl_check_empty_dir() " Christian Brauner
2025-11-13 13:01 ` [PATCH RFC 29/42] ovl: port ovl_nlink_start() " Christian Brauner
2025-11-13 13:01 ` [PATCH RFC 30/42] ovl: port ovl_nlink_end() " Christian Brauner
2025-11-13 13:01 ` [PATCH RFC 31/42] ovl: port ovl_xattr_set() " Christian Brauner
2025-11-13 13:01 ` [PATCH RFC 32/42] " Christian Brauner
2025-11-13 14:06   ` Amir Goldstein
2025-11-13 13:01 ` [PATCH RFC 33/42] ovl: port ovl_listxattr() " Christian Brauner
2025-11-13 13:01 ` [PATCH RFC 34/42] ovl: refactor ovl_rename() Christian Brauner
2025-11-13 14:55   ` Amir Goldstein
2025-11-13 13:01 ` [PATCH RFC 35/42] ovl: port ovl_rename() to cred guard Christian Brauner
2025-11-13 13:01 ` [PATCH RFC 36/42] ovl: port ovl_copyfile() " Christian Brauner
2025-11-13 13:01 ` [PATCH RFC 37/42] ovl: refactor ovl_lookup() Christian Brauner
2025-11-13 13:41   ` Christian Brauner
2025-11-13 13:01 ` [PATCH RFC 38/42] ovl: port ovl_lookup() to cred guard Christian Brauner
2025-11-13 13:01 ` [PATCH RFC 39/42] ovl: port ovl_lower_positive() " Christian Brauner
2025-11-13 13:02 ` [PATCH RFC 40/42] ovl: refactor ovl_fill_super() Christian Brauner
2025-11-13 14:32   ` Amir Goldstein
2025-11-13 15:11     ` Christian Brauner
2025-11-13 13:02 ` [PATCH RFC 41/42] ovl: port ovl_fill_super() to cred guard Christian Brauner
2025-11-13 13:02 ` [PATCH RFC 42/42] ovl: remove ovl_revert_creds() Christian Brauner
2025-11-13 14:59 ` [PATCH RFC 00/42] ovl: convert to cred guard Amir Goldstein

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox