mirror of https://github.com/torvalds/linux.git
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>
This commit is contained in:
parent
b688171f91
commit
6e1d1c1fa7
|
|
@ -331,7 +331,6 @@ EXPORT_SYMBOL_GPL(backing_file_splice_write);
|
||||||
int backing_file_mmap(struct file *file, struct vm_area_struct *vma,
|
int backing_file_mmap(struct file *file, struct vm_area_struct *vma,
|
||||||
struct backing_file_ctx *ctx)
|
struct backing_file_ctx *ctx)
|
||||||
{
|
{
|
||||||
const struct cred *old_cred;
|
|
||||||
struct file *user_file = vma->vm_file;
|
struct file *user_file = vma->vm_file;
|
||||||
int ret;
|
int ret;
|
||||||
|
|
||||||
|
|
@ -343,9 +342,8 @@ int backing_file_mmap(struct file *file, struct vm_area_struct *vma,
|
||||||
|
|
||||||
vma_set_file(vma, file);
|
vma_set_file(vma, file);
|
||||||
|
|
||||||
old_cred = override_creds(ctx->cred);
|
scoped_with_creds(ctx->cred)
|
||||||
ret = vfs_mmap(vma->vm_file, vma);
|
ret = vfs_mmap(vma->vm_file, vma);
|
||||||
revert_creds(old_cred);
|
|
||||||
|
|
||||||
if (ctx->accessed)
|
if (ctx->accessed)
|
||||||
ctx->accessed(user_file);
|
ctx->accessed(user_file);
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue