openwrt/target/linux
Mieczyslaw Nalewaj f7005097ae
Some checks failed
Build Kernel / Build all affected Kernels (push) Has been cancelled
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 22ccb445e6)
Link: https://github.com/openwrt/openwrt/pull/22216
Signed-off-by: Robert Marko <robimarko@gmail.com>
2026-03-01 11:21:05 +01:00
..
airoha kernel: bump 6.6 to 6.6.120 2026-01-19 01:14:52 +01:00
apm821xx kernel: bump 6.6 to 6.6.103 2025-09-02 23:09:49 +02: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 2025-08-31 18:30:08 +02:00
at91 at91bootstrap: put at91bootstrap images into image staging directory 2025-10-22 18:19:42 +02:00
ath79 ath79: cf-ew71-v2: set label-mac-device to eth1 2025-12-27 18:30:17 +01:00
bcm27xx kernel: bump 6.6 to 6.6.122 2026-02-04 23:56:04 +01:00
bcm47xx kernel: bump 6.6 to 6.6.120 2026-01-19 01:14:52 +01:00
bcm53xx kernel: bump 6.6 to 6.6.118 2025-12-03 21:28:27 +01:00
bcm4908 bcm63xx-cfe: install into image staging dir 2025-10-22 18:17:40 +02:00
bmips bmips: fix leds on f@st3864op 2025-11-06 09:57:37 +01:00
d1 kernel: bump 6.6 to 6.6.120 2026-01-19 01:14:52 +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-02-07 16:33:06 +01:00
imx imx: cortexa53: update supported devices 2026-03-01 10:57:57 +01:00
ipq40xx ipq40xx: use NVMEM-on-UBI for ASUS Lyra 2026-02-26 13:08:02 +01:00
ipq806x ipq806x: migrate wifi configuration device paths for 6.12 kernel 2025-11-12 00:08:15 +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 2025-10-28 22:16:44 +01:00
layerscape kernel: bump 6.6 to 6.6.119 2025-12-11 22:11:28 +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-02-09 00:36:27 +01:00
mpc85xx mpc85xx: p1010: Use zImage loader for Watchguard Firebox T10 2025-12-12 01:25:50 +01:00
mvebu mvebu: gl-mv1000: fix sdhci1 controller 2025-12-12 01:04:07 +01:00
mxs mxs: run kernel_oldconfig 2024-11-28 18:48:55 +00:00
octeon octeon: ubnt-*: Add device specific DTS pruning 2025-09-05 00:48:55 +02: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 2025-12-11 22:11:28 +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-01-19 01:14:52 +01:00
ramips mt7620: workaround jal imm26 and redundant PAGE_ALIGN 2026-03-01 11:21:05 +01:00
realtek realtek: hog the GS1900-24E external IC reset line 2026-02-24 21:44:22 +01:00
rockchip kernel: bump 6.6 to 6.6.122 2026-02-04 23:56:04 +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-02-04 23:56:04 +01:00
starfive kernel: bump 6.6 to 6.6.120 2026-01-19 01:14:52 +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-01-19 01:14:52 +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 2025-09-22 01:22:49 +02: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