[PATCH v2 17/29] open: avoid pointless cred reference count bump

Christian Brauner
2024-11-25T14:11:00Z

The code already got rid of the extra reference count from the old
version of override_creds().

Signed-off-by: Christian Brauner <brauner@kernel.org>
---
fs/open.c | 9 +--------
1 file changed, 1 insertion(+), 8 deletions(-)

diff --git a/fs/open.c b/fs/open.c
index 0a5cd8e74fb9bb4cc484d84096c6123b21acbf16..ffcfef67ac864c8ddaf9719cbc2762d5575597f3 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)

--
2.45.2