[2/2] net/tap: fix tap interrupt vector array size
Checks
Commit Message
From: Chengchang Tang <tangchengchang@huawei.com>
The size of the current interrupt vector array is fixed to an integer.
This patch will create an interrupt vector array based on the number
of rxqs.
Fixes: 4870a8cdd968 ("net/tap: support Rx interrupt")
Cc: stable@dpdk.org
Signed-off-by: Chengchang Tang <tangchengchang@huawei.com>
Signed-off-by: Min Hu (Connor) <humin29@huawei.com>
---
drivers/net/tap/tap_intr.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
Comments
On Thu, 22 Apr 2021 19:27:14 +0800
"Min Hu (Connor)" <humin29@huawei.com> wrote:
> diff --git a/drivers/net/tap/tap_intr.c b/drivers/net/tap/tap_intr.c
> index 5cf4f17..1cacc15 100644
> --- a/drivers/net/tap/tap_intr.c
> +++ b/drivers/net/tap/tap_intr.c
> @@ -59,7 +59,7 @@ tap_rx_intr_vec_install(struct rte_eth_dev *dev)
>
> if (!dev->data->dev_conf.intr_conf.rxq)
> return 0;
> - intr_handle->intr_vec = malloc(sizeof(intr_handle->intr_vec[rxqs_n]));
> + intr_handle->intr_vec = malloc(sizeof(int) * rxqs_n);
Maybe calloc() here would be good idea?
在 2021/4/22 23:20, Stephen Hemminger 写道:
> On Thu, 22 Apr 2021 19:27:14 +0800
> "Min Hu (Connor)" <humin29@huawei.com> wrote:
>
>> diff --git a/drivers/net/tap/tap_intr.c b/drivers/net/tap/tap_intr.c
>> index 5cf4f17..1cacc15 100644
>> --- a/drivers/net/tap/tap_intr.c
>> +++ b/drivers/net/tap/tap_intr.c
>> @@ -59,7 +59,7 @@ tap_rx_intr_vec_install(struct rte_eth_dev *dev)
>>
>> if (!dev->data->dev_conf.intr_conf.rxq)
>> return 0;
>> - intr_handle->intr_vec = malloc(sizeof(intr_handle->intr_vec[rxqs_n]));
>> + intr_handle->intr_vec = malloc(sizeof(int) * rxqs_n);
>
> Maybe calloc() here would be good idea?
>
Hi, Stephen,
No need to use calloc, because members of
'intr_handle->intr_vec' array will be set new
value.
>
On 4/22/2021 12:27 PM, Min Hu (Connor) wrote:
> From: Chengchang Tang <tangchengchang@huawei.com>
>
> The size of the current interrupt vector array is fixed to an integer.
>
> This patch will create an interrupt vector array based on the number
> of rxqs.
>
> Fixes: 4870a8cdd968 ("net/tap: support Rx interrupt")
> Cc: stable@dpdk.org
>
> Signed-off-by: Chengchang Tang <tangchengchang@huawei.com>
> Signed-off-by: Min Hu (Connor) <humin29@huawei.com>
Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
Applied to dpdk-next-net/main, thanks.
@@ -59,7 +59,7 @@ tap_rx_intr_vec_install(struct rte_eth_dev *dev)
if (!dev->data->dev_conf.intr_conf.rxq)
return 0;
- intr_handle->intr_vec = malloc(sizeof(intr_handle->intr_vec[rxqs_n]));
+ intr_handle->intr_vec = malloc(sizeof(int) * rxqs_n);
if (intr_handle->intr_vec == NULL) {
rte_errno = ENOMEM;
TAP_LOG(ERR,