[dpdk-dev] [PATCH] lib/gro: fix bitwise overflow issue
Jiayu Hu
jiayu.hu at intel.com
Mon Jul 31 03:43:24 CEST 2017
When try to get GRO types, expression "1 << i" with type "int" may
overflow. This patch is to fix this issue.
Fixes: e996506a1c07 ("lib/gro: add Generic Receive Offload API framework")
Coverity issue: 158664
Signed-off-by: Jiayu Hu <jiayu.hu at intel.com>
---
lib/librte_gro/rte_gro.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/lib/librte_gro/rte_gro.c b/lib/librte_gro/rte_gro.c
index 4998b90..7853246 100644
--- a/lib/librte_gro/rte_gro.c
+++ b/lib/librte_gro/rte_gro.c
@@ -81,7 +81,7 @@ rte_gro_ctx_create(const struct rte_gro_param *param)
return NULL;
for (i = 0; i < RTE_GRO_TYPE_MAX_NUM; i++) {
- gro_type_flag = 1 << i;
+ gro_type_flag = 1ULL << i;
if ((param->gro_types & gro_type_flag) == 0)
continue;
@@ -116,7 +116,7 @@ rte_gro_ctx_destroy(void *ctx)
if (gro_ctx == NULL)
return;
for (i = 0; i < RTE_GRO_TYPE_MAX_NUM; i++) {
- gro_type_flag = 1 << i;
+ gro_type_flag = 1ULL << i;
if ((gro_ctx->gro_types & gro_type_flag) == 0)
continue;
destroy_tbl_fn = tbl_destroy_fn[i];
@@ -265,7 +265,7 @@ rte_gro_get_pkt_count(void *ctx)
uint8_t i;
for (i = 0; i < RTE_GRO_TYPE_MAX_NUM; i++) {
- gro_type_flag = 1 << i;
+ gro_type_flag = 1ULL << i;
if ((gro_ctx->gro_types & gro_type_flag) == 0)
continue;
--
2.7.4
More information about the dev
mailing list