summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristian Brauner <brauner@kernel.org>2024-11-25 15:10:09 +0100
committerChristian Brauner <brauner@kernel.org>2024-12-02 11:25:11 +0100
commit6c7a0a6afd0e45ba4879d6fb2bafa9807cde6e2c (patch)
treec64c99dc79fb1961f81e99e9c52a8dc5c8555aee
parentbd05aeb1eedc60dee05f82efe97339330239f37e (diff)
nfs/localio: avoid pointless cred reference count bumps
filp->f_cred already holds a reference count that is stable during the operation. Link: https://lore.kernel.org/r/20241125-work-cred-v2-13-68b9d38bb5b2@kernel.org Acked-by: Chuck Lever <chuck.lever@oracle.com> Reviewed-by: Jeff Layton <jlayton@kernel.org> Reviewed-by: Jens Axboe <axboe@kernel.dk> Signed-off-by: Christian Brauner <brauner@kernel.org>
-rw-r--r--fs/nfs/localio.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/fs/nfs/localio.c b/fs/nfs/localio.c
index 720a4a99bd8a..4b8618cf114c 100644
--- a/fs/nfs/localio.c
+++ b/fs/nfs/localio.c
@@ -374,7 +374,7 @@ static void nfs_local_call_read(struct work_struct *work)
struct iov_iter iter;
ssize_t status;
- save_cred = override_creds(get_new_cred(filp->f_cred));
+ save_cred = override_creds(filp->f_cred);
nfs_local_iter_init(&iter, iocb, READ);
@@ -384,7 +384,7 @@ static void nfs_local_call_read(struct work_struct *work)
nfs_local_read_done(iocb, status);
nfs_local_pgio_release(iocb);
- put_cred(revert_creds(save_cred));
+ revert_creds(save_cred);
}
static int
@@ -545,7 +545,7 @@ static void nfs_local_call_write(struct work_struct *work)
ssize_t status;
current->flags |= PF_LOCAL_THROTTLE | PF_MEMALLOC_NOIO;
- save_cred = override_creds(get_new_cred(filp->f_cred));
+ save_cred = override_creds(filp->f_cred);
nfs_local_iter_init(&iter, iocb, WRITE);
@@ -558,7 +558,7 @@ static void nfs_local_call_write(struct work_struct *work)
nfs_local_vfs_getattr(iocb);
nfs_local_pgio_release(iocb);
- put_cred(revert_creds(save_cred));
+ revert_creds(save_cred);
current->flags = old_flags;
}