default mmap_min_addr for arm64 prevents running arm32 applications
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
procps (Ubuntu) |
Fix Released
|
Undecided
|
Adam Conrad | ||
Trusty |
Fix Released
|
Undecided
|
Adam Conrad | ||
Utopic |
Fix Released
|
Undecided
|
Adam Conrad |
Bug Description
[ SRU Justification ]
Executing 32-bit arm binaries as user fails on arm64. Turns out, this is bad.
[ Test Case ]
Grab a 32-bit binary (either multiarch via armhf, or compile a quick static hello) and try to run it. Also, check /proc/sys/
[ Regression Potential ]
Shouldn't be any issue with 4k pagesize kernels, and this was already the default on 32-bit ARM for the same reasons. It could, potentially, mean that the zero page is no longer entirely protected from mmap when running a 64k pagesize kernel, however we don't currently ship such a kernel, preferring instead to have 32-bit compatibility.
[ Original Bug Report ]
Executing 32-bit arm binaries as user fails on arm64:
# file hello
hello: ELF 32-bit LSB executable, ARM, EABI5 version 1 (SYSV),
statically linked, for GNU/Linux 2.6.32,
BuildID[
# ./hello
hello world
# su - linaro
$ /root/hello
Segmentation fault
Root cause was identified to /etc/sysctl.
Reference discussion:
http://
Affects trusty, utopic and vivid
Changed in procps (Ubuntu): | |
assignee: | nobody → Adam Conrad (adconrad) |
Changed in procps (Ubuntu Trusty): | |
assignee: | nobody → Adam Conrad (adconrad) |
Changed in procps (Ubuntu Utopic): | |
assignee: | nobody → Adam Conrad (adconrad) |
tags: |
added: verification-done-trusty removed: verification-failed |
tags: |
added: verification-needed-utopic removed: verification-needed |
This bug was fixed in the package procps - 1:3.3.9-1ubuntu7
---------------
procps (1:3.3.9-1ubuntu7) vivid; urgency=medium
* Copy 10-zeropage. conf.armhf to 10-zeropage. conf.arm64 (LP: #1415481)
-- Adam Conrad <email address hidden> Wed, 28 Jan 2015 10:17:09 -0700