Explorar o código

netfilter: Fix potential crash in nft_hash walker

When we get back an EAGAIN from rhashtable_walk_next we were
treating it as a valid object which obviously doesn't work too
well.

Luckily this is hard to trigger so it seems nobody has run into
it yet.

This patch fixes it by redoing the next call when we get an EAGAIN.

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
Herbert Xu %!s(int64=10) %!d(string=hai) anos
pai
achega
d8bdff59ce
Modificáronse 1 ficheiros con 2 adicións e 0 borrados
  1. 2 0
      net/netfilter/nft_hash.c

+ 2 - 0
net/netfilter/nft_hash.c

@@ -153,6 +153,8 @@ static void nft_hash_walk(const struct nft_ctx *ctx, const struct nft_set *set,
 				iter->err = err;
 				goto out;
 			}
+
+			continue;
 		}
 
 		if (iter->count < iter->skip)