Re: [PATCH] xprtrdma: fix incorrect header size calcations

From: Colin Ian King
Date: Wed Jul 15 2020 - 12:31:38 EST


Bah, $SUBJECT typo "calcations" -> "calculations". can that be fixed up
when it's applied, or shall I send a V2?

On 15/07/2020 17:26, Colin King wrote:
> From: Colin Ian King <colin.king@xxxxxxxxxxxxx>
>
> Currently the header size calculations are using an assignment
> operator instead of a += operator when accumulating the header
> size leading to incorrect sizes. Fix this by using the correct
> operator.
>
> Addresses-Coverity: ("Unused value")
> Fixes: 302d3deb2068 ("xprtrdma: Prevent inline overflow")
> Signed-off-by: Colin Ian King <colin.king@xxxxxxxxxxxxx>
> ---
> net/sunrpc/xprtrdma/rpc_rdma.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/net/sunrpc/xprtrdma/rpc_rdma.c b/net/sunrpc/xprtrdma/rpc_rdma.c
> index 935bbef2f7be..453bacc99907 100644
> --- a/net/sunrpc/xprtrdma/rpc_rdma.c
> +++ b/net/sunrpc/xprtrdma/rpc_rdma.c
> @@ -71,7 +71,7 @@ static unsigned int rpcrdma_max_call_header_size(unsigned int maxsegs)
> size = RPCRDMA_HDRLEN_MIN;
>
> /* Maximum Read list size */
> - size = maxsegs * rpcrdma_readchunk_maxsz * sizeof(__be32);
> + size += maxsegs * rpcrdma_readchunk_maxsz * sizeof(__be32);
>
> /* Minimal Read chunk size */
> size += sizeof(__be32); /* segment count */
> @@ -94,7 +94,7 @@ static unsigned int rpcrdma_max_reply_header_size(unsigned int maxsegs)
> size = RPCRDMA_HDRLEN_MIN;
>
> /* Maximum Write list size */
> - size = sizeof(__be32); /* segment count */
> + size += sizeof(__be32); /* segment count */
> size += maxsegs * rpcrdma_segment_maxsz * sizeof(__be32);
> size += sizeof(__be32); /* list discriminator */
>
>