* [2.4.1-p10] Multilink PPP crash fix
@ 2001-01-23 9:59 Aaron Tiensivu
0 siblings, 0 replies; only message in thread
From: Aaron Tiensivu @ 2001-01-23 9:59 UTC (permalink / raw)
To: linux-kernel; +Cc: linux-ppp
[-- Attachment #1: Type: text/plain, Size: 460 bytes --]
I took out my can of RAID and went bug hunting.
The kernel was always crashing in this subroutine and the comment near the
list walk clued me in.
I've run this fixed kernel all night and can no longer make it OOPS from a
racy list walk.
It may be overkill to use ppp_lock instead of the finer grained locks but it
works great so far
and I don't believe this routine gets called a lot.
---
Life is like a box of chocolates: Mass produced and usually stale.
[-- Attachment #2: 2.4.1-p10-mppp-fix.patch --]
[-- Type: application/octet-stream, Size: 537 bytes --]
--- linux/drivers/net/ppp_generic.c.virgin Mon Jan 22 02:37:42 2001
+++ linux/drivers/net/ppp_generic.c Tue Jan 23 04:36:48 2001
@@ -1569,11 +1569,12 @@
struct sk_buff_head *list = &ppp->mrq;
u32 seq = skb->sequence;
- /* N.B. we don't need to lock the list lock because we have the
- ppp unit receive-side lock. */
+ ppp_lock(ppp);
for (p = list->next; p != (struct sk_buff *)list; p = p->next)
if (seq_before(seq, p->sequence))
break;
+ ppp_unlock(ppp);
+
__skb_insert(skb, p->prev, p, list);
}
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2001-01-23 10:01 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2001-01-23 9:59 [2.4.1-p10] Multilink PPP crash fix Aaron Tiensivu
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox