arm32 binaries work with CONFIG_COMPAT as root but not as user?
Catalin Marinas
catalin.marinas at arm.com
Wed Jan 28 03:22:50 PST 2015
On Wed, Jan 28, 2015 at 10:52:21AM +0000, Riku Voipio wrote:
> Perhaps I'm missing here something, but seems I can only run 32bit arm
> programs on arm64 system if I am root. So far even the simplest hello
> world will be killed/segfaulted on startup. This is on mustang hw.
>
> taking on 3.19-rc3 with arch=arm64 and make defconfig:
It works for me with the arm64 for-next/core branch, I haven't tried
vanilla 3.19-rc3 yet. Do you have other patches applied?
> wget http://kos.to/hello-test/hello
> # 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
> $ gdb /root/hello
> (gdb) run
> Starting program: /root/hello
> During startup program terminated with signal SIGSEGV, Segmentation fault.
Do you get some kernel message?
This works for me with Debian armel.
> If you have a debian/ubuntu system, you can also reproduce it with multiarch:
>
> dpkg --add-architecture armhf
> apt-get update
> apt-get install hello:armhf
> # hello
> Hello, world!
> # su - ubuntu
> $ hello
> Segmentation fault
> $
This works as well.
What does this say:
# cat /proc/sys/vm/mmap_min_addr
If it is 64K, it won't run 32-bit apps as non-root.
--
Catalin
More information about the linux-arm-kernel
mailing list