flow null driver ops may get selected and try to call .list_create causing a seg fault.
Full details and back traces in bugzilla. Add a null ops implementation for .list_create. Bugzilla ID: 1661 Fixes: e38776c36c8a ("net/mlx5: introduce HWS for non-template flow API") Cc: sta...@dpdk.org Signed-off-by: Kevin Traynor <ktray...@redhat.com> --- drivers/net/mlx5/mlx5_flow.c | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/drivers/net/mlx5/mlx5_flow.c b/drivers/net/mlx5/mlx5_flow.c index a2ee237841..3fbe89a9d4 100644 --- a/drivers/net/mlx5/mlx5_flow.c +++ b/drivers/net/mlx5/mlx5_flow.c @@ -4032,4 +4032,18 @@ mlx5_flow_validate_item_nsh(struct rte_eth_dev *dev, } +static uintptr_t +flow_null_list_create(struct rte_eth_dev *dev __rte_unused, + enum mlx5_flow_type type __rte_unused, + const struct rte_flow_attr *attr __rte_unused, + const struct rte_flow_item items[] __rte_unused, + const struct rte_flow_action actions[] __rte_unused, + bool external __rte_unused, + struct rte_flow_error *error) +{ + rte_flow_error_set(error, ENOTSUP, + RTE_FLOW_ERROR_TYPE_UNSPECIFIED, NULL, NULL); + return 0; +} + static int flow_null_validate(struct rte_eth_dev *dev __rte_unused, @@ -4151,4 +4165,5 @@ flow_null_counter_query(struct rte_eth_dev *dev, /* Void driver to protect from null pointer reference. */ const struct mlx5_flow_driver_ops mlx5_flow_null_drv_ops = { + .list_create = flow_null_list_create, .validate = flow_null_validate, .prepare = flow_null_prepare, -- 2.48.1