diff options
| author | Christian Brauner <brauner@kernel.org> | 2025-06-12 15:25:34 +0200 |
|---|---|---|
| committer | Christian Brauner <brauner@kernel.org> | 2025-07-07 12:24:50 +0200 |
| commit | 7a568fcdad7c75a1ee196921cf651de607c2c5d5 (patch) | |
| tree | d37b2c2a62eb2cf0028e2d69bce40778cef31c0a /fs | |
| parent | 377d7860c960ac8e672881bc50353d867e2f94a4 (diff) | |
coredump: auto cleanup prepare_creds()
which will allow us to simplify the exit path in further patches.
Link: https://lore.kernel.org/20250612-work-coredump-massage-v1-20-315c0c34ba94@kernel.org
Signed-off-by: Christian Brauner <brauner@kernel.org>
Diffstat (limited to 'fs')
| -rw-r--r-- | fs/coredump.c | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/fs/coredump.c b/fs/coredump.c index b2e9ac34d9a3..e9c8696283f6 100644 --- a/fs/coredump.c +++ b/fs/coredump.c @@ -1074,7 +1074,7 @@ void vfs_coredump(const kernel_siginfo_t *siginfo) struct mm_struct *mm = current->mm; struct linux_binfmt * binfmt; const struct cred *old_cred; - struct cred *cred; + struct cred *cred __free(put_cred) = NULL; int retval = 0; size_t *argv __free(kfree) = NULL; int argc = 0; @@ -1113,7 +1113,7 @@ void vfs_coredump(const kernel_siginfo_t *siginfo) retval = coredump_wait(siginfo->si_signo, &core_state); if (retval < 0) - goto fail_creds; + return; old_cred = override_creds(cred); @@ -1192,8 +1192,6 @@ fail_unlock: kfree(cn.corename); coredump_finish(cn.core_dumped); revert_creds(old_cred); -fail_creds: - put_cred(cred); return; } |
