From: Christian Brauner Date: Mon, 3 Nov 2025 14:57:27 +0000 (+0100) Subject: cred: add prepare credential guard X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=c8ad3098e1272444b6c75910d6196a36f5c8bc17;p=thirdparty%2Fkernel%2Flinux.git cred: add prepare credential guard A lot of code uses the following pattern: * prepare new credentials * modify them for their use-case * drop them Support that easier with the new guard infrastructure. Link: https://patch.msgid.link/20251103-work-creds-guards-prepare_creds-v1-1-b447b82f2c9b@kernel.org Signed-off-by: Christian Brauner --- diff --git a/include/linux/cred.h b/include/linux/cred.h index 6ea2d81a740b3..343a140a6ba25 100644 --- a/include/linux/cred.h +++ b/include/linux/cred.h @@ -280,6 +280,11 @@ static inline void put_cred(const struct cred *cred) put_cred_many(cred, 1); } +DEFINE_CLASS(prepare_creds, + struct cred *, + if (_T) put_cred(_T), + prepare_creds(), void) + DEFINE_FREE(put_cred, struct cred *, if (!IS_ERR_OR_NULL(_T)) put_cred(_T)) /**