Use override credential guards for scoped credential override with
automatic restoration on scope exit.

Signed-off-by: Christian Brauner <[email protected]>
---
 drivers/crypto/ccp/sev-dev.c | 9 ++-------
 1 file changed, 2 insertions(+), 7 deletions(-)

diff --git a/drivers/crypto/ccp/sev-dev.c b/drivers/crypto/ccp/sev-dev.c
index 09e4c9490d58..19422f422a59 100644
--- a/drivers/crypto/ccp/sev-dev.c
+++ b/drivers/crypto/ccp/sev-dev.c
@@ -260,7 +260,6 @@ static int sev_cmd_buffer_len(int cmd)
 static struct file *open_file_as_root(const char *filename, int flags, umode_t 
mode)
 {
        struct path root __free(path_put) = {};
-       struct file *fp;
        struct cred *cred;
        const struct cred *old_cred;
 
@@ -273,13 +272,9 @@ static struct file *open_file_as_root(const char 
*filename, int flags, umode_t m
                return ERR_PTR(-ENOMEM);
 
        cred->fsuid = GLOBAL_ROOT_UID;
-       old_cred = override_creds(cred);
-
-       fp = file_open_root(&root, filename, flags, mode);
-
-       revert_creds(old_cred);
 
-       return fp;
+       with_creds(cred);
+       return file_open_root(&root, filename, flags, mode);
 }
 
 static int sev_read_init_ex_file(void)

-- 
2.47.3


Reply via email to