netfilter: nft_cmp: optimize comparison for 16-bytes
authorPablo Neira Ayuso <pablo@netfilter.org>
Mon, 7 Feb 2022 18:25:08 +0000 (19:25 +0100)
committerPablo Neira Ayuso <pablo@netfilter.org>
Wed, 9 Feb 2022 11:00:28 +0000 (12:00 +0100)
commit23f68d462984bfda47c7bf663dca347e8e3df549
tree188f5db3e4964a00c8454c699f434923dd987e45
parent7afa38831aee2ca2f41b22747ed8545e1887aaa9
netfilter: nft_cmp: optimize comparison for 16-bytes

Allow up to 16-byte comparisons with a new cmp fast version. Use two
64-bit words and calculate the mask representing the bits to be
compared. Make sure the comparison is 64-bit aligned and avoid
out-of-bound memory access on registers.

Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
include/net/netfilter/nf_tables_core.h
net/netfilter/nf_tables_core.c
net/netfilter/nft_cmp.c