mirror of https://gitee.com/openkylin/linux.git
netfilter: ctnetlink: send event when conntrack label was modified
commit0ceabd8387
(netfilter: ctnetlink: deliver labels to userspace) sets the event bit when we raced with another packet, instead of raising the event bit when the label bit is set for the first time. commit9b21f6a909
(netfilter: ctnetlink: allow userspace to modify labels) forgot to update the event mask in the "conntrack already exists" case. Both issues result in CTA_LABELS attribute not getting included in the conntrack event. Signed-off-by: Florian Westphal <fw@strlen.de> Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
This commit is contained in:
parent
5aed93875c
commit
797a7d66d2
|
@ -45,7 +45,7 @@ int nf_connlabel_set(struct nf_conn *ct, u16 bit)
|
|||
if (test_bit(bit, labels->bits))
|
||||
return 0;
|
||||
|
||||
if (test_and_set_bit(bit, labels->bits))
|
||||
if (!test_and_set_bit(bit, labels->bits))
|
||||
nf_conntrack_event_cache(IPCT_LABEL, ct);
|
||||
|
||||
return 0;
|
||||
|
|
|
@ -1825,6 +1825,7 @@ ctnetlink_new_conntrack(struct sock *ctnl, struct sk_buff *skb,
|
|||
nf_conntrack_eventmask_report((1 << IPCT_REPLY) |
|
||||
(1 << IPCT_ASSURED) |
|
||||
(1 << IPCT_HELPER) |
|
||||
(1 << IPCT_LABEL) |
|
||||
(1 << IPCT_PROTOINFO) |
|
||||
(1 << IPCT_NATSEQADJ) |
|
||||
(1 << IPCT_MARK),
|
||||
|
|
Loading…
Reference in New Issue