net/mlx5: fix verification of mark action
authorNélio Laranjeiro <nelio.laranjeiro@6wind.com>
Tue, 31 Jan 2017 16:02:47 +0000 (17:02 +0100)
committerFerruh Yigit <ferruh.yigit@intel.com>
Fri, 10 Feb 2017 11:25:48 +0000 (12:25 +0100)
A configuration structure for the MARK action must always be specified.

Fixes: ea3bc3b1df94 ("net/mlx5: support mark flow action")

Signed-off-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com>
Acked-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
drivers/net/mlx5/mlx5_flow.c

index 4917f79..34ac5d3 100644 (file)
@@ -457,7 +457,13 @@ priv_flow_validate(struct priv *priv,
                                (const struct rte_flow_action_mark *)
                                actions->conf;
 
-                       if (mark && (mark->id >= MLX5_FLOW_MARK_MAX)) {
+                       if (!mark) {
+                               rte_flow_error_set(error, EINVAL,
+                                                  RTE_FLOW_ERROR_TYPE_ACTION,
+                                                  actions,
+                                                  "mark must be defined");
+                               return -rte_errno;
+                       } else if (mark->id >= MLX5_FLOW_MARK_MAX) {
                                rte_flow_error_set(error, ENOTSUP,
                                                   RTE_FLOW_ERROR_TYPE_ACTION,
                                                   actions,