Re: 2.4.0-tes6 broke %gs handling again (x86 of course)

From: Linus Torvalds (torvalds@transmeta.com)
Date: Sat Aug 12 2000 - 15:22:26 EST


On 12 Aug 2000, Ulrich Drepper wrote:
>
> Ever since the %gs handling was fixed in the 2.3.99 series the
> appended test program worked. Now with 2.4.0-test6 it's not working
> again. Looking briefly over the patch from test5 to test6 I haven't
> seen an immediate candidate for the breakage. It could be missing
> propagation of the LDT to the new process (and therefore an invalid
> segment descriptor) or simply clearing %gs.

Indeed - the fork() re-oranization ended up clearing the segments _after_
having copied them.

In kernel/fork.c, move the "copy_segments()" call from before the
dup_mmap() _into_ the dup_mmap() instead of the line "current->segments =
NULL", and it should be ok.

Thanks,

                Linus

-
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.tux.org/lkml/



This archive was generated by hypermail 2b29 : Tue Aug 15 2000 - 21:00:28 EST