netfilter: nf_tables: do not update stateful expressions if lookup is inverted
authorPablo Neira Ayuso <pablo@netfilter.org>
Tue, 31 Mar 2020 21:02:59 +0000 (23:02 +0200)
committerPablo Neira Ayuso <pablo@netfilter.org>
Sun, 5 Apr 2020 21:26:36 +0000 (23:26 +0200)
commita26c1e49c8e97922edc8d7e23683384729d09f77
treea574149daa02cf52bf554569ea40f2cada4caa7a
parent72239f2795fab9a58633bd0399698ff7581534a3
netfilter: nf_tables: do not update stateful expressions if lookup is inverted

Initialize set lookup matching element to NULL. Otherwise, the
NFT_LOOKUP_F_INV flag reverses the matching logic and it leads to
deference an uninitialized pointer to the matching element. Make sure
element data area and stateful expression are accessed if there is a
matching set element.

This patch undoes 24791b9aa1ab ("netfilter: nft_set_bitmap: initialize set
element extension in lookups") which is not required anymore.

Fixes: 339706bc21c1 ("netfilter: nft_lookup: update element stateful expression")
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
include/net/netfilter/nf_tables.h
net/netfilter/nft_lookup.c
net/netfilter/nft_set_bitmap.c