[v2,4/7] baseband/acc: acc100 fix queue mapping to 64 bits
Checks
Commit Message
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
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
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
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
@@ -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;
}