netfilter: nft_set_pipapo: don't return bogus extension pointer
[ Upstream commitc8a7c2c608
] Dan Carpenter says: Commit17a20e09f0
("netfilter: nft_set: remove one argument from lookup and update functions") [..] leads to the following Smatch static checker warning: net/netfilter/nft_set_pipapo_avx2.c:1269 nft_pipapo_avx2_lookup() error: uninitialized symbol 'ext'. Fix this by initing ext to NULL and set it only once we've found a match. Fixes:17a20e09f0
("netfilter: nft_set: remove one argument from lookup and update functions") Reported-by: Dan Carpenter <dan.carpenter@linaro.org> Closes: https://lore.kernel.org/netfilter-devel/aJBzc3V5wk-yPOnH@stanley.mountain/ Signed-off-by: Florian Westphal <fw@strlen.de> Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org> Stable-dep-of:c4eaca2e10
("netfilter: nft_set_pipapo: don't check genbit from packetpath lookups") Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
parent
3a2d45819a
commit
42a02ba5be
|
@ -1151,12 +1151,12 @@ nft_pipapo_avx2_lookup(const struct net *net, const struct nft_set *set,
|
|||
const u32 *key)
|
||||
{
|
||||
struct nft_pipapo *priv = nft_set_priv(set);
|
||||
const struct nft_set_ext *ext = NULL;
|
||||
struct nft_pipapo_scratch *scratch;
|
||||
u8 genmask = nft_genmask_cur(net);
|
||||
const struct nft_pipapo_match *m;
|
||||
const struct nft_pipapo_field *f;
|
||||
const u8 *rp = (const u8 *)key;
|
||||
const struct nft_set_ext *ext;
|
||||
unsigned long *res, *fill;
|
||||
bool map_index;
|
||||
int i;
|
||||
|
@ -1247,13 +1247,13 @@ next_match:
|
|||
goto out;
|
||||
|
||||
if (last) {
|
||||
ext = &f->mt[ret].e->ext;
|
||||
if (unlikely(nft_set_elem_expired(ext) ||
|
||||
!nft_set_elem_active(ext, genmask))) {
|
||||
ext = NULL;
|
||||
goto next_match;
|
||||
}
|
||||
const struct nft_set_ext *e = &f->mt[ret].e->ext;
|
||||
|
||||
if (unlikely(nft_set_elem_expired(e) ||
|
||||
!nft_set_elem_active(e, genmask)))
|
||||
goto next_match;
|
||||
|
||||
ext = e;
|
||||
goto out;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue