[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <alpine.LNX.2.00.1208030014410.4820@pobox.suse.cz>
Date: Fri, 3 Aug 2012 00:16:22 +0200 (CEST)
From: Jiri Kosina <jkosina@...e.cz>
To: Sam Ravnborg <sam@...nborg.org>
Cc: "David S. Miller" <davem@...emloft.net>,
sparclinux@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH v2] sparc64: do not clobber personality flags in
sys_sparc64_personality()
On Thu, 2 Aug 2012, Sam Ravnborg wrote:
> > >From 4f000eda5917ceecb03767962026cc6a390b8216 Mon Sep 17 00:00:00 2001
> > From: Jiri Kosina <jkosina@...e.cz>
> > Date: Wed, 1 Aug 2012 21:10:51 +0200
> > Subject: [PATCH 4/4] sparc64: do not clobber personality flags in sys_sparc64_personality()
> >
> > There are multiple errors in how sys_sparc64_personality() handles
> > personality flags stored in top three bytes.
> >
> > - directly comparing current->personality against PER_LINUX32 doesn't work
> > in cases when any of the personality flags stored in the top three bytes
> > are used.
> > - directly forcefully setting personality to PER_LINUX32 or PER_LINUX
> > discards any flags stored in the top three bytes
> >
> > Fix the first one by properly using personality() macro to compare only
> > PER_MASK bytes.
> > Fix the second one by setting only the bits that should be set, instead of
> > overwriting the whole value.
>
> Hi Jiri.
>
> Can you have a quick look at this too:
> arch/sparc/include/asm/elf_32.h:#define SET_PERSONALITY(ex) set_personality(PER_LINUX)
>
> From your other comments it looks wrong. But I have not digged into
> this.
It actually seems like much more architectures than just sparc are
clobbering upper bytes of personality upon exec(). Thanks for pointing
that out, it'd be worthwile to go over those and fix them up. I am adding
that to my TODO.
Thanks,
--
Jiri Kosina
SUSE Labs
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists