From: Anna Schumaker <Anna.Schumaker@xxxxxxxxxx> xdr_expand_hole() might truncate data off the end of the buffer. If that happens, we need to return a short read to the NFS code to indicate that some data has been lost. Fixes: e6ac0accb27c "SUNRPC: Add an xdr_align_data() function" Signed-off-by: Anna Schumaker <Anna.Schumaker@xxxxxxxxxx> --- net/sunrpc/xdr.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/net/sunrpc/xdr.c b/net/sunrpc/xdr.c index 5b848fe65c81..68f470e33427 100644 --- a/net/sunrpc/xdr.c +++ b/net/sunrpc/xdr.c @@ -1273,6 +1273,8 @@ uint64_t xdr_align_data(struct xdr_stream *xdr, uint64_t offset, uint32_t length bytes = xdr->nwords << 2; if (length < bytes) bytes = length; + if (bytes < length) + length = bytes; /* Move page data to the left */ if (from > offset) { -- 2.29.2