net/mlx4: fix drop flow resources leak
authorAdrien Mazarguil <adrien.mazarguil@6wind.com>
Wed, 31 Jan 2018 15:33:06 +0000 (16:33 +0100)
committerFerruh Yigit <ferruh.yigit@intel.com>
Mon, 5 Feb 2018 12:42:53 +0000 (13:42 +0100)
commitff20ecbf2af7d7fe430526c055e980321a9fa7d9
tree34d8131351b0bf499f70ecdeb02fa5e1e6b29347
parente0e45bdc1e813dd4570434786b6aa660be69649f
net/mlx4: fix drop flow resources leak

Resources allocated for drop flow rules are not freed properly. This causes
a memory leak and triggers an assertion failure on a reference counter when
compiled in debug mode.

This issue can be reproduced with testpmd by entering the following
commands:

 flow create 0 ingress pattern eth / end actions drop / end
 port start all
 port stop all
 port start all
 port stop all
 quit

The reason is additional references are taken when re-enabling existing
flow rules, a common occurrence when rehashing configuration.

Fixes: d3a7e09234e4 ("net/mlx4: allocate drop flow resources on demand")
Cc: stable@dpdk.org
Reported-by: Moti Haimovsky <motih@mellanox.com>
Signed-off-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
drivers/net/mlx4/mlx4_flow.c