diff options
| author | Christian Brauner <brauner@kernel.org> | 2025-11-03 15:57:36 +0100 |
|---|---|---|
| committer | Christian Brauner <brauner@kernel.org> | 2025-11-05 23:11:52 +0100 |
| commit | 545985dd3701988c95cba9a8f895631de2039b21 (patch) | |
| tree | 229ecbedb9cbdea3ac097835485721a988565328 | |
| parent | 8ed3473c5a8b356c8af950a29d5620be337c3cab (diff) | |
coredump: use override credential guard
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>
| -rw-r--r-- | fs/coredump.c | 8 |
1 files changed, 2 insertions, 6 deletions
diff --git a/fs/coredump.c b/fs/coredump.c index 5424a6c4e360..fe4099e0530b 100644 --- a/fs/coredump.c +++ b/fs/coredump.c @@ -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; } |
