]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
binfmt_misc: avoid pointless cred reference count bump
authorChristian Brauner <brauner@kernel.org>
Mon, 25 Nov 2024 14:10:07 +0000 (15:10 +0100)
committerChristian Brauner <brauner@kernel.org>
Mon, 2 Dec 2024 10:25:10 +0000 (11:25 +0100)
file->f_cred already holds a reference count that is stable during the
operation.

Link: https://lore.kernel.org/r/20241125-work-cred-v2-11-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/binfmt_misc.c

index 3270c2158552b7a7a16c948d1f0f2727478beaa7..6a3a16f910516cb70f0c84e9147c5f13f8ad25a5 100644 (file)
@@ -829,9 +829,9 @@ static ssize_t bm_register_write(struct file *file, const char __user *buffer,
                 * didn't matter much as only a privileged process could open
                 * the register file.
                 */
-               old_cred = override_creds(get_new_cred(file->f_cred));
+               old_cred = override_creds(file->f_cred);
                f = open_exec(e->interpreter);
-               put_cred(revert_creds(old_cred));
+               revert_creds(old_cred);
                if (IS_ERR(f)) {
                        pr_notice("register: failed to install interpreter file %s\n",
                                 e->interpreter);