Commit 1feeae07 authored by Pablo Neira Ayuso's avatar Pablo Neira Ayuso
Browse files

netfilter: ctnetlink: fix compilation warning after data race fixes in ct mark



All warnings (new ones prefixed by >>):

   net/netfilter/nf_conntrack_netlink.c: In function '__ctnetlink_glue_build':
>> net/netfilter/nf_conntrack_netlink.c:2674:13: warning: unused variable 'mark' [-Wunused-variable]
    2674 |         u32 mark;
         |             ^~~~

Fixes: 52d1aa8b ("netfilter: conntrack: Fix data-races around ct mark")
Reported-by: default avatarkernel test robot <lkp@intel.com>
Tested-by: default avatarIvan Babrou <ivan@ivan.computer>
Signed-off-by: default avatarPablo Neira Ayuso <pablo@netfilter.org>
parent 9464d0b6
Loading
Loading
Loading
Loading
+10 −9
Original line number Diff line number Diff line
@@ -328,8 +328,13 @@ ctnetlink_dump_timestamp(struct sk_buff *skb, const struct nf_conn *ct)
}

#ifdef CONFIG_NF_CONNTRACK_MARK
static int ctnetlink_dump_mark(struct sk_buff *skb, u32 mark)
static int ctnetlink_dump_mark(struct sk_buff *skb, const struct nf_conn *ct)
{
	u32 mark = READ_ONCE(ct->mark);

	if (!mark)
		return 0;

	if (nla_put_be32(skb, CTA_MARK, htonl(mark)))
		goto nla_put_failure;
	return 0;
@@ -543,7 +548,7 @@ static int ctnetlink_dump_extinfo(struct sk_buff *skb,
static int ctnetlink_dump_info(struct sk_buff *skb, struct nf_conn *ct)
{
	if (ctnetlink_dump_status(skb, ct) < 0 ||
	    ctnetlink_dump_mark(skb, READ_ONCE(ct->mark)) < 0 ||
	    ctnetlink_dump_mark(skb, ct) < 0 ||
	    ctnetlink_dump_secctx(skb, ct) < 0 ||
	    ctnetlink_dump_id(skb, ct) < 0 ||
	    ctnetlink_dump_use(skb, ct) < 0 ||
@@ -722,7 +727,6 @@ ctnetlink_conntrack_event(unsigned int events, const struct nf_ct_event *item)
	struct sk_buff *skb;
	unsigned int type;
	unsigned int flags = 0, group;
	u32 mark;
	int err;

	if (events & (1 << IPCT_DESTROY)) {
@@ -827,9 +831,8 @@ ctnetlink_conntrack_event(unsigned int events, const struct nf_ct_event *item)
	}

#ifdef CONFIG_NF_CONNTRACK_MARK
	mark = READ_ONCE(ct->mark);
	if ((events & (1 << IPCT_MARK) || mark) &&
	    ctnetlink_dump_mark(skb, mark) < 0)
	if (events & (1 << IPCT_MARK) &&
	    ctnetlink_dump_mark(skb, ct) < 0)
		goto nla_put_failure;
#endif
	nlmsg_end(skb, nlh);
@@ -2671,7 +2674,6 @@ static int __ctnetlink_glue_build(struct sk_buff *skb, struct nf_conn *ct)
{
	const struct nf_conntrack_zone *zone;
	struct nlattr *nest_parms;
	u32 mark;

	zone = nf_ct_zone(ct);

@@ -2733,8 +2735,7 @@ static int __ctnetlink_glue_build(struct sk_buff *skb, struct nf_conn *ct)
		goto nla_put_failure;

#ifdef CONFIG_NF_CONNTRACK_MARK
	mark = READ_ONCE(ct->mark);
	if (mark && ctnetlink_dump_mark(skb, mark) < 0)
	if (ctnetlink_dump_mark(skb, ct) < 0)
		goto nla_put_failure;
#endif
	if (ctnetlink_dump_labels(skb, ct) < 0)