Re: [PATCH] fuse: use current creds for backing files

From: Christian Brauner

Date: Mon May 11 2026 - 09:56:08 EST


On Sun, May 10, 2026 at 10:54:37PM +0800, zhaoguohan@xxxxxxxxxx wrote:
> From: GuoHan Zhao <zhaoguohan@xxxxxxxxxx>
>
> FUSE backing files only need a stable snapshot of the current credentials
> for later backing-file I/O. prepare_creds() allocates a mutable copy and
> can fail, but this code never modifies or commits the result.
>
> Use get_current_cred() instead and store it as a const pointer. This
> matches the rest of the backing-file helpers and avoids an unnecessary
> allocation and failure path.
>
> Signed-off-by: GuoHan Zhao <zhaoguohan@xxxxxxxxxx>
> ---

Seems reasonable,
Acked-by: Christian Brauner <brauner@xxxxxxxxxx>

> fs/fuse/backing.c | 2 +-
> fs/fuse/fuse_i.h | 2 +-
> 2 files changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/fs/fuse/backing.c b/fs/fuse/backing.c
> index d95dfa48483f..8efb43b17c4d 100644
> --- a/fs/fuse/backing.c
> +++ b/fs/fuse/backing.c
> @@ -118,7 +118,7 @@ int fuse_backing_open(struct fuse_conn *fc, struct fuse_backing_map *map)
> goto out_fput;
>
> fb->file = file;
> - fb->cred = prepare_creds();
> + fb->cred = get_current_cred();
> refcount_set(&fb->count, 1);
>
> res = fuse_backing_id_alloc(fc, fb);
> diff --git a/fs/fuse/fuse_i.h b/fs/fuse/fuse_i.h
> index 17423d4e3cfa..36041e405bf8 100644
> --- a/fs/fuse/fuse_i.h
> +++ b/fs/fuse/fuse_i.h
> @@ -106,7 +106,7 @@ struct fuse_submount_lookup {
> /** Container for data related to mapping to backing file */
> struct fuse_backing {
> struct file *file;
> - struct cred *cred;
> + const struct cred *cred;
>
> /** refcount */
> refcount_t count;
> --
> 2.43.0