Re: [GIT PULL] x86 fixes

From: Ian Campbell
Date: Sat Jan 16 2010 - 16:17:16 EST


On Sat, 2010-01-16 at 23:53 +0300, Cyrill Gorcunov wrote:
> On Sat, Jan 16, 2010 at 12:34:42PM -0800, Linus Torvalds wrote:
> >
> >
> > On Sat, 16 Jan 2010, Ingo Molnar wrote:
> > >
> > > Cyrill Gorcunov (1):
> > > x86: kernel_thread() -- initialize SS to a known state
> >
> > This looks bogus. Why does it do it only on x86-64?
> >
> > Either people care about SS or they don't (the answer, I suspect, is "they
> > don't"). But if they care, we should do it on both 32-bit _and_ 64-bit,
> > no?
> >
> > Linus
>
> Linus, this is Xen specific. There was a Xen related series sent by Ian,
> and seems we still need this patch together with get_kernel_rpl() (as I understand,
> I'm not familiar with Xen code, that was a suspicious about SS as it's said
> in commit message). So Ian mentioned
>
> |
> | > Yeah, I didn't found any explicit %ss reloading for this _particular_
> | > case (as I marked in patch changelog). So the only suspicious is Xen
> | > itself. So as only Christian get ability to test -- we will see the
> | > results.
> |
> | The difference with Xen is that it must squash the RPL of SS (to 3 for
> | 64 bit and 1 for 32 bit, 32 bit doesn't matter here though). Perhaps a
> | NULL selector can only have RPL==0? (I'm away from my architecture docs
> | so I can't check). In any case specifying a non-NULL SS selector allows
> | the squashing to occur correctly.
> |
>
> In turn reported said that only _this_ patch alone doesn't help him and
> Ian replied we need both patches.
>
> Ian CC'ed if details needed.

Thanks, I think you've covered or quoted everything.

Although I think Linus' basic point is still valid -- why isn't a valid
SS needed for 32 bit? The selectors have real meaning there even for
native, don't they?

(I'm travelling all tomorrow and unlikely to be getting mail).

Ian.


--
Ian Campbell

It is always the best policy to tell the truth, unless, of course,
you are an exceptionally good liar.
-- Jerome K. Jerome

Attachment: signature.asc
Description: This is a digitally signed message part