net/netvsc: fix rndis packet addresses
Checks
Commit Message
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
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.
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
>
+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
>>
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
>>
>
>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
>>>
>>
@@ -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