]> 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)
commit15eecb08f40a5449a2a12fb67fdd18b9e49f637b
tree0ce824f5991bbcb5d74c5a8e220395c457f3318c
parent010bf0f1ff6ce776482567062a7ce36729f3e47c
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: 00372a8c3bb6 ("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