[PATCH] net/enic: fix potential null dereference in flow mask check

Hyong Youb Kim (hyonkim) hyonkim at cisco.com
Thu Jul 9 11:57:04 CEST 2026


> -----Original Message-----
> From: Alexey Simakov <bigalex934 at gmail.com>
> Sent: Tuesday, July 7, 2026 5:59 PM
> To: Thomas Monjalon <thomas at monjalon.net>; John Daley (johndale)
> <johndale at cisco.com>; Hyong Youb Kim (hyonkim) <hyonkim at cisco.com>;
> Nelson Escobar (neescoba) <neescoba at cisco.com>
> Cc: dev at dpdk.org; stable at dpdk.org; Alexey Simakov
> <bigalex934 at gmail.com>
> Subject: [PATCH] net/enic: fix potential null dereference in flow mask check
> 
> The functions enic_copy_item_ipv4_v1(), enic_copy_item_udp_v1(), and
> enic_copy_item_tcp_v1() each initialize a local 'mask' variable from
> item->mask and substitute it with a hardcoded mask if NULL. However,
> the subsequent mask_exact_match() call uses item->mask directly
> instead of the local 'mask' variable, which will dereference NULL
> when item->mask is NULL.
> 
> Use the local 'mask' variable (which has been validated and possibly
> substituted) instead of item->mask.
> 
> Fixes: aa3d2ff82198 ("net/enic: flow API for Legacy NICs")
> Cc: stable at dpdk.org
> 
> Signed-off-by: Alexey Simakov <bigalex934 at gmail.com>
> ---
>  .mailmap                     | 1 +
>  drivers/net/enic/enic_flow.c | 6 +++---
>  2 files changed, 4 insertions(+), 3 deletions(-)
> 
> diff --git a/.mailmap b/.mailmap
> index 4b5eb0c841..b154cd25a9 100644
> --- a/.mailmap
> +++ b/.mailmap
> @@ -71,6 +71,7 @@ Alexander Skorichenko <askorichenko at netgate.com>
>  Alexander Solganik <solganik at gmail.com>
>  Alexander V Gutkin <alexander.v.gutkin at intel.com>
>  Alexandre Ferrieux <alexandre.ferrieux at orange.com>
> +Alexey Simakov <bigalex934 at gmail.com>
>  Alexey Kardashevskiy <aik at ozlabs.ru>
>  Alfredo Cardigliano <cardigliano at ntop.org>
>  Ali Alnubani <alialnu at nvidia.com> <alialnu at mellanox.com>
> diff --git a/drivers/net/enic/enic_flow.c b/drivers/net/enic/enic_flow.c
> index 758000ea21..539b0eb725 100644
> --- a/drivers/net/enic/enic_flow.c
> +++ b/drivers/net/enic/enic_flow.c
> @@ -407,7 +407,7 @@ enic_copy_item_ipv4_v1(struct copy_item_args *arg)
> 
>  	/* check that the supplied mask exactly matches capability */
>  	if (!mask_exact_match((const uint8_t *)&supported_mask,
> -			      (const uint8_t *)item->mask, sizeof(*mask))) {
> +			      (const uint8_t *)mask, sizeof(*mask))) {
>  		ENICPMD_LOG(ERR, "IPv4 exact match mask");
>  		return ENOTSUP;
>  	}
> @@ -445,7 +445,7 @@ enic_copy_item_udp_v1(struct copy_item_args *arg)
> 
>  	/* check that the supplied mask exactly matches capability */
>  	if (!mask_exact_match((const uint8_t *)&supported_mask,
> -			      (const uint8_t *)item->mask, sizeof(*mask))) {
> +			      (const uint8_t *)mask, sizeof(*mask))) {
>  		ENICPMD_LOG(ERR, "UDP exact match mask");
>  		return ENOTSUP;
>  	}
> @@ -484,7 +484,7 @@ enic_copy_item_tcp_v1(struct copy_item_args *arg)
> 
>  	/* check that the supplied mask exactly matches capability */
>  	if (!mask_exact_match((const uint8_t *)&supported_mask,
> -			     (const uint8_t *)item->mask, sizeof(*mask))) {
> +			     (const uint8_t *)mask, sizeof(*mask))) {
>  		ENICPMD_LOG(ERR, "TCP exact match mask");
>  		return ENOTSUP;
>  	}
> --
> 2.34.1

Can you remove .mailmap diff?

The enic patch looks like a valid fix.
Acked-by: Hyong Youb Kim <hyonkim at cisco.com>

Thanks.
-Hyong



More information about the dev mailing list