prplos/target/linux
Mieczyslaw Nalewaj ae1a602e44 mt7620: workaround jal imm26 and redundant PAGE_ALIGN
On MT7620-class platforms (CONFIG_NET_RALINK_MT7620) we observe sporadic
wrong-jump-targets, kernel oopses, hanging, corrupted backtraces or even
"half-written" instructions when the compiler emits a direct 'jal imm26'
call.
This is triggered in:
  - the small random helpers inside get_random_u32_below(), and
  - the blkcg_maybe_throttle_current() call in resume_user_mode_work().

This patch forces those two call sites to use an indirect call via
a volatile function pointer (load into register + jalr) when building
for MT7620, avoiding embedding a 26-bit immediate jump target.

Additionally, on MT7620 builds the exec path in fs/exec.c is modified:
  - skip arch_align_stack() + PAGE_ALIGN() in setup_arg_pages()
    because the micro-randomization (< PAGE_SIZE) implemented by many
    ports (including MT7620) is negated immediately by PAGE_ALIGN().
    Skipping the redundant PAGE_ALIGN() reduces exposure to the
    problematic code pattern.

These changes are targeted workarounds for MT7620; behavioral logic is unchanged.

Signed-off-by: Mieczyslaw Nalewaj <namiltd@yahoo.com>
Link: https://github.com/openwrt/openwrt/pull/20553
(cherry picked from commit 22ccb445e611018ede702e6c0798640353632cce)
Link: https://github.com/openwrt/openwrt/pull/22216
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit f7005097ae35508ad619251ce7ed127580218e61)
2026-08-18 11:40:39 +01:00
..
airoha kernel: bump 6.6 to 6.6.120 2026-08-18 11:40:38 +01:00
apm821xx kernel: bump 6.6 to 6.6.103 2026-07-09 10:57:24 +01:00
archs38 kernel: filter out compiler opts from config 2024-11-28 18:47:54 +00:00
armsr armsr: remove 'console=tty1' from kernel command line 2026-07-09 10:57:24 +01:00
at91 at91bootstrap: put at91bootstrap images into image staging directory 2026-07-09 10:57:30 +01:00
ath79 ath79: cf-ew71-v2: set label-mac-device to eth1 2026-08-18 11:40:38 +01:00
bcm27xx kernel: bump 6.6 to 6.6.122 2026-08-18 11:40:39 +01:00
bcm47xx kernel: bump 6.6 to 6.6.120 2026-08-18 11:40:38 +01:00
bcm53xx kernel: bump 6.6 to 6.6.118 2026-07-09 10:57:34 +01:00
bcm4908 bcm63xx-cfe: install into image staging dir 2026-07-09 10:57:29 +01:00
bmips bmips: fix leds on f@st3864op 2026-07-09 10:57:30 +01:00
d1 kernel: bump 6.6 to 6.6.120 2026-08-18 11:40:38 +01:00
gemini kernel: bump 6.6 to 6.6.95 2025-07-06 14:51:08 +02:00
generic generic: backport Motorcomm YT8821 PHY driver 2026-08-18 11:40:39 +01:00
imx imx: cortexa53: update supported devices 2026-08-18 11:40:39 +01:00
ipq40xx ipq40xx: use NVMEM-on-UBI for ASUS Lyra 2026-08-18 11:40:39 +01:00
ipq806x ipq806x: migrate wifi configuration device paths for 6.12 kernel 2026-07-09 10:57:33 +01:00
ixp4xx ixp4xx: Break out mv88e6060 DSA switch to package 2025-01-04 19:27:05 +01:00
kirkwood kernel: filter out compiler opts from config 2024-11-28 18:47:54 +00:00
lantiq kernel: bump 6.6 to 6.6.114 2026-07-09 10:57:30 +01:00
layerscape kernel: bump 6.6 to 6.6.119 2026-07-09 10:57:34 +01:00
loongarch64 generic: globally enable CONFIG_PCPU_DEV_REFCNT 2025-03-19 09:24:43 +01:00
malta kernel: filter out compiler opts from config 2024-11-28 18:47:54 +00:00
mediatek mediatek: add Motorcomm PHY support to Cudy AP3000 v1 2026-08-18 11:40:39 +01:00
mpc85xx mpc85xx: p1010: Use zImage loader for Watchguard Firebox T10 2026-07-09 10:57:35 +01:00
mvebu mvebu: gl-mv1000: fix sdhci1 controller 2026-07-09 10:57:35 +01:00
mxs mxs: run kernel_oldconfig 2024-11-28 18:48:55 +00:00
octeon octeon: ubnt-*: Add device specific DTS pruning 2026-07-09 10:57:25 +01:00
omap kernel: filter out compiler opts from config 2024-11-28 18:47:54 +00:00
pistachio kernel: bump 6.6 to 6.6.119 2026-07-09 10:57:34 +01:00
qoriq kernel: filter out compiler opts from config 2024-11-28 18:47:54 +00:00
qualcommax kernel: bump 6.6 to 6.6.120 2026-08-18 11:40:38 +01:00
ramips mt7620: workaround jal imm26 and redundant PAGE_ALIGN 2026-08-18 11:40:39 +01:00
realtek realtek: hog the GS1900-24E external IC reset line 2026-08-18 11:40:39 +01:00
rockchip kernel: bump 6.6 to 6.6.122 2026-08-18 11:40:39 +01:00
sifiveu kernel: filter out compiler opts from config 2024-11-28 18:47:54 +00:00
siflower kernel: bump 6.6 to 6.6.122 2026-08-18 11:40:39 +01:00
starfive kernel: bump 6.6 to 6.6.120 2026-08-18 11:40:38 +01:00
stm32 stm32: add missing config option 2025-05-28 13:22:00 +02:00
sunxi kernel: bump 6.6 to 6.6.120 2026-08-18 11:40:38 +01:00
tegra tegra: bring back workaround for spurious interrupts 2025-07-28 23:20:46 +02:00
uml uml: fix glibc-static check with GCC14 2024-06-22 22:06:06 +02:00
x86 x86: config: add CONFIG_MITIGATION_VMSCAPE=y 2026-07-09 10:57:26 +01:00
zynq kernel: filter out compiler opts from config 2024-11-28 18:47:54 +00:00
Makefile linux: fix missing default packages in profiles.json 2025-01-03 11:14:12 +01:00