DPDK patches and discussions
 help / color / mirror / Atom feed
* [PATCH] app/testpmd: fix mask in random flow item definition
@ 2025-07-30 11:32 Maayan Kashani
  2025-08-01 22:55 ` Stephen Hemminger
  0 siblings, 1 reply; 2+ messages in thread
From: Maayan Kashani @ 2025-07-30 11:32 UTC (permalink / raw)
  To: dev
  Cc: mkashani, rasland, stable, Dariusz Sosnowski, Ori Kam,
	Aman Singh, Gregory Etelson

A previous patch addressing an ASAN global-buffer-overflow issue
inadvertently degraded the random mask value translation.
Specifically, changing the mask from 0xffff to 0x0000ffff caused
the value to be shifted left by 16 bits, since Testpmd
defines arg::mask as a byte array.

Independent of the ASAN fix, the random item mask specification
was invalid at the API level: random items require a 32-bit mask,
but only a 16-bit mask was being used.

The correct mask for this use case is 0xffffffff.
This fix restores the correct random value translation
by applying the proper 32-bit mask and
addresses the original ASAN issue.

Fixes: 9a18070e3fe4 ("app/testpmd: fix flow random item token")
Cc: stable@dpdk.org

Signed-off-by: Maayan Kashani <mkashani@nvidia.com>
Acked-by: Dariusz Sosnowski <dsosnowski@nvidia.com>
---
 app/test-pmd/cmdline_flow.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/app/test-pmd/cmdline_flow.c b/app/test-pmd/cmdline_flow.c
index 83d398f8eea..38e751f3f3c 100644
--- a/app/test-pmd/cmdline_flow.c
+++ b/app/test-pmd/cmdline_flow.c
@@ -5591,7 +5591,7 @@ static const struct token token_list[] = {
 		.next = NEXT(item_random, NEXT_ENTRY(COMMON_UNSIGNED),
 			     item_param),
 		.args = ARGS(ARGS_ENTRY_MASK(struct rte_flow_item_random,
-					     value, "\x00\x00\xff\xff")),
+					     value, "\xff\xff\xff\xff")),
 	},
 	[ITEM_GRE_KEY] = {
 		.name = "gre_key",
-- 
2.21.0


^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: [PATCH] app/testpmd: fix mask in random flow item definition
  2025-07-30 11:32 [PATCH] app/testpmd: fix mask in random flow item definition Maayan Kashani
@ 2025-08-01 22:55 ` Stephen Hemminger
  0 siblings, 0 replies; 2+ messages in thread
From: Stephen Hemminger @ 2025-08-01 22:55 UTC (permalink / raw)
  To: Maayan Kashani
  Cc: dev, rasland, stable, Dariusz Sosnowski, Ori Kam, Aman Singh,
	Gregory Etelson

On Wed, 30 Jul 2025 14:32:43 +0300
Maayan Kashani <mkashani@nvidia.com> wrote:

> A previous patch addressing an ASAN global-buffer-overflow issue
> inadvertently degraded the random mask value translation.
> Specifically, changing the mask from 0xffff to 0x0000ffff caused
> the value to be shifted left by 16 bits, since Testpmd
> defines arg::mask as a byte array.
> 
> Independent of the ASAN fix, the random item mask specification
> was invalid at the API level: random items require a 32-bit mask,
> but only a 16-bit mask was being used.
> 
> The correct mask for this use case is 0xffffffff.
> This fix restores the correct random value translation
> by applying the proper 32-bit mask and
> addresses the original ASAN issue.
> 
> Fixes: 9a18070e3fe4 ("app/testpmd: fix flow random item token")
> Cc: stable@dpdk.org
> 
> Signed-off-by: Maayan Kashani <mkashani@nvidia.com>
> Acked-by: Dariusz Sosnowski <dsosnowski@nvidia.com>
> ---
>  app/test-pmd/cmdline_flow.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/app/test-pmd/cmdline_flow.c b/app/test-pmd/cmdline_flow.c
> index 83d398f8eea..38e751f3f3c 100644
> --- a/app/test-pmd/cmdline_flow.c
> +++ b/app/test-pmd/cmdline_flow.c
> @@ -5591,7 +5591,7 @@ static const struct token token_list[] = {
>  		.next = NEXT(item_random, NEXT_ENTRY(COMMON_UNSIGNED),
>  			     item_param),
>  		.args = ARGS(ARGS_ENTRY_MASK(struct rte_flow_item_random,
> -					     value, "\x00\x00\xff\xff")),
> +					     value, "\xff\xff\xff\xff")),
>  	},
>  	[ITEM_GRE_KEY] = {
>  		.name = "gre_key",

Applied to next-net


Using initialized strings as proxy for a byte array has lead to overflow
bugs and warnings on some compilers. Perhaps this might cause problems later.

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2025-08-01 22:55 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2025-07-30 11:32 [PATCH] app/testpmd: fix mask in random flow item definition Maayan Kashani
2025-08-01 22:55 ` Stephen Hemminger

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).