openwrt/target/linux
Tony Ambardar 2932b4d05e kernel: mips: fix init crash/bootloop on 64-bit systems
The malta subtargets for mips64 and mips64el fail to start the init process
at boot, resulting in a boot loop. The issue was raised and analyzed within
FS#3277. Investigation suggested code near the [vdso] memory area of the
process was long jumping into a region inaccessible to the process, e.g.

 init: - preinit -
 init: Launched preinit instance, pid=522
 do_page_fault(): sending SIGSEGV to init for invalid read access from 0000000000000360
 epc = 0000000000000360 in init[aaab42b000+4000]
 ra  = 000000fffee385e0 in
 Kernel panic - not syncing: Attempted to kill init! exitcode=0x0000000b
 Rebooting in 1 seconds..

Note the low-memory read access and epc are the same. Upstream kernel 5.6
included a relevant patch and discussion:

  * d3f703c4359f ("mips: vdso: fix 'jalr t9' crash in vdso code")

Disassembly of the failing kernel's vdso.so confirmed presence of the
telltale long jumps, e.g.:

00000000000007c0 <__vdso_clock_getres@@LINUX_2.6>:
 [...]
 7dc:   0320f809        jalr    t9
 [...]

Restore booting mips64/mips64el malta by backporting the above commit:
  * 310-v5.6-mips-vdso-fix-jalr-t9-crash-in-vdso-code.patch

Fixes: 54310a3aa0 ("malta: add kernel 5.4 config")
Fixes: FS#3277
Ref: https://bugs.openwrt.org/index.php?do=details&task_id=3277

Signed-off-by: Tony Ambardar <itugrok@yahoo.com>
2020-08-15 00:04:59 +08:00
..
apm821xx kernel: Update kernel 4.19 to version 4.19.138 2020-08-10 19:34:37 +02:00
ar71xx ar71xx: fix ZyXEL NBG6616 wifi switch 2020-08-11 01:12:22 +02:00
arc770 arc770: update kernel version to 5.4 2020-07-27 20:15:10 +02:00
archs38 kernel: unify CONFIG_GPIO_SYSFS in kernel configs 2020-08-06 12:37:04 +02:00
armvirt kernel: Move CONFIG_IONIC to generic kernel config 2020-08-10 23:58:58 +02:00
at91 kernel: unify CONFIG_GPIO_SYSFS in kernel configs 2020-08-06 12:37:04 +02:00
ath25 kernel: unify CONFIG_GPIO_SYSFS in kernel configs 2020-08-06 12:37:04 +02:00
ath79 ath79: add support for TP-Link TL-WPA8630 v1 2020-08-13 20:43:15 +02:00
bcm27xx kernel: Move CONFIG_IONIC to generic kernel config 2020-08-10 23:58:58 +02:00
bcm47xx bcm47xx: use vendor_model scheme for device/image names 2020-08-12 11:08:05 +02:00
bcm53xx kernel: add CGROUPS and IOSCHED_BFQ back to config 2020-08-12 14:03:17 +02:00
bcm63xx bcm63xx: switch to upstream CFE detection patch 2020-08-11 08:04:40 +02:00
cns3xxx kernel: unify CONFIG_GPIO_SYSFS in kernel configs 2020-08-06 12:37:04 +02:00
gemini gemini: Add swap partition to DNS-313 2020-07-31 18:34:40 +02:00
generic kernel: mips: fix init crash/bootloop on 64-bit systems 2020-08-15 00:04:59 +08:00
imx6 kernel: unify CONFIG_GPIO_SYSFS in kernel configs 2020-08-06 12:37:04 +02:00
ipq40xx ipq40xx: refresh kernel 5.4 config 2020-08-06 12:51:51 +02:00
ipq806x kernel: usb: move phy-qcom-ipq806x-usb to ipq806x modules.mk 2020-08-13 02:12:12 +02:00
ipq807x kernel: unify CONFIG_GPIO_SYSFS in kernel configs 2020-08-06 12:37:04 +02:00
kirkwood treewide: add sysupgrade comment for early DSA-adopters 2020-08-08 20:56:12 +02:00
lantiq kernel: unify CONFIG_GPIO_SYSFS in kernel configs 2020-08-06 12:37:04 +02:00
layerscape kernel: Move CONFIG_IONIC to generic kernel config 2020-08-10 23:58:58 +02:00
malta kernel: add CGROUPS and IOSCHED_BFQ back to config 2020-08-12 14:03:17 +02:00
mediatek mediatek: disable btif in device tree to make the WMAC work again 2020-08-12 13:02:13 +02:00
mpc85xx mpc85xx: tidy up 10-fix-wifi-mac 2020-08-13 20:29:20 +02:00
mvebu kernel: Move CONFIG_IONIC to generic kernel config 2020-08-10 23:58:58 +02:00
mxs treewide: make dependency on kmod-usb-net selective 2020-08-10 12:54:30 +02:00
octeon kernel: Move CONFIG_IONIC to generic kernel config 2020-08-10 23:58:58 +02:00
octeontx kernel: Move CONFIG_IONIC to generic kernel config 2020-08-10 23:58:58 +02:00
omap treewide: make dependency on kmod-usb-net selective 2020-08-10 12:54:30 +02:00
oxnas oxnas: reduce size of ATA DMA descriptor space 2020-08-11 00:16:04 +01:00
pistachio kernel: unify CONFIG_GPIO_SYSFS in kernel configs 2020-08-06 12:37:04 +02:00
ramips ramips: add support for MikroTik RouterBOARD 760iGS (hEX S) 2020-08-13 12:47:45 +02:00
rb532 kernel: unify CONFIG_GPIO_SYSFS in kernel configs 2020-08-06 12:37:04 +02:00
rockchip kernel: Move CONFIG_IONIC to generic kernel config 2020-08-10 23:58:58 +02:00
samsung kernel: Update kernel 4.14 to version 4.14.187 2020-07-04 21:12:42 +02:00
sunxi treewide: make dependency on kmod-usb-net selective 2020-08-10 12:54:30 +02:00
tegra kernel: unify CONFIG_GPIO_SYSFS in kernel configs 2020-08-06 12:37:04 +02:00
uml treewide: Remove self from MAINTAINER entries 2019-12-23 13:18:04 -08:00
x86 kernel: Move CONFIG_IONIC to generic kernel config 2020-08-10 23:58:58 +02:00
zynq kernel: unify CONFIG_GPIO_SYSFS in kernel configs 2020-08-06 12:37:04 +02:00
Makefile build: add 'make kernel_xconfig' command 2020-07-08 16:07:05 +02:00