Messages in this thread | | | From | Marcus Meissner <> | Subject | Re: [patch] Re: [2.1.117] GPF in APM while using WINE | Date | Thu, 27 Aug 1998 01:12:33 +0200 (MEST) |
| |
> > Except for one thing, saving %fs and %gs should be done _before_ loading > > the new ldt, otherwise %fs and/or %gs can be automagically zeroed in an > > APM interrupt (or any other which happens to use these segment > > registers) and saved as such in task struct (with interesting side > > effects on Wine and friends ;)). Ingo's patch is right in this respect. > > Good point. Fixed.
Umm, Linus, should 2.1.118 really fix the crash I did report?
Well, it doesn't. I get exactly the same backtrace (minus address differences) now:
|EIP: 0010:[<C0180B4C>] apm_get_event+0x28 |Call Trace: C0181100 do_apm_timer | C0180F74 get_event+0x10 | C0181041 check_events+0x9 | C0181174 do_apm_timer+0x74 | C01115B1 timer_bh+0x305 | C0117949 do_bottom_half+0x49 | C010AD53 do_IRQ+0x3b | C0109CA0 ret_from_intr | C4923000 ??? unknown | C0108A00 __switch_to+0x68 (this points to the opcode right after the lldt call) c01089f4: 39 42 64 cmpl %eax,0x64(%edx) c01089f7: 74 07 je c0108a00 <__switch_to+0x68> c01089f9: 0f 00 91 48 02 lldt 0x248(%ecx) c01089fe: 00 00 c0108a00:>>>>>>>8b 83 04 02 00 movl 0x204(%ebx),%eax c0108a05: 00 | C0110B07 schedule+0x22f | C0110560 process_timeout | C012D331 do_select+0x1a1 | C012D6B5 sys_select+0x345 | C01822BE tty_read+0xb2 | C010DB1E old_select+0x5a | C0109BC8 system_call+0x38 |Code: 0F A1 07 1F 89 C5 8B 44 24 14 66 89 |apm_get_event+0x28: | popl %fs | popl %es | popl %ds | movl %eax,%ebp | movl 0x14(%esp,1),%eax | ...
Or should drivers/char/apm_bios.c be fixed with exceptionhandlers or something like it?
The only difference between the vanilla kernel and mine is that mine does 100 times more APM timerinterrupts (1/100 s) to show the bug.
(BTW: Mingo's first patch *DID* fix the problem.)
Ciao, Marcus
- 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.altern.org/andrebalsa/doc/lkml-faq.html
| |