summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristian Brauner <brauner@kernel.org>2025-11-03 12:26:55 +0100
committerChristian Brauner <brauner@kernel.org>2025-11-04 12:36:38 +0100
commit6e1d1c1fa7b1a8d318ccb5f4f64b2a2b5803cf1c (patch)
treeeb97a0e6cc98f461383cfdc1312482172b81003e
parentb688171f910e22d1a32dec24bae8dbecbf2fe395 (diff)
backing-file: use credential guards for mmap
Use credential guards for scoped credential override with automatic restoration on scope exit. Link: https://patch.msgid.link/20251103-work-creds-guards-simple-v1-7-a3e156839e7f@kernel.org Reviewed-by: Amir Goldstein <amir73il@gmail.com> Signed-off-by: Christian Brauner <brauner@kernel.org>
-rw-r--r--fs/backing-file.c6
1 files changed, 2 insertions, 4 deletions
diff --git a/fs/backing-file.c b/fs/backing-file.c
index 87ff918320c5..ea137be16331 100644
--- a/fs/backing-file.c
+++ b/fs/backing-file.c
@@ -331,7 +331,6 @@ EXPORT_SYMBOL_GPL(backing_file_splice_write);
int backing_file_mmap(struct file *file, struct vm_area_struct *vma,
struct backing_file_ctx *ctx)
{
- const struct cred *old_cred;
struct file *user_file = vma->vm_file;
int ret;
@@ -343,9 +342,8 @@ int backing_file_mmap(struct file *file, struct vm_area_struct *vma,
vma_set_file(vma, file);
- old_cred = override_creds(ctx->cred);
- ret = vfs_mmap(vma->vm_file, vma);
- revert_creds(old_cred);
+ scoped_with_creds(ctx->cred)
+ ret = vfs_mmap(vma->vm_file, vma);
if (ctx->accessed)
ctx->accessed(user_file);