Thread (2 messages) 2 messages, 2 authors, 2021-01-28

[dpdk-dev] [PATCH] app/testpmd: fix the sample RSS issue

From: Jiawei Wang <hidden>
Date: 2021-01-26 03:49:51
Subsystem: the rest · Maintainer: Linus Torvalds

When the RSS with null key was set in sample actions list, it
caused the segmentation fault since the RSS key pointer was
NULL while did the memory copy.

This patch adds the RSS key NULL pointer checking before copying
to fix the segmentation fault issue.

Fixes: 11b1b0eddade ("app/testpmd: support RSS in sample action")

Signed-off-by: Jiawei Wang <redacted>
Acked-by: Viacheslav Ovsiienko <redacted>
---
 app/test-pmd/cmdline_flow.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/app/test-pmd/cmdline_flow.c b/app/test-pmd/cmdline_flow.c
index 0618611..64c0e0f 100644
--- a/app/test-pmd/cmdline_flow.c
+++ b/app/test-pmd/cmdline_flow.c
@@ -7885,7 +7885,7 @@ static int comp_set_modify_field_id(struct context *, const struct token *,
 			rss = action->conf;
 			rte_memcpy(&sample_rss_data[idx].conf,
 				   (const void *)rss, size);
-			if (rss->key_len) {
+			if (rss->key_len && rss->key) {
 				sample_rss_data[idx].conf.key =
 						sample_rss_data[idx].key;
 				rte_memcpy((void *)((uintptr_t)
@@ -7893,7 +7893,7 @@ static int comp_set_modify_field_id(struct context *, const struct token *,
 					   (const void *)rss->key,
 					   sizeof(uint8_t) * rss->key_len);
 			}
-			if (rss->queue_num) {
+			if (rss->queue_num && rss->queue) {
 				sample_rss_data[idx].conf.queue =
 						sample_rss_data[idx].queue;
 				rte_memcpy((void *)((uintptr_t)
-- 
1.8.3.1
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help