From mboxrd@z Thu Jan 1 00:00:00 1970 From: Stas Sergeev Subject: Re: infinite loop on startup Date: Sun, 09 May 2004 13:35:02 +0400 Sender: linux-msdos-owner@vger.kernel.org Message-ID: <409DFB46.5000106@aknet.ru> References: <200405090408.i4948ngZ004951@bassett.home.org> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="------------070607030501070907080907" Return-path: In-Reply-To: <200405090408.i4948ngZ004951@bassett.home.org> List-Id: To: "James B. Hiller" Cc: linux-msdos@vger.kernel.org --------------070607030501070907080907 Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit Hello. James B. Hiller wrote: > Please let me know if this looks like your issue, and if you need > anything else. Yes, from the log it looks exactly the same problem I have observed. And here is the fix: http://www.uwsg.indiana.edu/hypermail/linux/kernel/0405.0/1242.html It is SMP-unsafe though, so in case you have an SMP box with preemption enabled, you'd better wait till the next kernel -pre release: http://www.uwsg.indiana.edu/hypermail/linux/kernel/0405.0/1265.html Or you can use the attached patch instead, which does exactly what Linus said. But I haven't tested that one due to a lack of an SMP box handy. The problem is that noone yet have audithed the 2.6 kernel for dosemu-compatibility the way it was done with 2.4. So using 2.6 with dosemu is not recommended yet, but I already started that work. --------------070607030501070907080907 Content-Type: text/plain; name="tss_iobtm1.diff" Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="tss_iobtm1.diff" --- linux/arch/i386/kernel/process.c 2004-04-14 09:41:14.000000000 +0400 +++ linux/arch/i386/kernel/process.c 2004-05-07 14:54:13.000000000 +0400 @@ -292,8 +292,12 @@ /* The process may have allocated an io port bitmap... nuke it. */ if (unlikely(NULL != tsk->thread.io_bitmap_ptr)) { + int cpu = get_cpu(); + struct tss_struct *tss = init_tss + cpu; kfree(tsk->thread.io_bitmap_ptr); tsk->thread.io_bitmap_ptr = NULL; + tss->io_bitmap_base = INVALID_IO_BITMAP_OFFSET; + put_cpu(); } } --------------070607030501070907080907 Content-Type: text/plain Scanned by evaluation version of Dr.Web antivirus Daemon http://drweb.ru/unix/ --------------070607030501070907080907--