netfilter: nf_tables: don't update chain with unset counters
Fix possible replacement of the per-cpu chain counters by null pointer when updating an existing chain in the commit path. Reported-by: Matteo Croce <technoboy85@gmail.com> Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
This commit is contained in:
parent
a3716e70e1
commit
b88825de85
@ -899,6 +899,9 @@ static struct nft_stats __percpu *nft_stats_alloc(const struct nlattr *attr)
|
|||||||
static void nft_chain_stats_replace(struct nft_base_chain *chain,
|
static void nft_chain_stats_replace(struct nft_base_chain *chain,
|
||||||
struct nft_stats __percpu *newstats)
|
struct nft_stats __percpu *newstats)
|
||||||
{
|
{
|
||||||
|
if (newstats == NULL)
|
||||||
|
return;
|
||||||
|
|
||||||
if (chain->stats) {
|
if (chain->stats) {
|
||||||
struct nft_stats __percpu *oldstats =
|
struct nft_stats __percpu *oldstats =
|
||||||
nft_dereference(chain->stats);
|
nft_dereference(chain->stats);
|
||||||
|
Loading…
Reference in New Issue
Block a user