[v2,4/7] baseband/acc: acc100 fix queue mapping to 64 bits

Message ID 20230106054443.199473-5-hernan.vargas@intel.com (mailing list archive)
State Superseded, archived
Delegated to: Maxime Coquelin
Headers
Series baseband/acc: changes for 23.03 |

Checks

Context Check Description
ci/checkpatch success coding style OK

Commit Message

Hernan Vargas Jan. 6, 2023, 5:44 a.m. UTC
  Fix potential overflow for Q mapping extension to 64 bits.

Fixes: 32e8b7ea35d ("baseband/acc100: refactor to segregate common code")

Signed-off-by: Hernan Vargas <hernan.vargas@intel.com>
---
 drivers/baseband/acc/rte_acc100_pmd.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
  

Comments

Maxime Coquelin Jan. 6, 2023, 9:12 a.m. UTC | #1
On 1/6/23 06:44, Hernan Vargas wrote:
> Fix potential overflow for Q mapping extension to 64 bits.
> 
> Fixes: 32e8b7ea35d ("baseband/acc100: refactor to segregate common code")
> 
> Signed-off-by: Hernan Vargas <hernan.vargas@intel.com>
> ---
>   drivers/baseband/acc/rte_acc100_pmd.c | 2 +-
>   1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/baseband/acc/rte_acc100_pmd.c b/drivers/baseband/acc/rte_acc100_pmd.c
> index 2f65f290b5..1ca95f4440 100644
> --- a/drivers/baseband/acc/rte_acc100_pmd.c
> +++ b/drivers/baseband/acc/rte_acc100_pmd.c
> @@ -664,7 +664,7 @@ acc100_find_free_queue_idx(struct rte_bbdev *dev,
>   	for (aq_idx = 0; aq_idx < qtop->num_aqs_per_groups; aq_idx++) {
>   		if (((d->q_assigned_bit_map[group_idx] >> aq_idx) & 0x1) == 0) {
>   			/* Mark the Queue as assigned */
> -			d->q_assigned_bit_map[group_idx] |= (1 << aq_idx);
> +			d->q_assigned_bit_map[group_idx] |= (1ULL << aq_idx);
>   			/* Report the AQ Index */
>   			return (group_idx << ACC100_GRP_ID_SHIFT) + aq_idx;
>   		}

Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>

Thanks,
Maxime
  
Maxime Coquelin Jan. 6, 2023, 9:13 a.m. UTC | #2
On 1/6/23 10:12, Maxime Coquelin wrote:
> 
> 
> On 1/6/23 06:44, Hernan Vargas wrote:
>> Fix potential overflow for Q mapping extension to 64 bits.
>>
>> Fixes: 32e8b7ea35d ("baseband/acc100: refactor to segregate common code")
>>
>> Signed-off-by: Hernan Vargas <hernan.vargas@intel.com>
>> ---
>>   drivers/baseband/acc/rte_acc100_pmd.c | 2 +-
>>   1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/drivers/baseband/acc/rte_acc100_pmd.c 
>> b/drivers/baseband/acc/rte_acc100_pmd.c
>> index 2f65f290b5..1ca95f4440 100644
>> --- a/drivers/baseband/acc/rte_acc100_pmd.c
>> +++ b/drivers/baseband/acc/rte_acc100_pmd.c
>> @@ -664,7 +664,7 @@ acc100_find_free_queue_idx(struct rte_bbdev *dev,
>>       for (aq_idx = 0; aq_idx < qtop->num_aqs_per_groups; aq_idx++) {
>>           if (((d->q_assigned_bit_map[group_idx] >> aq_idx) & 0x1) == 
>> 0) {
>>               /* Mark the Queue as assigned */
>> -            d->q_assigned_bit_map[group_idx] |= (1 << aq_idx);
>> +            d->q_assigned_bit_map[group_idx] |= (1ULL << aq_idx);
>>               /* Report the AQ Index */
>>               return (group_idx << ACC100_GRP_ID_SHIFT) + aq_idx;
>>           }
> 
> Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>

Also cc'ing stable since it is in v22.11 at least.

> Thanks,
> Maxime
  
Hernan Vargas Jan. 6, 2023, 10:06 p.m. UTC | #3
Hi Maxime,

aq_idx is uint16_t in the stable branch so I don't think that this fix is needed there.

Thanks,
Hernan

-----Original Message-----
From: Maxime Coquelin <maxime.coquelin@redhat.com> 
Sent: Friday, January 6, 2023 3:13 AM
To: Vargas, Hernan <hernan.vargas@intel.com>; dev@dpdk.org; gakhil@marvell.com; trix@redhat.com
Cc: Chautru, Nicolas <nicolas.chautru@intel.com>; Zhang, Qi Z <qi.z.zhang@intel.com>; stable@dpdk.org
Subject: Re: [PATCH v2 4/7] baseband/acc: acc100 fix queue mapping to 64 bits



On 1/6/23 10:12, Maxime Coquelin wrote:
> 
> 
> On 1/6/23 06:44, Hernan Vargas wrote:
>> Fix potential overflow for Q mapping extension to 64 bits.
>>
>> Fixes: 32e8b7ea35d ("baseband/acc100: refactor to segregate common code")
>>
>> Signed-off-by: Hernan Vargas <hernan.vargas@intel.com>
>> ---
>>   drivers/baseband/acc/rte_acc100_pmd.c | 2 +-
>>   1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/drivers/baseband/acc/rte_acc100_pmd.c 
>> b/drivers/baseband/acc/rte_acc100_pmd.c
>> index 2f65f290b5..1ca95f4440 100644
>> --- a/drivers/baseband/acc/rte_acc100_pmd.c
>> +++ b/drivers/baseband/acc/rte_acc100_pmd.c
>> @@ -664,7 +664,7 @@ acc100_find_free_queue_idx(struct rte_bbdev *dev,
>>       for (aq_idx = 0; aq_idx < qtop->num_aqs_per_groups; aq_idx++) {
>>           if (((d->q_assigned_bit_map[group_idx] >> aq_idx) & 0x1) == 
>> 0) {
>>               /* Mark the Queue as assigned */
>> -            d->q_assigned_bit_map[group_idx] |= (1 << aq_idx);
>> +            d->q_assigned_bit_map[group_idx] |= (1ULL << aq_idx);
>>               /* Report the AQ Index */
>>               return (group_idx << ACC100_GRP_ID_SHIFT) + aq_idx;
>>           }
> 
> Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>

Also cc'ing stable since it is in v22.11 at least.

> Thanks,
> Maxime
  

Patch

diff --git a/drivers/baseband/acc/rte_acc100_pmd.c b/drivers/baseband/acc/rte_acc100_pmd.c
index 2f65f290b5..1ca95f4440 100644
--- a/drivers/baseband/acc/rte_acc100_pmd.c
+++ b/drivers/baseband/acc/rte_acc100_pmd.c
@@ -664,7 +664,7 @@  acc100_find_free_queue_idx(struct rte_bbdev *dev,
 	for (aq_idx = 0; aq_idx < qtop->num_aqs_per_groups; aq_idx++) {
 		if (((d->q_assigned_bit_map[group_idx] >> aq_idx) & 0x1) == 0) {
 			/* Mark the Queue as assigned */
-			d->q_assigned_bit_map[group_idx] |= (1 << aq_idx);
+			d->q_assigned_bit_map[group_idx] |= (1ULL << aq_idx);
 			/* Report the AQ Index */
 			return (group_idx << ACC100_GRP_ID_SHIFT) + aq_idx;
 		}