Messages in this thread Patch in this message | | | From | "Adam J. Richter" <> | Date | Thu, 13 May 1999 09:59:10 -0700 | Subject | PATCH: 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/
| |