netfilter: helper: add build-time asserts for helper data size
add a 32 byte scratch area in the helper struct instead of relying on variable sized helpers plus compile-time asserts to let us know if 32 bytes aren't enough anymore. Not having variable sized helpers will later allow to add BUILD_BUG_ON for the total size of conntrack extensions -- the helper extension is the only one that doesn't have a fixed size. The (useless!) NF_CT_HELPER_BUILD_BUG_ON(0); are added so that in case someone adds a new helper and copy-pastes from one that doesn't store private data at least some indication that this macro should be used somehow is there... Signed-off-by: Florian Westphal <fw@strlen.de> Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
This commit is contained in:

committed by
Pablo Neira Ayuso

parent
906535b046
commit
dcf67740f2
@@ -66,9 +66,12 @@ struct nf_conn_help {
|
||||
u8 expecting[NF_CT_MAX_EXPECT_CLASSES];
|
||||
|
||||
/* private helper information. */
|
||||
char data[];
|
||||
char data[32] __aligned(8);
|
||||
};
|
||||
|
||||
#define NF_CT_HELPER_BUILD_BUG_ON(structsize) \
|
||||
BUILD_BUG_ON((structsize) > FIELD_SIZEOF(struct nf_conn_help, data))
|
||||
|
||||
struct nf_conntrack_helper *__nf_conntrack_helper_find(const char *name,
|
||||
u16 l3num, u8 protonum);
|
||||
|
||||
|
Reference in New Issue
Block a user