Re: [BUG] 2.5.65: Caching MSR_IA32_SYSENTER_CS kills dosemu

Linus Torvalds (torvalds@transmeta.com)
Mon, 31 Mar 2003 11:27:13 -0800 (PST)


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/