Re: [OOPS] repeatable 2.4.8-ac7, 2.4.7-ac6 just run xdos

From: Andi Kleen (ak@suse.de)
Date: Thu Aug 23 2001 - 08:34:19 EST


On Wed, Aug 22, 2001 at 03:52:26PM -0400, Paul wrote:
> Andi Kleen <ak@suse.de>, on Wed Aug 22, 2001 [03:22:03 PM] said:
> >
> > Here is a new patch with both checks.
> >
>
> Dear Andi;
>
> Well, with this patch, the kernel doesnt oops, but vm86
> seems to be busted now. save_v86_state() pops out:
> 'vm86: could not access userspace vm86_info'
> and gives dosemu a segv.

I found the problem in the previous patch. Here is an updated one.
Please test again. Again against -ac7 (or later if Alan hasn't applied
the earlier patch)

-Andi

--- include/asm-i386/hw_irq.h-SEG2 Mon Aug 20 02:54:53 2001
+++ include/asm-i386/hw_irq.h Wed Aug 22 13:02:16 2001
@@ -114,8 +114,10 @@
         "cmpl %eax,7*4(%esp)\n\t" \
         "je 1f\n\t" \
         "movl %eax,%ds\n\t" \
+ "1: cmpl %eax,8*4(%esp)\n\t" \
+ "je 2f\n\t" \
         "movl %eax,%es\n\t" \
- "1:\n\t"
+ "2:\n\t"
 
 #define IRQ_NAME2(nr) nr##_interrupt(void)
 #define IRQ_NAME(nr) IRQ_NAME2(IRQ##nr)
--- arch/i386/kernel/entry.S-SEG2 Sat Aug 18 08:41:53 2001
+++ arch/i386/kernel/entry.S Thu Aug 23 15:20:21 2001
@@ -291,9 +291,11 @@
         movl $(__KERNEL_DS),%edx
         cmpl %edx,%ecx
         jz 1f
- movl %edx,%ds
         movl %edx,%es
-1: GET_CURRENT(%ebx)
+1: cmpl %edx,9*4(%esp) # check ds on the stack
+ jz 2f
+ movl %edx,%ds
+2: GET_CURRENT(%ebx)
         call *%edi
         addl $8,%esp
         jmp ret_from_exception
-
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 : Thu Aug 23 2001 - 21:00:57 EST