Re: [PATCH 2/3] x86: set_personality_ia32() abuses TS_COMPAT

From: Oleg Nesterov
Date: Wed Feb 17 2010 - 10:41:50 EST


On 02/16, H. Peter Anvin wrote:
>
> On 02/16/2010 09:44 AM, Oleg Nesterov wrote:
> >
> > and, following this logic, shouldn't set_personality_64bit() clear
> > TS_COMPAT ?
>
> It's quite possible it should... I haven't dug into if that isn't either
> done elsewhere or isn't done for some other reason. This would be worth
> looking into.

OK. This was another source of confusion for me...

> > OK, in any case I do not claim we need fixes. Just I am confused.
>
> Trying to understand the code is good. However, you seem to have
> started out with a point of view that we should have the minimal set of
> state changes possible

Well, I must admit... the only point of this patch was "please change
your code so that I could convince myself I understand what it does" ;)

> instead of keeping state as self-consistent as
> possible. Invariants are a Very Good Thing. Documented invariants are
> even better ;)

Agreed! But to me it looks as if TS_COMPAT breaks invariants.
In particular, because set_personality_64bit() didn't clear this flag.


Anyway. At least I can assume there is no "hard" reason to set this
bit currently, and this was my main question.

Thanks to all for your explanations!

Oleg.

--
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/