Re: [PATCH] Athlon/Opteron Prefetch Fix for 2.6.0test5 + numbers

From: Andi Kleen
Date: Thu Sep 18 2003 - 12:07:12 EST


On Thu, Sep 18, 2003 at 05:04:56PM +0100, Jamie Lokier wrote:
> Jamie Lokier wrote:
> > > + /* Don't check for LDT code segments because they could have
> > > + non zero bases. Better would be to add in the base in this case. */
> > > + if (regs->xcs & (1<<2))
> > > + return 0;
> >
> > It is possible to have a non-standard code segment in the GDT, too.
> > Thus a better to check is "unlikely((regs->xcs & 0xffff) != __USER_CS)".
>
> Ignore me here, I'm being dense - forgetting about __KERNEL_CS :)
>
> My point is simply that non-zero base GDT segments are possible in
> userspace, and whatever code you add later to add the base should
> be aware of that.

I don't see how a non standard GDT is possible in user space. The GDT
is only managed by the kernel. 2.6 offers to change it for NPTL, but
that only applies to data segments.

In vm86 mode the user can load a different base without LDT, but that
should not matter here (although it may be better to check for VM86 mode
too)

-Andi
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/