public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2 00/29] cred: rework {override,revert}_creds()
@ 2024-11-25 14:09 Christian Brauner
  2024-11-25 14:09 ` [PATCH v2 01/29] tree-wide: s/override_creds()/override_creds_light(get_new_cred())/g Christian Brauner
                   ` (32 more replies)
  0 siblings, 33 replies; 34+ messages in thread
From: Christian Brauner @ 2024-11-25 14:09 UTC (permalink / raw)
  To: Linus Torvalds
  Cc: Amir Goldstein, Miklos Szeredi, Al Viro, Jens Axboe, linux-kernel,
	linux-fsdevel, Christian Brauner

For the v6.13 cycle we switched overlayfs to a variant of
override_creds() that doesn't take an extra reference. To this end I
suggested introducing {override,revert}_creds_light() which overlayfs
could use.

This seems to work rather well. This series follow Linus advice and
unifies the separate helpers and simply makes {override,revert}_creds()
do what {override,revert}_creds_light() currently does. Caller's that
really need the extra reference count can take it manually.

---
Changes in v2:
- Remove confusion around dangling pointer.
- Use the revert_creds(old) + put_cred(new) pattern instead of
  put_cred(revert_creds(old)).
- Fill in missing justifications in various commit message why not using
  a separate reference count is safe.
- Make get_new_cred() argument const to easily use it during the
  conversion.
- Get rid of get_new_cred() completely at the end of the series.
- Link to v1: https://lore.kernel.org/r/20241124-work-cred-v1-0-f352241c3970@kernel.org

---
Christian Brauner (29):
      tree-wide: s/override_creds()/override_creds_light(get_new_cred())/g
      cred: return old creds from revert_creds_light()
      tree-wide: s/revert_creds()/put_cred(revert_creds_light())/g
      cred: remove old {override,revert}_creds() helpers
      tree-wide: s/override_creds_light()/override_creds()/g
      tree-wide: s/revert_creds_light()/revert_creds()/g
      firmware: avoid pointless reference count bump
      sev-dev: avoid pointless cred reference count bump
      target_core_configfs: avoid pointless cred reference count bump
      aio: avoid pointless cred reference count bump
      binfmt_misc: avoid pointless cred reference count bump
      coredump: avoid pointless cred reference count bump
      nfs/localio: avoid pointless cred reference count bumps
      nfs/nfs4idmap: avoid pointless reference count bump
      nfs/nfs4recover: avoid pointless cred reference count bump
      nfsfh: avoid pointless cred reference count bump
      open: avoid pointless cred reference count bump
      ovl: avoid pointless cred reference count bump
      cifs: avoid pointless cred reference count bump
      cifs: avoid pointless cred reference count bump
      smb: avoid pointless cred reference count bump
      io_uring: avoid pointless cred reference count bump
      acct: avoid pointless reference count bump
      cgroup: avoid pointless cred reference count bump
      trace: avoid pointless cred reference count bump
      dns_resolver: avoid pointless cred reference count bump
      cachefiles: avoid pointless cred reference count bump
      nfsd: avoid pointless cred reference count bump
      cred: remove unused get_new_cred()

 Documentation/security/credentials.rst |  5 ----
 drivers/crypto/ccp/sev-dev.c           |  2 +-
 fs/backing-file.c                      | 20 +++++++-------
 fs/nfsd/auth.c                         |  3 +-
 fs/nfsd/filecache.c                    |  2 +-
 fs/nfsd/nfs4recover.c                  |  3 +-
 fs/nfsd/nfsfh.c                        |  1 -
 fs/open.c                              | 11 ++------
 fs/overlayfs/dir.c                     |  4 +--
 fs/overlayfs/util.c                    |  4 +--
 fs/smb/server/smb_common.c             | 10 ++-----
 include/linux/cred.h                   | 26 ++++--------------
 kernel/cred.c                          | 50 ----------------------------------
 13 files changed, 27 insertions(+), 114 deletions(-)
---
base-commit: e7675238b9bf4db0b872d5dbcd53efa31914c98f
change-id: 20241124-work-cred-349b65450082


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

end of thread, other threads:[~2024-11-27  2:03 UTC | newest]

Thread overview: 34+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-11-25 14:09 [PATCH v2 00/29] cred: rework {override,revert}_creds() Christian Brauner
2024-11-25 14:09 ` [PATCH v2 01/29] tree-wide: s/override_creds()/override_creds_light(get_new_cred())/g Christian Brauner
2024-11-25 14:09 ` [PATCH v2 02/29] cred: return old creds from revert_creds_light() Christian Brauner
2024-11-25 14:09 ` [PATCH v2 03/29] tree-wide: s/revert_creds()/put_cred(revert_creds_light())/g Christian Brauner
2024-11-25 14:10 ` [PATCH v2 04/29] cred: remove old {override,revert}_creds() helpers Christian Brauner
2024-11-25 14:10 ` [PATCH v2 05/29] tree-wide: s/override_creds_light()/override_creds()/g Christian Brauner
2024-11-25 14:10 ` [PATCH v2 06/29] tree-wide: s/revert_creds_light()/revert_creds()/g Christian Brauner
2024-11-25 14:10 ` [PATCH v2 07/29] firmware: avoid pointless reference count bump Christian Brauner
2024-11-25 14:10 ` [PATCH v2 08/29] sev-dev: avoid pointless cred " Christian Brauner
2024-11-25 14:10 ` [PATCH v2 09/29] target_core_configfs: " Christian Brauner
2024-11-25 14:10 ` [PATCH v2 10/29] aio: " Christian Brauner
2024-11-25 14:10 ` [PATCH v2 11/29] binfmt_misc: " Christian Brauner
2024-11-25 14:10 ` [PATCH v2 12/29] coredump: " Christian Brauner
2024-11-25 14:10 ` [PATCH v2 13/29] nfs/localio: avoid pointless cred reference count bumps Christian Brauner
2024-11-25 14:10 ` [PATCH v2 14/29] nfs/nfs4idmap: avoid pointless reference count bump Christian Brauner
2024-11-25 14:10 ` [PATCH v2 15/29] nfs/nfs4recover: avoid pointless cred " Christian Brauner
2024-11-25 14:10 ` [PATCH v2 16/29] nfsfh: " Christian Brauner
2024-11-25 14:10 ` [PATCH v2 17/29] open: " Christian Brauner
2024-11-25 14:10 ` [PATCH v2 18/29] ovl: " Christian Brauner
2024-11-25 14:10 ` [PATCH v2 19/29] cifs: " Christian Brauner
2024-11-25 14:10 ` [PATCH v2 20/29] " Christian Brauner
2024-11-25 14:10 ` [PATCH v2 21/29] smb: " Christian Brauner
2024-11-25 14:10 ` [PATCH v2 22/29] io_uring: " Christian Brauner
2024-11-25 14:10 ` [PATCH v2 23/29] acct: avoid pointless " Christian Brauner
2024-11-25 14:10 ` [PATCH v2 24/29] cgroup: avoid pointless cred " Christian Brauner
2024-11-25 14:10 ` [PATCH v2 25/29] trace: " Christian Brauner
2024-11-25 14:10 ` [PATCH v2 26/29] dns_resolver: " Christian Brauner
2024-11-25 14:10 ` [PATCH v2 27/29] cachefiles: " Christian Brauner
2024-11-25 14:10 ` [PATCH v2 28/29] nfsd: " Christian Brauner
2024-11-25 14:10 ` [PATCH v2 29/29] cred: remove unused get_new_cred() Christian Brauner
2024-11-25 15:37 ` [PATCH v2 00/29] cred: rework {override,revert}_creds() Chuck Lever
2024-11-25 16:53 ` Linus Torvalds
2024-11-26  9:57 ` Christian Brauner
2024-11-27  2:03 ` Jens Axboe

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