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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




> On Jul 15, 2020, at 12:31 PM, Colin Ian King <colin.king@xxxxxxxxxxxxx> wrote:
> 
> Bah, $SUBJECT typo "calcations" -> "calculations". can that be fixed up
> when it's applied, or shall I send a V2?

Anna's preference.

Reviewed-by: Chuck Lever <chuck.lever@xxxxxxxxxx>


> 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 */
>> 
>> 
> 

--
Chuck Lever







[Index of Archives]     [Linux Filesystem Development]     [Linux USB Development]     [Linux Media Development]     [Video for Linux]     [Linux NILFS]     [Linux Audio Users]     [Yosemite Info]     [Linux SCSI]

  Powered by Linux