netfilter: x_tables: validate all offsets and sizes in a rule
authorFlorian Westphal <fw@strlen.de>
Fri, 1 Apr 2016 12:17:29 +0000 (14:17 +0200)
committerWilly Tarreau <w@1wt.eu>
Sun, 21 Aug 2016 21:22:29 +0000 (23:22 +0200)
commit1b507b9259b31b83303a1787bb88473ebee04402
treed87fb6a60598733e987b96d73ca4703f9bce4726
parent71f72bbf29981206b98845c7ac8b8d1d7d44fa55
netfilter: x_tables: validate all offsets and sizes in a rule

commit 13631bfc604161a9d69cd68991dff8603edd66f9 upstream.

Validate that all matches (if any) add up to the beginning of
the target and that each match covers at least the base structure size.

The compat path should be able to safely re-use the function
as the structures only differ in alignment; added a
BUILD_BUG_ON just in case we have an arch that adds padding as well.

Signed-off-by: Florian Westphal <fw@strlen.de>
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
Signed-off-by: Willy Tarreau <w@1wt.eu>
net/netfilter/x_tables.c