Re: [PATCH 3.12 42/88] netfilter: x_tables: do compat validation via translate_table

From: Florian Westphal
Date: Tue Jul 19 2016 - 05:13:24 EST


Florian Westphal <fw@xxxxxxxxx> wrote:
> Michal Kubecek <mkubecek@xxxxxxx> wrote:
> > > - /* And one copy for every other CPU */
> > > - for_each_possible_cpu(i)
> > > - if (newinfo->entries[i] && newinfo->entries[i] != entry1)
> > > - memcpy(newinfo->entries[i], entry1, newinfo->size);
> >
> > These four lines should be preserved, IMHO, as 3.12 doesn't have commit
> > 482cfc318559 ("netfilter: xtables: avoid percpu ruleset duplication")
> > (introduced in 4.2) which removed the need for per-cpu copies.
> >
> > The same applies to the other two instances of translate_compat_table()
> > in net/ipv4/netfilter/ip_tables.c and net/ipv6/netfilter/ip6_tables.c
> >
> > Florian, do you agree?
>
> Sorry, I have to look at this in more detail.
> The patches change the compat translation version into a preprocessing
> step rather than a 1:1 replacement of translate_table.
>
> From first glance the removal is thus ok.

Removal is correct, the expanded ruleset is passed to
translate_table() which will do the percpu duplication as last step.

[ I looked at 3.14.y tree which also dropped these lines in the backport ]