| From stable+bounces-188066-greg=kroah.com@vger.kernel.org Mon Oct 20 14:53:20 2025 |
| From: Sasha Levin <sashal@kernel.org> |
| Date: Mon, 20 Oct 2025 08:53:00 -0400 |
| Subject: nfsd: Drop dprintk in blocklayout xdr functions |
| To: stable@vger.kernel.org |
| Cc: Sergey Bashirov <sergeybashirov@gmail.com>, Jeff Layton <jlayton@kernel.org>, Christoph Hellwig <hch@lst.de>, Chuck Lever <chuck.lever@oracle.com>, Sasha Levin <sashal@kernel.org> |
| Message-ID: <20251020125305.1760219-2-sashal@kernel.org> |
| |
| From: Sergey Bashirov <sergeybashirov@gmail.com> |
| |
| [ Upstream commit e339967eecf1305557f7c697e1bc10b5cc495454 ] |
| |
| Minor clean up. Instead of dprintk there are appropriate error codes. |
| |
| Signed-off-by: Sergey Bashirov <sergeybashirov@gmail.com> |
| Reviewed-by: Jeff Layton <jlayton@kernel.org> |
| Reviewed-by: Christoph Hellwig <hch@lst.de> |
| Signed-off-by: Chuck Lever <chuck.lever@oracle.com> |
| Stable-dep-of: d68886bae76a ("NFSD: Fix last write offset handling in layoutcommit") |
| Signed-off-by: Sasha Levin <sashal@kernel.org> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| --- |
| fs/nfsd/blocklayoutxdr.c | 40 +++++++--------------------------------- |
| 1 file changed, 7 insertions(+), 33 deletions(-) |
| |
| --- a/fs/nfsd/blocklayoutxdr.c |
| +++ b/fs/nfsd/blocklayoutxdr.c |
| @@ -139,28 +139,19 @@ nfsd4_block_decode_layoutupdate(__be32 * |
| struct iomap *iomaps; |
| u32 nr_iomaps, i; |
| |
| - if (len < sizeof(u32)) { |
| - dprintk("%s: extent array too small: %u\n", __func__, len); |
| + if (len < sizeof(u32)) |
| return nfserr_bad_xdr; |
| - } |
| len -= sizeof(u32); |
| - if (len % PNFS_BLOCK_EXTENT_SIZE) { |
| - dprintk("%s: extent array invalid: %u\n", __func__, len); |
| + if (len % PNFS_BLOCK_EXTENT_SIZE) |
| return nfserr_bad_xdr; |
| - } |
| |
| nr_iomaps = be32_to_cpup(p++); |
| - if (nr_iomaps != len / PNFS_BLOCK_EXTENT_SIZE) { |
| - dprintk("%s: extent array size mismatch: %u/%u\n", |
| - __func__, len, nr_iomaps); |
| + if (nr_iomaps != len / PNFS_BLOCK_EXTENT_SIZE) |
| return nfserr_bad_xdr; |
| - } |
| |
| iomaps = kcalloc(nr_iomaps, sizeof(*iomaps), GFP_KERNEL); |
| - if (!iomaps) { |
| - dprintk("%s: failed to allocate extent array\n", __func__); |
| + if (!iomaps) |
| return nfserr_delay; |
| - } |
| |
| for (i = 0; i < nr_iomaps; i++) { |
| struct pnfs_block_extent bex; |
| @@ -170,26 +161,18 @@ nfsd4_block_decode_layoutupdate(__be32 * |
| |
| p = xdr_decode_hyper(p, &bex.foff); |
| if (bex.foff & (block_size - 1)) { |
| - dprintk("%s: unaligned offset 0x%llx\n", |
| - __func__, bex.foff); |
| goto fail; |
| } |
| p = xdr_decode_hyper(p, &bex.len); |
| if (bex.len & (block_size - 1)) { |
| - dprintk("%s: unaligned length 0x%llx\n", |
| - __func__, bex.foff); |
| goto fail; |
| } |
| p = xdr_decode_hyper(p, &bex.soff); |
| if (bex.soff & (block_size - 1)) { |
| - dprintk("%s: unaligned disk offset 0x%llx\n", |
| - __func__, bex.soff); |
| goto fail; |
| } |
| bex.es = be32_to_cpup(p++); |
| if (bex.es != PNFS_BLOCK_READWRITE_DATA) { |
| - dprintk("%s: incorrect extent state %d\n", |
| - __func__, bex.es); |
| goto fail; |
| } |
| |
| @@ -231,38 +214,29 @@ nfsd4_scsi_decode_layoutupdate(__be32 *p |
| struct iomap *iomaps; |
| u32 nr_iomaps, expected, i; |
| |
| - if (len < sizeof(u32)) { |
| - dprintk("%s: extent array too small: %u\n", __func__, len); |
| + if (len < sizeof(u32)) |
| return nfserr_bad_xdr; |
| - } |
| |
| nr_iomaps = be32_to_cpup(p++); |
| expected = sizeof(__be32) + nr_iomaps * PNFS_SCSI_RANGE_SIZE; |
| - if (len != expected) { |
| - dprintk("%s: extent array size mismatch: %u/%u\n", |
| - __func__, len, expected); |
| + if (len != expected) |
| return nfserr_bad_xdr; |
| - } |
| |
| iomaps = kcalloc(nr_iomaps, sizeof(*iomaps), GFP_KERNEL); |
| - if (!iomaps) { |
| - dprintk("%s: failed to allocate extent array\n", __func__); |
| + if (!iomaps) |
| return nfserr_delay; |
| - } |
| |
| for (i = 0; i < nr_iomaps; i++) { |
| u64 val; |
| |
| p = xdr_decode_hyper(p, &val); |
| if (val & (block_size - 1)) { |
| - dprintk("%s: unaligned offset 0x%llx\n", __func__, val); |
| goto fail; |
| } |
| iomaps[i].offset = val; |
| |
| p = xdr_decode_hyper(p, &val); |
| if (val & (block_size - 1)) { |
| - dprintk("%s: unaligned length 0x%llx\n", __func__, val); |
| goto fail; |
| } |
| iomaps[i].length = val; |