Subject: Re: [PATCH] netfilter: nf_conntrack: reserve two bytes for nf_ct_ext->len

From: Florian Westphal <[email-masked]>
Date: Thu, 27 Mar 2014 16:50:33 +0100

Andrey Vagin <[email-masked]> wrote:
> "len" contains sizeof(nf_ct_ext) and size of extensions. In a worst
> case it can contain all extensions. Bellow you can find sizes for all
> types of extensions. Their sum is definitely bigger than 256.
> 
> nf_ct_ext_types[0]->len = 24
> nf_ct_ext_types[1]->len = 32
> nf_ct_ext_types[2]->len = 24
> nf_ct_ext_types[3]->len = 32
> nf_ct_ext_types[4]->len = 152

Guess its  the timer in the ecache extension (with LOCKDEP on probably).

I'll submit a patch to get rid of that shortly.

I think your patch is fine because the 'no timer
in ecache extension' change is quite large, needs review/stress testing
etc and is inapropriate for stable tree anyway.

> I have seen "len" up to 280 and my host has crashes w/o this patch.

ecache is 24 bytes without that timer, should be < 256 in total for
all extensions.

I think BUILD_BUG_ON test would be nice.