[parisc-linux] Expect defunct, kill -9 panics kernel?
John David Anglin
dave at hiauly1.hia.nrc.ca
Sun Feb 11 10:17:08 MST 2007
> On 2/10/07, James Bottomley <James.Bottomley at steeleye.com> 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 dave.anglin at nrc-cnrc.gc.ca
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);
More information about the parisc-linux
mailing list