lkml.org 
[lkml]   [1999]   [May]   [14]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
From
Date
SubjectPATCH: 2.2.8 romfs ramdisk crashes kernel
>> = Adam Richter <adam@yggdrasil.com>
> = Ionut Badulescu <ionut@solaria.dnttm.ro>

>> Under 2.2.8 with various Yggdrasil changes, the kernel
>> crashes while uncompressing its initial ~2MB romfs ramdisk. [...]

>It's a race condition -- the ramdisk code tries to wake up bdflush
>before the latter gets a chance to initialize itself. See the
>thread "OOPS ... (bdflush related)". Linus' suggestion was to check
>for bdflush_tsk == NULL in wakeup_bdflush and simply return if true.

>I haven't tested it yet.

You are apparently correct! The following patch fixed the
problem. I am posting this message from my machine, running 2.2.8.
Thanks for your help. (Also, thanks to Janos Farkas for exploring
some other possibilities related to this problem.)

Adam J. Richter __ ______________ 4880 Stevens Creek Blvd, Suite 104
adam@yggdrasil.com \ / San Jose, California 95129-1034
+1 408 261-6630 | g g d r a s i l United States of America
fax +1 408 261-6631 "Free Software For The Rest Of Us."


--- /tmp/linux-2.2.8/fs/buffer.c Tue May 11 09:55:49 1999
+++ linux/fs/buffer.c Thu May 13 08:21:18 1999
@@ -1559,7 +1559,7 @@

void wakeup_bdflush(int wait)
{
- if (current == bdflush_tsk)
+ if (current == bdflush_tsk || bdflush_tsk == NULL)
return;
wake_up_process(bdflush_tsk);
if (wait) {
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2005-03-22 13:51    [W:0.052 / U:0.024 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site