]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
coredump: use override credential guard
authorChristian Brauner <brauner@kernel.org>
Mon, 3 Nov 2025 14:57:36 +0000 (15:57 +0100)
committerChristian Brauner <brauner@kernel.org>
Wed, 5 Nov 2025 22:11:52 +0000 (23:11 +0100)
Use override credential guards for scoped credential override with
automatic restoration on scope exit.

Link: https://patch.msgid.link/20251103-work-creds-guards-prepare_creds-v1-10-b447b82f2c9b@kernel.org
Signed-off-by: Christian Brauner <brauner@kernel.org>
fs/coredump.c

index 5424a6c4e360d68e3eaed22e2e935517b579775c..fe4099e0530bf73c6eb0629864bccbaecca74437 100644 (file)
@@ -1160,7 +1160,6 @@ void vfs_coredump(const kernel_siginfo_t *siginfo)
        struct core_name cn;
        const struct mm_struct *mm = current->mm;
        const struct linux_binfmt *binfmt = mm->binfmt;
-       const struct cred *old_cred;
        int argc = 0;
        struct coredump_params cprm = {
                .siginfo = siginfo,
@@ -1197,11 +1196,8 @@ void vfs_coredump(const kernel_siginfo_t *siginfo)
        if (coredump_wait(siginfo->si_signo, &core_state) < 0)
                return;
 
-       old_cred = override_creds(cred);
-
-       do_coredump(&cn, &cprm, &argv, &argc, binfmt);
-
-       revert_creds(old_cred);
+       scoped_with_creds(cred)
+               do_coredump(&cn, &cprm, &argv, &argc, binfmt);
        coredump_cleanup(&cn, &cprm);
        return;
 }