net/netvsc: fix rndis packet addresses

Message ID 1600455227-3709-1-git-send-email-longli@linuxonhyperv.com (mailing list archive)
State Accepted, archived
Delegated to: Ferruh Yigit
Headers
Series net/netvsc: fix rndis packet addresses |

Checks

Context Check Description
ci/checkpatch success coding style OK
ci/iol-broadcom-Performance success Performance Testing PASS
ci/iol-testing success Testing PASS
ci/iol-intel-Functional success Functional Testing PASS
ci/iol-broadcom-Functional success Functional Testing PASS
ci/iol-intel-Performance success Performance Testing PASS
ci/Intel-compilation success Compilation OK
ci/travis-robot success Travis build: passed

Commit Message

Long Li Sept. 18, 2020, 6:53 p.m. UTC
  From: Long Li <longli@microsoft.com>

The address should be calculated before type cast, not after.

Fixes: cc02518 ("net/netvsc: split send buffers from Tx descriptors")
Cc: stable@dpdk.org

Reported-by: Souvik Dey <sodey@rbbn.com>
Signed-off-by: Long Li <longli@microsoft.com>
---
 drivers/net/netvsc/hn_rxtx.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
  

Comments

Ferruh Yigit Sept. 21, 2020, 1:50 p.m. UTC | #1
On 9/18/2020 7:53 PM, Long Li wrote:
> From: Long Li <longli@microsoft.com>
> 
> The address should be calculated before type cast, not after.
> 
> Fixes: cc02518 ("net/netvsc: split send buffers from Tx descriptors")
> Cc: stable@dpdk.org
> 
> Reported-by: Souvik Dey <sodey@rbbn.com>
> Signed-off-by: Long Li <longli@microsoft.com>

Applied to dpdk-next-net/main, thanks.
  
Kevin Traynor Sept. 21, 2020, 4:04 p.m. UTC | #2
On 18/09/2020 19:53, Long Li wrote:
> From: Long Li <longli@microsoft.com>
> 
> The address should be calculated before type cast, not after.
> 

This is being requested for 18.11.10 as it is fixing a reported
regression introduced in 18.11.9.

If netvsc maintainers agree and it is merged in DPDK mainline this week,
I can take it into 18.11.10, otherwise it will be for 18.11.11.

Souvik, maybe you can give tested-by tags?

> Fixes: cc02518 ("net/netvsc: split send buffers from Tx descriptors")
> Cc: stable@dpdk.org
> 
> Reported-by: Souvik Dey <sodey@rbbn.com>
> Signed-off-by: Long Li <longli@microsoft.com>
> ---
>  drivers/net/netvsc/hn_rxtx.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/net/netvsc/hn_rxtx.c b/drivers/net/netvsc/hn_rxtx.c
> index 813f8c3cc..70f8b8332 100644
> --- a/drivers/net/netvsc/hn_rxtx.c
> +++ b/drivers/net/netvsc/hn_rxtx.c
> @@ -160,8 +160,8 @@ static void hn_txd_init(struct rte_mempool *mp __rte_unused,
>  
>  	txd->queue_id = txq->queue_id;
>  	txd->chim_index = NVS_CHIM_IDX_INVALID;
> -	txd->rndis_pkt = (struct rndis_packet_msg *)(char *)txq->tx_rndis
> -		+ idx * HN_RNDIS_PKT_ALIGNED;
> +	txd->rndis_pkt = (struct rndis_packet_msg *)((char *)txq->tx_rndis
> +		+ idx * HN_RNDIS_PKT_ALIGNED);
>  }
>  
>  int
>
  
Kevin Traynor Sept. 21, 2020, 4:06 p.m. UTC | #3
+fixed Souvik email

On 21/09/2020 17:04, Kevin Traynor wrote:
> On 18/09/2020 19:53, Long Li wrote:
>> From: Long Li <longli@microsoft.com>
>>
>> The address should be calculated before type cast, not after.
>>
> 
> This is being requested for 18.11.10 as it is fixing a reported
> regression introduced in 18.11.9.
> 
> If netvsc maintainers agree and it is merged in DPDK mainline this week,
> I can take it into 18.11.10, otherwise it will be for 18.11.11.
> 
> Souvik, maybe you can give tested-by tags?
> 
>> Fixes: cc02518 ("net/netvsc: split send buffers from Tx descriptors")
>> Cc: stable@dpdk.org
>>
>> Reported-by: Souvik Dey <sodey@rbbn.com>
>> Signed-off-by: Long Li <longli@microsoft.com>
>> ---
>>  drivers/net/netvsc/hn_rxtx.c | 4 ++--
>>  1 file changed, 2 insertions(+), 2 deletions(-)
>>
>> diff --git a/drivers/net/netvsc/hn_rxtx.c b/drivers/net/netvsc/hn_rxtx.c
>> index 813f8c3cc..70f8b8332 100644
>> --- a/drivers/net/netvsc/hn_rxtx.c
>> +++ b/drivers/net/netvsc/hn_rxtx.c
>> @@ -160,8 +160,8 @@ static void hn_txd_init(struct rte_mempool *mp __rte_unused,
>>  
>>  	txd->queue_id = txq->queue_id;
>>  	txd->chim_index = NVS_CHIM_IDX_INVALID;
>> -	txd->rndis_pkt = (struct rndis_packet_msg *)(char *)txq->tx_rndis
>> -		+ idx * HN_RNDIS_PKT_ALIGNED;
>> +	txd->rndis_pkt = (struct rndis_packet_msg *)((char *)txq->tx_rndis
>> +		+ idx * HN_RNDIS_PKT_ALIGNED);
>>  }
>>  
>>  int
>>
  
Kevin Traynor Sept. 21, 2020, 4:19 p.m. UTC | #4
On 21/09/2020 17:04, Kevin Traynor wrote:
> On 18/09/2020 19:53, Long Li wrote:
>> From: Long Li <longli@microsoft.com>
>>
>> The address should be calculated before type cast, not after.
>>
> 
> This is being requested for 18.11.10 as it is fixing a reported
> regression introduced in 18.11.9.
> 
> If netvsc maintainers agree and it is merged in DPDK mainline this week,
> I can take it into 18.11.10, otherwise it will be for 18.11.11.
> 
> Souvik, maybe you can give tested-by tags?
> 

Ah, already applied to next-net, Ferruh is fast.

Stephen/Long - I will assume you ack this for 18.11.10 (normally it
would be 18.11.11 after 20.11 release). Please let me know if any doubt.

>> Fixes: cc02518 ("net/netvsc: split send buffers from Tx descriptors")
>> Cc: stable@dpdk.org
>>
>> Reported-by: Souvik Dey <sodey@rbbn.com>
>> Signed-off-by: Long Li <longli@microsoft.com>
>> ---
>>  drivers/net/netvsc/hn_rxtx.c | 4 ++--
>>  1 file changed, 2 insertions(+), 2 deletions(-)
>>
>> diff --git a/drivers/net/netvsc/hn_rxtx.c b/drivers/net/netvsc/hn_rxtx.c
>> index 813f8c3cc..70f8b8332 100644
>> --- a/drivers/net/netvsc/hn_rxtx.c
>> +++ b/drivers/net/netvsc/hn_rxtx.c
>> @@ -160,8 +160,8 @@ static void hn_txd_init(struct rte_mempool *mp __rte_unused,
>>  
>>  	txd->queue_id = txq->queue_id;
>>  	txd->chim_index = NVS_CHIM_IDX_INVALID;
>> -	txd->rndis_pkt = (struct rndis_packet_msg *)(char *)txq->tx_rndis
>> -		+ idx * HN_RNDIS_PKT_ALIGNED;
>> +	txd->rndis_pkt = (struct rndis_packet_msg *)((char *)txq->tx_rndis
>> +		+ idx * HN_RNDIS_PKT_ALIGNED);
>>  }
>>  
>>  int
>>
>
  
Long Li Sept. 21, 2020, 7:09 p.m. UTC | #5
>On 21/09/2020 17:04, Kevin Traynor wrote:
>> On 18/09/2020 19:53, Long Li wrote:
>>> From: Long Li <longli@microsoft.com>
>>>
>>> The address should be calculated before type cast, not after.
>>>
>>
>> This is being requested for 18.11.10 as it is fixing a reported
>> regression introduced in 18.11.9.
>>
>> If netvsc maintainers agree and it is merged in DPDK mainline this
>> week, I can take it into 18.11.10, otherwise it will be for 18.11.11.
>>
>> Souvik, maybe you can give tested-by tags?
>>
>
>Ah, already applied to next-net, Ferruh is fast.
>
>Stephen/Long - I will assume you ack this for 18.11.10 (normally it would be
>18.11.11 after 20.11 release). Please let me know if any doubt.

Yes, please get this patch in 18.11.10.

>
>>> Fixes: cc02518 ("net/netvsc: split send buffers from Tx descriptors")
>>> Cc: stable@dpdk.org
>>>
>>> Reported-by: Souvik Dey <sodey@rbbn.com>
>>> Signed-off-by: Long Li <longli@microsoft.com>
>>> ---
>>>  drivers/net/netvsc/hn_rxtx.c | 4 ++--
>>>  1 file changed, 2 insertions(+), 2 deletions(-)
>>>
>>> diff --git a/drivers/net/netvsc/hn_rxtx.c
>>> b/drivers/net/netvsc/hn_rxtx.c index 813f8c3cc..70f8b8332 100644
>>> --- a/drivers/net/netvsc/hn_rxtx.c
>>> +++ b/drivers/net/netvsc/hn_rxtx.c
>>> @@ -160,8 +160,8 @@ static void hn_txd_init(struct rte_mempool *mp
>>> __rte_unused,
>>>
>>>  	txd->queue_id = txq->queue_id;
>>>  	txd->chim_index = NVS_CHIM_IDX_INVALID;
>>> -	txd->rndis_pkt = (struct rndis_packet_msg *)(char *)txq->tx_rndis
>>> -		+ idx * HN_RNDIS_PKT_ALIGNED;
>>> +	txd->rndis_pkt = (struct rndis_packet_msg *)((char *)txq->tx_rndis
>>> +		+ idx * HN_RNDIS_PKT_ALIGNED);
>>>  }
>>>
>>>  int
>>>
>>
  

Patch

diff --git a/drivers/net/netvsc/hn_rxtx.c b/drivers/net/netvsc/hn_rxtx.c
index 813f8c3cc..70f8b8332 100644
--- a/drivers/net/netvsc/hn_rxtx.c
+++ b/drivers/net/netvsc/hn_rxtx.c
@@ -160,8 +160,8 @@  static void hn_txd_init(struct rte_mempool *mp __rte_unused,
 
 	txd->queue_id = txq->queue_id;
 	txd->chim_index = NVS_CHIM_IDX_INVALID;
-	txd->rndis_pkt = (struct rndis_packet_msg *)(char *)txq->tx_rndis
-		+ idx * HN_RNDIS_PKT_ALIGNED;
+	txd->rndis_pkt = (struct rndis_packet_msg *)((char *)txq->tx_rndis
+		+ idx * HN_RNDIS_PKT_ALIGNED);
 }
 
 int