arm64 Kernel is overly verbose on user faults

Riku Voipio riku.voipio at linaro.org
Fri Jul 25 05:22:49 PDT 2014


Hi,

Arm64 kernel dmesg will print out a multiline message if any user
binary segfaults. We get "unhandled level X translation fault" with
pr_info, show_pte() with pr_alert and show_regs with default kernel
level:

https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/arch/arm64/mm/fault.c#n111

Contrast to arm32 version, where it is only done if CONFIG_DEBUG_USER
is selected and user_debug=N is passed down from kernel command line:

https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/arch/arm/mm/fault.c#n161

The verboseness was useful in early platform bringup, but now it is
now a more source of confusion (people google for unhandled level
translation fault and find old linaro bugs..) . For end users pov, the
x86 version with single line on INFO level would probably be good:

https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/arch/x86/mm/fault.c#n729

example:

test[8901]: segfault at 0 ip 00007fe456a4621f sp 00007ffffd465a90
error 6 in libc-2.19.so[7fe4569db000+19f000]

Could the arm64 behavior be changed to match arm or x86 printouts?

Riku



More information about the linux-arm-kernel mailing list