]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
NFSv4.1: fix backchannel max_resp_sz verification check
authorAnthony Iliopoulos <ailiop@suse.com>
Wed, 13 Aug 2025 09:00:46 +0000 (11:00 +0200)
committerAnna Schumaker <anna.schumaker@oracle.com>
Tue, 23 Sep 2025 17:28:19 +0000 (13:28 -0400)
commit191512355e520dfc45c8bc3b56d4de59c3ade33e
treeed91cd23bae33bfa345911c492d4756a83cee539
parent64afd8783920d4f3e831fd1d99b46a65b1de95f9
NFSv4.1: fix backchannel max_resp_sz verification check

When the client max_resp_sz is larger than what the server encodes in
its reply, the nfs4_verify_back_channel_attrs() check fails and this
causes nfs4_proc_create_session() to fail, in cases where the client
page size is larger than that of the server and the server does not want
to negotiate upwards.

While this is not a problem with the linux nfs server that will reflect
the proposed value in its reply irrespective of the local page size,
other nfs server implementations may insist on their own max_resp_sz
value, which could be smaller.

Fix this by accepting smaller max_resp_sz values from the server, as
this does not violate the protocol. The server is allowed to decrease
but not increase proposed the size, and as such values smaller than the
client-proposed ones are valid.

Fixes: 43c2e885be25 ("nfs4: fix channel attribute sanity-checks")
Signed-off-by: Anthony Iliopoulos <ailiop@suse.com>
Reviewed-by: Benjamin Coddington <bcodding@redhat.com>
Signed-off-by: Anna Schumaker <anna.schumaker@oracle.com>
fs/nfs/nfs4proc.c