In message <[EMAIL PROTECTED]> you write:
> I see no problems though. All input functions assume that they
> are called from bh context. If netfilter would not use them
> doing output, it would make sense to select only cases
> when disabling bh is really required. But it uses, so that
> reinject has to be locked always. Nothing to debug.
I agree with Alexey. This is once off error.
FYI it used to be fine until BR_NETPROTO_LOCK addition. Someone
screwed up adding br_read_lock to nf_reinject in 2.3.49 without adding
unlock. I forwarded James Morris's fix (in the wrong place) without
checking it, which was added in 2.3.50.
My bad,
Rusty.
--- linux-2.4.0-test3-7/net/core/netfilter.c.~1~ Thu Apr 27 12:57:41 2000
+++ linux-2.4.0-test3-7/net/core/netfilter.c Wed Jul 12 07:13:47 2000
@@ -512,7 +512,6 @@
info->indev, info->outdev, &elem,
info->okfn);
}
- br_read_unlock_bh(BR_NETPROTO_LOCK);
switch (verdict) {
case NF_ACCEPT:
@@ -527,6 +526,7 @@
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);
--
Hacking time.
-
To unsubscribe from this list: send the line "unsubscribe linux-net" in
the body of a message to [EMAIL PROTECTED]