Re: Detailed report on SMB-build lockups [seems that it is locking problem in networking code] (2.4.0-test2-ac2 and later)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



In message <200007111440.SAA16159@ms2.inr.ac.ru> 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.
-
: send the line "unsubscribe linux-net" in
the body of a message to majordomo@vger.rutgers.edu


[Index of Archives]     [Netdev]     [Ethernet Bridging]     [Linux 802.1Q VLAN]     [Linux Wireless]     [Kernel Newbies]     [Security]     [Linux for Hams]     [Netfilter]     [Git]     [Bugtraq]     [Yosemite News and Information]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux PCI]     [Linux Admin]     [Samba]

  Powered by Linux