diff --git a/net/netfilter/nf_tables_api.c b/net/netfilter/nf_tables_api.c index be4924aeaf0e..00af242b1e62 100644 --- a/net/netfilter/nf_tables_api.c +++ b/net/netfilter/nf_tables_api.c @@ -6628,6 +6628,7 @@ static int nf_tables_getsetelem(struct sk_buff *skb, if (err) return err; + rcu_read_lock(); nla_for_each_nested(attr, nla[NFTA_SET_ELEM_LIST_ELEMENTS], rem) { err = nft_get_set_elem(&dump_ctx.ctx, dump_ctx.set, attr, false); if (err < 0) { @@ -6635,6 +6636,7 @@ static int nf_tables_getsetelem(struct sk_buff *skb, break; } } + rcu_read_unlock(); return err; }