summaryrefslogtreecommitdiff
path: root/fs/open.c
diff options
context:
space:
mode:
authorChristian Brauner <brauner@kernel.org>2024-11-25 15:10:13 +0100
committerChristian Brauner <brauner@kernel.org>2024-12-02 11:25:12 +0100
commit7708f3a7d25f5f1e80a5ef6abc3abde00128f88c (patch)
tree87d47baa4b2d7d88ecdac721410c60f2b92097e2 /fs/open.c
parent81be9a8a1090cdddea69aa326cd41b658932e84e (diff)
open: avoid pointless cred reference count bump
The code already got rid of the extra reference count from the old version of override_creds(). Link: https://lore.kernel.org/r/20241125-work-cred-v2-17-68b9d38bb5b2@kernel.org Reviewed-by: Jeff Layton <jlayton@kernel.org> Reviewed-by: Jens Axboe <axboe@kernel.dk> Signed-off-by: Christian Brauner <brauner@kernel.org>
Diffstat (limited to 'fs/open.c')
-rw-r--r--fs/open.c9
1 files changed, 1 insertions, 8 deletions
diff --git a/fs/open.c b/fs/open.c
index 0a5cd8e74fb9..ffcfef67ac86 100644
--- a/fs/open.c
+++ b/fs/open.c
@@ -402,7 +402,6 @@ static bool access_need_override_creds(int flags)
static const struct cred *access_override_creds(void)
{
- const struct cred *old_cred;
struct cred *override_cred;
override_cred = prepare_creds();
@@ -447,13 +446,7 @@ static const struct cred *access_override_creds(void)
* freeing.
*/
override_cred->non_rcu = 1;
-
- old_cred = override_creds(get_new_cred(override_cred));
-
- /* override_cred() gets its own ref */
- put_cred(override_cred);
-
- return old_cred;
+ return override_creds(override_cred);
}
static long do_faccessat(int dfd, const char __user *filename, int mode, int flags)