Re: [PATCH] netfilter: don't xt_jumpstack_alloc twice in xt_register_table
From: Jan Engelhardt <hidden>
Date: 2010-05-31 11:51:40
Also in:
lkml, netfilter-devel
From: Jan Engelhardt <hidden>
Date: 2010-05-31 11:51:40
Also in:
lkml, netfilter-devel
On Monday 2010-05-31 13:06, Xiaotian Feng wrote:
In xt_register_table, xt_jumpstack_alloc is called first, later xt_replace_table is used. But in xt_replace_table, xt_jumpstack_alloc will be used again. Then the memory allocated by previous xt_jumpstack_alloc will be leaked. We can simply remove the previous xt_jumpstack_alloc because there aren't any users of newinfo between xt_jumpstack_alloc and xt_replace_table.
Indeed that seems to be so.
diff --git a/net/netfilter/x_tables.c b/net/netfilter/x_tables.c index 445de70..47b1e79 100644 --- a/net/netfilter/x_tables.c +++ b/net/netfilter/x_tables.c@@ -844,10 +844,6 @@ struct xt_table *xt_register_table(struct net *net,struct xt_table_info *private; struct xt_table *t, *table; - ret = xt_jumpstack_alloc(newinfo); - if (ret < 0) - return ERR_PTR(ret); - /* Don't add one object to multiple lists. */ table = kmemdup(input_table, sizeof(struct xt_table), GFP_KERNEL); if (!table) {