Re: Expect defunct, kill -9 panics kernel?
"John David Anglin" <[email protected]>
| Newsgroups | gmane.linux.ports.hppa |
|---|---|
| Message-ID | <[email protected]> |
> On 2/10/07, James Bottomley <[email protected]> wrote: > > On Sat, 2007-02-10 at 14:37 -0500, John David Anglin wrote: > > > > 0x10 looks to be curr->func implying curr is NULL and thus the queue > > > > task_list is corrupt. > > > > > > Do you think it help to add a check in __wake_up for a NULL pointer? > > > > I suppose so ... I'd really like someone to validate my guess though, > > although an additional BUG_ON() can't hurt. > > How do I validate your guess? Look for a null or bogus curr->func when > scheduling? I'm trying the change below. Hasn't triggered yet. Dave -- J. David Anglin [email protected] National Research Council of Canada (613) 990-0752 (FAX: 952-6602) diff --git a/kernel/sched.c b/kernel/sched.c index cca93cc..277e426 100644 --- a/kernel/sched.c +++ b/kernel/sched.c @@ -3703,6 +3703,7 @@ void fastcall __wake_up(wait_queue_head_t *q, unsigned int mode, { unsigned long flags; + BUG_ON(!q); spin_lock_irqsave(&q->lock, flags); __wake_up_common(q, mode, nr_exclusive, 0, key); spin_unlock_irqrestore(&q->lock, flags);