Re: [PATCH] netfilter: Force fake conntrack entry to be at least 8 bytes aligned

From: Florian Westphal
Date: Sat Mar 11 2017 - 04:14:50 EST


Steven Rostedt (VMware) <rostedt@xxxxxxxxxxx> wrote:
> Since the nfct and nfctinfo have been combined, the nf_conn structure
> must be at least 8 bytes aligned, as the 3 LSB bits are used for the
> nfctinfo. But there's a fake nf_conn structure to denote untracked
> connections, which is created by a PER_CPU construct. This does not
> guarantee that it will be 8 bytes aligned and can break the logic in
> determining the correct nfctinfo.
>
> I triggered this on a 32bit machine with the following error:
[..]

Ugh. Originally I had planned to also submit followup changes
to get rid of the untracked objects but that part got delayed.

> By using DEFINE/DECLARE_PER_CPU_ALIGNED we can enforce at least 8 byte
> alignment as all cache line sizes are at least 8 bytes or more.

Thanks for fixing this!

Acked-by: Florian Westphal <fw@xxxxxxxxx>