netfilter: x_tables: add and use xt_check_entry_offsets
authorFlorian Westphal <fw@strlen.de>
Fri, 1 Apr 2016 12:17:23 +0000 (14:17 +0200)
committerWilly Tarreau <w@1wt.eu>
Sun, 21 Aug 2016 21:22:28 +0000 (23:22 +0200)
commitff9be2063c1c029e9ee4951882fb64387fa21ede
tree7c9b7ea6c03ad8014e2293de176e431aa8746e7e
parent82e2616ad251a3f72991036d6e8acebbd0aceb80
netfilter: x_tables: add and use xt_check_entry_offsets

commit 7d35812c3214afa5b37a675113555259cfd67b98 upstream.

Currently arp/ip and ip6tables each implement a short helper to check that
the target offset is large enough to hold one xt_entry_target struct and
that t->u.target_size fits within the current rule.

Unfortunately these checks are not sufficient.

To avoid adding new tests to all of ip/ip6/arptables move the current
checks into a helper, then extend this helper in followup patches.

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>
include/linux/netfilter/x_tables.h
net/ipv4/netfilter/arp_tables.c
net/ipv4/netfilter/ip_tables.c
net/ipv6/netfilter/ip6_tables.c
net/netfilter/x_tables.c