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).
It is always the best policy to tell the truth, unless, of course,
you are an exceptionally good liar.
-- Jerome K. Jerome
Description: This is a digitally signed message part