diff options
author | Ralf Baechle <ralf@linux-mips.org> | 2000-07-15 03:32:22 +0000 |
---|---|---|
committer | Ralf Baechle <ralf@linux-mips.org> | 2000-07-15 03:32:22 +0000 |
commit | f1da2c3860e301527d56a1ef0b56c649ee7c4b1b (patch) | |
tree | 562b5d2e8b9cb62eb983d78ff6bcf9789e08fcf6 /net/core | |
parent | 00f11569ac8ca73cbcdef8822de1583e79aee571 (diff) |
Merge with Linux 2.4.0-test5-pre1. This works again on Origin UP.
The IP22 cache bugs which are plaguing some machines are still unfixed.
Diffstat (limited to 'net/core')
-rw-r--r-- | net/core/netfilter.c | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/net/core/netfilter.c b/net/core/netfilter.c index 7f9b9e82b..c372ab029 100644 --- a/net/core/netfilter.c +++ b/net/core/netfilter.c @@ -261,11 +261,11 @@ void nf_debug_ip_finish_output2(struct sk_buff *skb) if (skb->nf_debug != ((1 << NF_IP_PRE_ROUTING) | (1 << NF_IP_FORWARD) | (1 << NF_IP_POST_ROUTING))) { - /* Fragments will have no owners, but still - may be local */ - if (!(skb->nh.iph->frag_off & htons(IP_MF|IP_OFFSET)) - || skb->nf_debug != ((1 << NF_IP_LOCAL_OUT) - | (1 << NF_IP_POST_ROUTING))){ + /* Fragments, entunnelled packets, TCP RSTs + generated by ipt_REJECT will have no + owners, but still may be local */ + if (skb->nf_debug != ((1 << NF_IP_LOCAL_OUT) + | (1 << NF_IP_POST_ROUTING))){ printk("ip_finish_output:" " bad unowned skb = %p: ",skb); debug_print_hooks_ip(skb->nf_debug); @@ -512,7 +512,6 @@ void nf_reinject(struct sk_buff *skb, struct nf_info *info, info->indev, info->outdev, &elem, info->okfn); } - br_read_unlock_bh(BR_NETPROTO_LOCK); switch (verdict) { case NF_ACCEPT: @@ -527,6 +526,7 @@ void nf_reinject(struct sk_buff *skb, struct nf_info *info, kfree_skb(skb); break; } + br_read_unlock_bh(BR_NETPROTO_LOCK); /* Release those devices we held, or Alexey will kill me. */ if (info->indev) dev_put(info->indev); |