aboutsummaryrefslogtreecommitdiffstats
path: root/fs/nfsd/nfs3proc.c
diff options
context:
space:
mode:
authorChuck Lever <chuck.lever@oracle.com>2022-01-25 15:59:57 -0500
committerChuck Lever <chuck.lever@oracle.com>2022-02-09 09:23:38 -0500
commita648fdeb7c0e17177a2280344d015dba3fbe3314 (patch)
treeeb1574dc60f5c45ea560db620f6dc74c40258ce6 /fs/nfsd/nfs3proc.c
parentNFSD: Fix ia_size underflow (diff)
downloadlinux-dev-a648fdeb7c0e17177a2280344d015dba3fbe3314.tar.xz
linux-dev-a648fdeb7c0e17177a2280344d015dba3fbe3314.zip
NFSD: Fix NFSv3 SETATTR/CREATE's handling of large file sizes
iattr::ia_size is a loff_t, so these NFSv3 procedures must be careful to deal with incoming client size values that are larger than s64_max without corrupting the value. Silently capping the value results in storing a different value than the client passed in which is unexpected behavior, so remove the min_t() check in decode_sattr3(). Note that RFC 1813 permits only the WRITE procedure to return NFS3ERR_FBIG. We believe that NFSv3 reference implementations also return NFS3ERR_FBIG when ia_size is too large. Cc: stable@vger.kernel.org Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
Diffstat (limited to 'fs/nfsd/nfs3proc.c')
0 files changed, 0 insertions, 0 deletions