]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
cifs: avoid pointless cred reference count bump
authorChristian Brauner <brauner@kernel.org>
Mon, 25 Nov 2024 14:10:16 +0000 (15:10 +0100)
committerChristian Brauner <brauner@kernel.org>
Mon, 2 Dec 2024 10:25:12 +0000 (11:25 +0100)
During module init root_cred will be allocated with its own reference
which is only destroyed during module exit.

Link: https://lore.kernel.org/r/20241125-work-cred-v2-20-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>
fs/smb/client/cifsacl.c

index 5718906369a96fc80bee6a472f93bac1159f1709..ba79aa2107cc9f5b5fa628e9b9998d04e78c8bc1 100644 (file)
@@ -292,7 +292,7 @@ id_to_sid(unsigned int cid, uint sidtype, struct smb_sid *ssid)
                return -EINVAL;
 
        rc = 0;
-       saved_cred = override_creds(get_new_cred(root_cred));
+       saved_cred = override_creds(root_cred);
        sidkey = request_key(&cifs_idmap_key_type, desc, "");
        if (IS_ERR(sidkey)) {
                rc = -EINVAL;
@@ -327,7 +327,7 @@ id_to_sid(unsigned int cid, uint sidtype, struct smb_sid *ssid)
 out_key_put:
        key_put(sidkey);
 out_revert_creds:
-       put_cred(revert_creds(saved_cred));
+       revert_creds(saved_cred);
        return rc;
 
 invalidate_key:
@@ -398,7 +398,7 @@ try_upcall_to_get_id:
        if (!sidstr)
                return -ENOMEM;
 
-       saved_cred = override_creds(get_new_cred(root_cred));
+       saved_cred = override_creds(root_cred);
        sidkey = request_key(&cifs_idmap_key_type, sidstr, "");
        if (IS_ERR(sidkey)) {
                cifs_dbg(FYI, "%s: Can't map SID %s to a %cid\n",
@@ -438,7 +438,7 @@ try_upcall_to_get_id:
 out_key_put:
        key_put(sidkey);
 out_revert_creds:
-       put_cred(revert_creds(saved_cred));
+       revert_creds(saved_cred);
        kfree(sidstr);
 
        /*