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>
This commit is contained in:
Christian Brauner 2024-11-25 15:10:09 +01:00
parent bd05aeb1ee
commit 6c7a0a6afd
No known key found for this signature in database
GPG Key ID: 91C61BC06578DCA2

View File

@ -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;
}