]> www.infradead.org Git - users/dwmw2/linux.git/commitdiff
netfilter: nf_tables: add NFTA_SET_USERDATA if not null
authorPablo Neira Ayuso <pablo@netfilter.org>
Thu, 20 Aug 2020 12:12:54 +0000 (14:12 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 9 Sep 2020 17:12:24 +0000 (19:12 +0200)
[ Upstream commit 6f03bf43ee05b31d3822def2a80f11b3591c55b3 ]

Kernel sends an empty NFTA_SET_USERDATA attribute with no value if
userspace adds a set with no NFTA_SET_USERDATA attribute.

Fixes: e6d8ecac9e68 ("netfilter: nf_tables: Add new attributes into nft_set to store user data.")
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
net/netfilter/nf_tables_api.c

index f7129232c82500c7b843b781ae62ad842c01601a..c1920adb27e62772858db3ebef1caa0f3a767a2e 100644 (file)
@@ -3353,7 +3353,8 @@ static int nf_tables_fill_set(struct sk_buff *skb, const struct nft_ctx *ctx,
                        goto nla_put_failure;
        }
 
-       if (nla_put(skb, NFTA_SET_USERDATA, set->udlen, set->udata))
+       if (set->udata &&
+           nla_put(skb, NFTA_SET_USERDATA, set->udlen, set->udata))
                goto nla_put_failure;
 
        desc = nla_nest_start_noflag(skb, NFTA_SET_DESC);