|
@@ -987,8 +987,7 @@ nfqnl_recv_verdict(struct sock *ctnl, struct sk_buff *skb,
|
|
|
if (entry == NULL)
|
|
|
return -ENOENT;
|
|
|
|
|
|
- rcu_read_lock();
|
|
|
- if (nfqa[NFQA_CT] && (queue->flags & NFQA_CFG_F_CONNTRACK))
|
|
|
+ if (nfqa[NFQA_CT])
|
|
|
ct = nfqnl_ct_parse(entry->skb, nfqa[NFQA_CT], &ctinfo);
|
|
|
|
|
|
if (nfqa[NFQA_PAYLOAD]) {
|
|
@@ -1002,7 +1001,6 @@ nfqnl_recv_verdict(struct sock *ctnl, struct sk_buff *skb,
|
|
|
if (ct)
|
|
|
nfqnl_ct_seq_adjust(skb, ct, ctinfo, diff);
|
|
|
}
|
|
|
- rcu_read_unlock();
|
|
|
|
|
|
if (nfqa[NFQA_MARK])
|
|
|
entry->skb->mark = ntohl(nla_get_be32(nfqa[NFQA_MARK]));
|