net/mlx5: fix empty flow error structure
authorBing Zhao <bingz@mellanox.com>
Fri, 17 Apr 2020 07:30:44 +0000 (15:30 +0800)
committerFerruh Yigit <ferruh.yigit@intel.com>
Tue, 5 May 2020 13:54:26 +0000 (15:54 +0200)
commitf21a98196a914912a0686b91b134672548badc4f
tree81a305b701b7e8f97e3b90c344105e1e35b073df
parent351b54f5cfdd61421af76637b61ff0947c3cda78
net/mlx5: fix empty flow error structure

The output flow error parameter is used to indicate the detailed
reason of the failure when calling a rte_flow_* interface. Even
though sometimes the application will not check it or use it, the PMD
must fill it in the failure branch before returning. Or else, some
dirty value in the stack, heap will be accessed as a pointer and then
cause a crash.
In this case, when a port is stopped, it is not allowed to insert a
flow from application. The detailed error information should be
filled. If the application needs to check the detailed error reason,
it will get the information but not result in any crash.

Fixes: 40b9e7f65fe1 ("net/mlx5: check device status before creating flow")

Signed-off-by: Bing Zhao <bingz@mellanox.com>
Acked-by: Ori Kam <orika@mellanox.com>
drivers/net/mlx5/mlx5_flow.c