* [PATCH v4 1/1] nfs42: client needs to strip file mode's suid/sgid bit after ALLOCATE op
@ 2023-09-19 6:30 Dai Ngo
2023-10-06 10:22 ` Jeff Layton
0 siblings, 1 reply; 2+ messages in thread
From: Dai Ngo @ 2023-09-19 6:30 UTC (permalink / raw)
To: anna; +Cc: trondmy, linux-nfs
The Linux NFS server strips the SUID and SGID from the file mode
on ALLOCATE op.
Modify _nfs42_proc_fallocate to add NFS_INO_REVAL_FORCED to
nfs_set_cache_invalid's argument to force update of the file
mode suid/sgid bit.
Suggested-by: Trond Myklebust <trondmy@hammerspace.com>
Signed-off-by: Dai Ngo <dai.ngo@oracle.com>
Reviewed-by: Jeff Layton <jlayton@kernel.org>
---
v3 -> v4: add Suggested-by and Reviewed-by tag.
fs/nfs/nfs42proc.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/fs/nfs/nfs42proc.c b/fs/nfs/nfs42proc.c
index 63802d195556..9d2f07feeb29 100644
--- a/fs/nfs/nfs42proc.c
+++ b/fs/nfs/nfs42proc.c
@@ -81,7 +81,8 @@ static int _nfs42_proc_fallocate(struct rpc_message *msg, struct file *filep,
if (status == 0) {
if (nfs_should_remove_suid(inode)) {
spin_lock(&inode->i_lock);
- nfs_set_cache_invalid(inode, NFS_INO_INVALID_MODE);
+ nfs_set_cache_invalid(inode,
+ NFS_INO_REVAL_FORCED | NFS_INO_INVALID_MODE);
spin_unlock(&inode->i_lock);
}
status = nfs_post_op_update_inode_force_wcc(inode,
--
2.9.5
^ permalink raw reply related [flat|nested] 2+ messages in thread
* Re: [PATCH v4 1/1] nfs42: client needs to strip file mode's suid/sgid bit after ALLOCATE op
2023-09-19 6:30 [PATCH v4 1/1] nfs42: client needs to strip file mode's suid/sgid bit after ALLOCATE op Dai Ngo
@ 2023-10-06 10:22 ` Jeff Layton
0 siblings, 0 replies; 2+ messages in thread
From: Jeff Layton @ 2023-10-06 10:22 UTC (permalink / raw)
To: Dai Ngo, anna; +Cc: trondmy, linux-nfs
On Mon, 2023-09-18 at 23:30 -0700, Dai Ngo wrote:
> The Linux NFS server strips the SUID and SGID from the file mode
> on ALLOCATE op.
>
> Modify _nfs42_proc_fallocate to add NFS_INO_REVAL_FORCED to
> nfs_set_cache_invalid's argument to force update of the file
> mode suid/sgid bit.
>
> Suggested-by: Trond Myklebust <trondmy@hammerspace.com>
> Signed-off-by: Dai Ngo <dai.ngo@oracle.com>
> Reviewed-by: Jeff Layton <jlayton@kernel.org>
> ---
> v3 -> v4: add Suggested-by and Reviewed-by tag.
>
> fs/nfs/nfs42proc.c | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/fs/nfs/nfs42proc.c b/fs/nfs/nfs42proc.c
> index 63802d195556..9d2f07feeb29 100644
> --- a/fs/nfs/nfs42proc.c
> +++ b/fs/nfs/nfs42proc.c
> @@ -81,7 +81,8 @@ static int _nfs42_proc_fallocate(struct rpc_message *msg, struct file *filep,
> if (status == 0) {
> if (nfs_should_remove_suid(inode)) {
> spin_lock(&inode->i_lock);
> - nfs_set_cache_invalid(inode, NFS_INO_INVALID_MODE);
> + nfs_set_cache_invalid(inode,
> + NFS_INO_REVAL_FORCED | NFS_INO_INVALID_MODE);
> spin_unlock(&inode->i_lock);
> }
> status = nfs_post_op_update_inode_force_wcc(inode,
This fixes generic/683 and generic/684 for me, when nfsd has issued a
write delegation. This was posted some time ago. Is there some reason
this hasn't been merged yet?
Tested-by: Jeff Layton <jlayton@kernel.org>
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2023-10-06 10:22 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-09-19 6:30 [PATCH v4 1/1] nfs42: client needs to strip file mode's suid/sgid bit after ALLOCATE op Dai Ngo
2023-10-06 10:22 ` Jeff Layton
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).