← Back to team overview

touch-packages team mailing list archive

[Bug 1415481] Re: default mmap_min_addr for arm64 prevents running arm32 applications

 

This bug was fixed in the package procps - 1:3.3.9-1ubuntu5.1

---------------
procps (1:3.3.9-1ubuntu5.1) utopic; urgency=medium

  * Copy 10-zeropage.conf.armhf to 10-zeropage.conf.arm64 (LP: #1415481)
 -- Adam Conrad <adconrad@xxxxxxxxxx>   Wed, 28 Jan 2015 10:17:09 -0700

** Changed in: procps (Ubuntu Utopic)
       Status: Fix Committed => Fix Released

-- 
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to procps in Ubuntu.
https://bugs.launchpad.net/bugs/1415481

Title:
  default mmap_min_addr for arm64 prevents running arm32 applications

Status in procps package in Ubuntu:
  Fix Released
Status in procps source package in Trusty:
  Fix Released
Status in procps source package in Utopic:
  Fix Released

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/vm/mmap_min_addr is set to 32k instead of 64k after boot.

  [ 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[sha1]=c37a3b366d645eee600963a535370fa0bad9b2c0, not stripped
  # ./hello
  hello world
  # su - linaro
  $ /root/hello
  Segmentation fault

  Root cause was identified to /etc/sysctl.d/10-zeropage.conf, which is
  set on arm64 to 65536. To run legacy binaries, this should be set to
  32768 like on armhf anr armel.

  Reference discussion:

  http://lists.infradead.org/pipermail/linux-arm-
  kernel/2015-January/320454.html

  Affects trusty, utopic and vivid

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/procps/+bug/1415481/+subscriptions


References