IB/mlx5: Fix steering resource leak
authorMaor Gottlieb <maorg@mellanox.com>
Sun, 28 Aug 2016 11:16:30 +0000 (14:16 +0300)
committerDoug Ledford <dledford@redhat.com>
Fri, 7 Oct 2016 20:54:14 +0000 (16:54 -0400)
Fix multicast flow rule leak on adding unicast rule failure.

Fixes: 038d2ef87572 ('IB/mlx5: Add flow steering support')
Signed-off-by: Maor Gottlieb <maorg@mellanox.com>
Signed-off-by: Leon Romanovsky <leon@kernel.org>
Signed-off-by: Doug Ledford <dledford@redhat.com>
drivers/infiniband/hw/mlx5/main.c

index 840fbd0..87988fb 100644 (file)
@@ -1861,6 +1861,7 @@ static struct mlx5_ib_flow_handler *create_leftovers_rule(struct mlx5_ib_dev *de
                                                 &leftovers_specs[LEFTOVERS_UC].flow_attr,
                                                 dst);
                if (IS_ERR(handler_ucast)) {
                                                 &leftovers_specs[LEFTOVERS_UC].flow_attr,
                                                 dst);
                if (IS_ERR(handler_ucast)) {
+                       mlx5_del_flow_rule(handler->rule);
                        kfree(handler);
                        handler = handler_ucast;
                } else {
                        kfree(handler);
                        handler = handler_ucast;
                } else {