|
@@ -138,9 +138,14 @@ __nf_conntrack_helper_find(const char *name, u16 l3num, u8 protonum)
|
|
|
|
|
|
for (i = 0; i < nf_ct_helper_hsize; i++) {
|
|
|
hlist_for_each_entry_rcu(h, &nf_ct_helper_hash[i], hnode) {
|
|
|
- if (!strcmp(h->name, name) &&
|
|
|
- h->tuple.src.l3num == l3num &&
|
|
|
- h->tuple.dst.protonum == protonum)
|
|
|
+ if (strcmp(h->name, name))
|
|
|
+ continue;
|
|
|
+
|
|
|
+ if (h->tuple.src.l3num != NFPROTO_UNSPEC &&
|
|
|
+ h->tuple.src.l3num != l3num)
|
|
|
+ continue;
|
|
|
+
|
|
|
+ if (h->tuple.dst.protonum == protonum)
|
|
|
return h;
|
|
|
}
|
|
|
}
|