Re: [PATCH 4/6] improve sys_personality for compat architectures

From: Christoph Hellwig
Date: Tue Feb 02 2010 - 11:32:44 EST


On Tue, Feb 02, 2010 at 03:36:51PM +0100, Arnd Bergmann wrote:
> > - return (long)old;
> > + return (long)(old == PER_LINUX32 ? PER_LINUX : old);
> > }
>
> What does this do for a native 64 bit process setting PER_LINUX32?
> It looks to me like it could never set it back to the original
> value, or am I missing something here?
>
> It's what the arch specific code does already, but it seems a bit
> strange anyway.

Indeed, this prevents a process from going back to 64bit. And while
the setarch tool in util-linux also allows going back to 64-bit the
typical use case seems to be going into 32-bit mode.

But if the consensus is that we should fix this properly I can
replace the patch with one introducing a compat_sys_personality
which only gets used for compat tasks.

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