On Wed, 6 Feb 2002, Kunihiko IMAI wrote:
> Today I compiled kernel with __wake_up_common not inline function, and
> got same result. And also made kgdb version. I found that the line
> p = curr->task;
> made the memory violation.
If you're using binutils 2.9.5, upgrade to a newer version or use the
workaround I've posted about one month ago to this list
(Subject: binutils workaround), this should fix your bug.
Actually list_for_each fails to detect the end of the q->task_list as it
is not properly initialized by binutils. This happens when kswapd wakes
up, it calls wake_up on the kwapd_wait wait queue which is a global
variable initialized at compile time (mm/vmscan.c).
Ralf, could you forbid compiling with this version of binutils, as I've
already answered 3 times to the same bug :)
gcc < 2.91 seem to be alread forbidden in init.c ...