]> git.baikalelectronics.ru Git - kernel.git/commit
netfilter: nft_payload: fix missing check for matching length in offloads
authorwenxu <wenxu@ucloud.cn>
Thu, 24 Oct 2019 07:52:45 +0000 (15:52 +0800)
committerPablo Neira Ayuso <pablo@netfilter.org>
Thu, 24 Oct 2019 10:27:29 +0000 (12:27 +0200)
commitd52ccfb5c0aea81f27d48c17cff921ec7fc37036
tree0ce824f5991bbcb5d74c5a8e220395c457f3318c
parentd151a4d8175b72f774c27d885c8ba9f2d712b8ba
netfilter: nft_payload: fix missing check for matching length in offloads

Payload offload rule should also check the length of the match.
Moreover, check for unsupported link-layer fields:

 nft --debug=netlink add rule firewall zones vlan id 100
 ...
 [ payload load 2b @ link header + 0 => reg 1 ]

this loads 2byte base on ll header and offset 0.

This also fixes unsupported raw payload match.

Fixes: eca7bd4a0413 ("netfilter: nf_tables: add hardware offload support")
Signed-off-by: wenxu <wenxu@ucloud.cn>
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
net/netfilter/nft_payload.c