Re: BUG: 2.6.2-mm1: destroy_workqueue

From: Andrew Morton
Date: Sat Feb 07 2004 - 11:31:51 EST


Matthias Urlichs <smurf@xxxxxxxxxxxxxx> wrote:
>
> I had a crash when unmounting a reiserfs at shutdown time.
>
> Apparently, destroy_workqueue() inlines list_del(), which checks for
>
> 148 BUG_ON(entry->prev->next != entry);
>
> This is a problem when entry->prev is NULL. :-/
>
> Call trace, copied off the screen by hand:
> destroy_workqueue+0x30
> do_journal_release+0x4e
> journal_mark_dirty+0x18c
> journal_release+0x10
> reiserfs_put_super+0x24
>

yup, thanks.

--- 25/kernel/workqueue.c~cpuhotplug-03-core-workqueue-fix Fri Feb 6 14:36:04 2004
+++ 25-akpm/kernel/workqueue.c Fri Feb 6 14:36:41 2004
@@ -335,7 +335,7 @@ void destroy_workqueue(struct workqueue_
if (cpu_online(cpu))
cleanup_workqueue_thread(wq, cpu);
}
- list_del(&wq->list);
+ del_workqueue(wq);
unlock_cpu_hotplug();
kfree(wq);
}

_

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/