Re: [BUG] 2.5.65: Caching MSR_IA32_SYSENTER_CS kills dosemu

From: Linus Torvalds (torvalds@transmeta.com)
Date: Mon Mar 31 2003 - 14:27:13 EST


On Mon, 31 Mar 2003, Wayne Whitney wrote:
>
> I run dosemu 1.0.2.1 on the 2.5.x kernels. Upgrading from 2.5.64 to
> 2.5.65 (or 2.5.66) causes dosemu to no longer work: it locks up the
> machine shortly after I run it.

There appears to be at least one bug (that is longstanding but might be
made worse by the MSR stuff). However, that one should matter only with
preemption enabled. What's your configuration?

Also, do you actually have a new library that uses SYSENTER (ie recent
redhat beta), and whct kind of CPU do you have?

                Linus

----
===== arch/i386/kernel/vm86.c 1.21 vs edited =====
--- 1.21/arch/i386/kernel/vm86.c	Sun Mar  9 18:49:37 2003
+++ edited/arch/i386/kernel/vm86.c	Mon Mar 31 11:23:50 2003
@@ -289,9 +289,10 @@
 	asm volatile("movl %%fs,%0":"=m" (tsk->thread.saved_fs));
 	asm volatile("movl %%gs,%0":"=m" (tsk->thread.saved_gs));
 
-	tss = init_tss + smp_processor_id();
+	tss = init_tss + get_cpu();
 	tss->esp0 = tsk->thread.esp0 = (unsigned long) &info->VM86_TSS_ESP0;
 	disable_sysenter(tss);
+	put_cpu();
 
 	tsk->thread.screen_bitmap = info->screen_bitmap;
 	if (info->flags & VM86_SCREEN_BITMAP)

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



This archive was generated by hypermail 2b29 : Mon Mar 31 2003 - 22:00:37 EST