Re: patch for 2.1.103 ldt-related problems

Marcus Meissner (marcus@jet.franken.de)
Mon, 25 May 1998 16:56:46 +0200 (MEST)


> After quite a bit of bug-tracking I've found the cause of the recently
> reported invalid TSS double oops when running Wine. The symptoms were
> that a selector in %fs referring to an ldt entry was causing first an
> invalid TSS exception, which became a GP fault when the kernel attempted
> to push and pop %fs.

> The underlying problem turned out to be that when cloning a task that
> used an ldt, the new clone wasn't being given its own ldt selector in
> the gdt; instead the tss.ldt value was left set to the parent task's
> selector. But if the parent task exited first and a new task used the
> same task slot, the ldt selector in the gdt would be changed, leaving
> the clone task with invalid selectors.
>
> The attached patch fixes this and some other ldt-related problems, and
> improves the reporting in show_registers that hopefully will make
> tracking problems like this a little easier. The changes are:
>
> With the patch in place the previously 100% repeatable oops with Wine
> has gone away, and other operations appear to correctly.

I agree. My sample crashing application no longer Oopses. I am currently
testrunning my set of windows applications and after half of them no
Oops has appeared.

There was no visible change in behaviour.

So I would give this patch a 'GO!'.

Lots of thanks for your work, Bill.

Ciao, Marcus

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu