summaryrefslogtreecommitdiff
path: root/fs
diff options
context:
space:
mode:
authorChristian Brauner <brauner@kernel.org>2025-06-12 15:25:34 +0200
committerChristian Brauner <brauner@kernel.org>2025-07-07 12:24:50 +0200
commit7a568fcdad7c75a1ee196921cf651de607c2c5d5 (patch)
treed37b2c2a62eb2cf0028e2d69bce40778cef31c0a /fs
parent377d7860c960ac8e672881bc50353d867e2f94a4 (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.c6
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;
}