netfilter: flowtable: Free block_cb when being deleted
authorRoi Dayan <roid@mellanox.com>
Sun, 12 Apr 2020 08:45:47 +0000 (11:45 +0300)
committerPablo Neira Ayuso <pablo@netfilter.org>
Tue, 14 Apr 2020 22:55:33 +0000 (00:55 +0200)
Free block_cb memory when asked to be deleted.

Fixes: 978703f42549 ("netfilter: flowtable: Add API for registering to flow table events")
Signed-off-by: Roi Dayan <roid@mellanox.com>
Reviewed-by: Paul Blakey <paulb@mellanox.com>
Reviewed-by: Oz Shlomo <ozsh@mellanox.com>
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
net/netfilter/nf_flow_table_core.c

index c0cb794..4344e57 100644 (file)
@@ -421,10 +421,12 @@ void nf_flow_table_offload_del_cb(struct nf_flowtable *flow_table,
 
        down_write(&flow_table->flow_block_lock);
        block_cb = flow_block_cb_lookup(block, cb, cb_priv);
-       if (block_cb)
+       if (block_cb) {
                list_del(&block_cb->list);
-       else
+               flow_block_cb_free(block_cb);
+       } else {
                WARN_ON(true);
+       }
        up_write(&flow_table->flow_block_lock);
 }
 EXPORT_SYMBOL_GPL(nf_flow_table_offload_del_cb);