]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
NFSD: Define a proc_layoutcommit for the FlexFiles layout type
authorChuck Lever <chuck.lever@oracle.com>
Tue, 21 Oct 2025 00:34:23 +0000 (20:34 -0400)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 29 Oct 2025 13:03:15 +0000 (14:03 +0100)
[ Upstream commit 4b47a8601b71ad98833b447d465592d847b4dc77 ]

Avoid a crash if a pNFS client should happen to send a LAYOUTCOMMIT
operation on a FlexFiles layout.

Reported-by: Robert Morris <rtm@csail.mit.edu>
Closes: https://lore.kernel.org/linux-nfs/152f99b2-ba35-4dec-93a9-4690e625dccd@oracle.com/T/#t
Cc: Thomas Haynes <loghyr@hammerspace.com>
Cc: stable@vger.kernel.org
Fixes: 9b9960a0ca47 ("nfsd: Add a super simple flex file server")
Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
[ removed struct svc_rqst parameter from nfsd4_ff_proc_layoutcommit ]
Signed-off-by: Sasha Levin <sashal@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
fs/nfsd/flexfilelayout.c

index fabc21ed68cea72100004a821c4e8f205cc4262f..041466513641cedaa57b438c2dde91017d070f3d 100644 (file)
@@ -125,6 +125,13 @@ nfsd4_ff_proc_getdeviceinfo(struct super_block *sb, struct svc_rqst *rqstp,
        return 0;
 }
 
+static __be32
+nfsd4_ff_proc_layoutcommit(struct inode *inode,
+               struct nfsd4_layoutcommit *lcp)
+{
+       return nfs_ok;
+}
+
 const struct nfsd4_layout_ops ff_layout_ops = {
        .notify_types           =
                        NOTIFY_DEVICEID4_DELETE | NOTIFY_DEVICEID4_CHANGE,
@@ -133,4 +140,5 @@ const struct nfsd4_layout_ops ff_layout_ops = {
        .encode_getdeviceinfo   = nfsd4_ff_encode_getdeviceinfo,
        .proc_layoutget         = nfsd4_ff_proc_layoutget,
        .encode_layoutget       = nfsd4_ff_encode_layoutget,
+       .proc_layoutcommit      = nfsd4_ff_proc_layoutcommit,
 };