[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <201208221927.28993.arnd@arndb.de>
Date: Wed, 22 Aug 2012 19:27:28 +0000
From: Arnd Bergmann <arnd@...db.de>
To: Andrew Morton <akpm@...ux-foundation.org>
Cc: Jiri Kosina <jkosina@...e.cz>,
Haavard Skinnemoen <hskinnemoen@...il.com>,
"Hans-Christian Egtvedt" <egtvedt@...fundet.no>,
Mike Frysinger <vapier@...too.org>,
Mark Salter <msalter@...hat.com>,
Mikael Starvik <starvik@...s.com>,
Jesper Nilsson <jesper.nilsson@...s.com>,
David Howells <dhowells@...hat.com>,
Yoshinori Sato <ysato@...rs.sourceforge.jp>,
Richard Kuo <rkuo@...eaurora.org>,
Hirokazu Takata <takata@...ux-m32r.org>,
Geert Uytterhoeven <geert@...ux-m68k.org>,
Michal Simek <monstr@...str.eu>,
Koichi Yasutake <yasutake.koichi@...panasonic.com>,
Jonas Bonn <jonas@...thpole.se>,
Chen Liqin <liqin.chen@...plusct.com>,
Lennox Wu <lennox.wu@...il.com>,
Paul Mundt <lethal@...ux-sh.org>,
"David S. Miller" <davem@...emloft.net>,
Chris Zankel <chris@...kel.net>, linux-kernel@...r.kernel.org,
Chris Metcalf <cmetcalf@...era.com>
Subject: Re: [PATCH] [RFC] cross-arch: don't corrupt personality flags upon exec()
On Wednesday 15 August 2012, Andrew Morton wrote:
> Extra marks will be awarded if you can work out whether to use
> PER_LINUX_32BIT ;)
I'll try this:
PER_LINUX_32BIT is defined as (PER_LINUX | ADDR_LIMIT_32BIT).
The ADDR_LIMIT_32BIT flag is used in exactly two places in the kernel:
1. On alpha, it limits the available address space to 32 bits, in order to
run certain legacy applications (Netscape) that are not 64 bit safe and were
compiled with an interesting 32 bit user space mode with 64 bit syscalls.
2. on ARM, it is used to /not/ limit the user address space to 26 bits.
For all practical purposes, one must set the ADDR_LIMIT_32BIT flag to
run modern applications now.
The avr32, microblaze architectures always set PER_LINUX_32BIT because they
copied from ARM, but the flag has no effect there.
On tile, the PER_LINUX_32BIT is always set for 32 bit compat tasks in a 64 bit
kernel, which is harmless but wrong anyway. Also this, tile never calls
set_personality, which is also harmless because it just means that exec_domain
switching on tile is broken, but the only non-bogus exec_domain besides the
default one is an experimental support for Acorn RISC OS binaries that was
last updated in 2002 for for linux-2.5.49.
Arnd
--
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