On Monday 2010-05-31 13:51, Jan Engelhardt wrote: >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. Acked-By: Jan Engelhardt <jengelh@xxxxxxxxxx> > >>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) { >-- >To unsubscribe from this list: send the line "unsubscribe netfilter" in >the body of a message to majordomo@xxxxxxxxxxxxxxx >More majordomo info at http://vger.kernel.org/majordomo-info.html > -- To unsubscribe from this list: send the line "unsubscribe netfilter" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html