[dpdk-dev] [PATCH v1] net/mlx4: fix RSS actions with no parameters

Ophir Munk ophirmu at mellanox.com
Wed Feb 21 14:38:38 CET 2018


When creating an RSS flow with missing actions parameters, for example:
flow create 0 ingress pattern <list of patterns>  / end actions rss / end

testpmd aborts with segmentation fault.
In the corrupted code mlx4_flow_prepare() accesses RSS action->conf pointer
without verifying its validity.
In case of missing RSS actions parameters this pointer is NULL and must not
 be accessed.
The fix is to return an error in such cases "missing rss actions".

Fixes: 078b8b452e6b ("net/mlx4: add RSS flow rule action support")
Cc: stable at dpdk.org

Signed-off-by: Ophir Munk <ophirmu at mellanox.com>
---
 drivers/net/mlx4/mlx4_flow.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/drivers/net/mlx4/mlx4_flow.c b/drivers/net/mlx4/mlx4_flow.c
index 2d55bfe..7a127a8 100644
--- a/drivers/net/mlx4/mlx4_flow.c
+++ b/drivers/net/mlx4/mlx4_flow.c
@@ -735,6 +735,10 @@ mlx4_flow_prepare(struct priv *priv,
 			if (flow->rss)
 				break;
 			rss = action->conf;
+			if (!rss) {
+				msg = "missing rss actions";
+				goto exit_action_not_supported;
+			}
 			/* Default RSS configuration if none is provided. */
 			rss_conf =
 				rss->rss_conf ?
-- 
2.7.4



More information about the dev mailing list