openwrt/target/linux
Mieczyslaw Nalewaj 7d5d366404
Some checks are pending
Build Kernel / Build all affected Kernels (push) Waiting to run
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
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit 22ccb445e6)
2026-02-28 10:28:04 +01:00
..
airoha airoha: an7581: add switch ports interrups 2026-02-07 17:03:50 +01:00
apm821xx kernel: disable non layout u-boot,env 2025-11-28 01:20:33 +01:00
armsr kernel: drop CONFIG_ARM64_CONTPTE from target configs 2025-11-26 21:08:34 +02:00
at91 treewide: fix coccinelle checks 2025-12-02 23:32:42 +01:00
ath79 ath79: add env-size for Sitecom WLR-7100 / WLR-8100 u-boot-env 2026-02-17 01:47:48 +01:00
bcm27xx kernel: bump 6.12 to 6.12.70 2026-02-15 02:07:04 +01:00
bcm47xx kernel: bump 6.12 to 6.12.64 2026-01-15 20:55:54 +01:00
bcm53xx bcm53xx: fix target name of meraki_mx64-a0 2026-02-17 01:47:55 +01:00
bcm4908 kernel: disable non layout u-boot,env 2025-11-28 01:20:33 +01:00
bmips Revert "bmips: huawei-hg556a-c: use nvmem for wifi eeprom" 2026-02-21 14:02:55 +01:00
d1 d1: refresh kernel config 2026-01-27 16:30:05 +01:00
econet econet: refresh patches 6.12 2026-01-11 19:10:38 +01:00
gemini gemini: select the right GPIO input package 2026-02-11 08:47:45 +01:00
generic kernel: net: fix deadlock caused by phy led trigger 2026-02-23 21:57:58 +01:00
imx imx: cortexa53: enable DMA contiguous memory allocator 2026-02-27 11:02:39 +01:00
ipq40xx kernel: bump 6.12 to 6.12.70 2026-02-15 02:07:04 +01:00
ipq806x Revert "treewide: fixup ath10k nodes" 2025-11-29 17:56:11 +01:00
ixp4xx ixp4xx: fix bug in Actiontec DTS file 2026-01-04 18:20:34 +01:00
kirkwood kirkwood: add aliases and new partition for support D-Link DNS-325 A1 2025-11-25 15:41:38 +01:00
lantiq Revert "lantiq: arv7525pw: use nvmem for eeprom" 2026-02-27 16:34:16 +01:00
layerscape kernel: bump 6.12 to 6.12.71 2026-02-15 02:07:04 +01:00
loongarch64 kernel: bump 6.12 to 6.12.64 2026-01-15 20:55:54 +01:00
malta malta: drop 6.6 support 2025-07-20 23:37:37 +02:00
mediatek mediatek: TP-Link EAP683-UR support 2026-02-22 23:23:09 +02:00
microchipsw microchipsw: lan969x: include ip-bridge and dcb tools 2026-01-25 22:14:23 +01:00
mpc85xx kernel: move patch from mpc85xx to pending 2026-02-14 01:15:12 +01:00
mvebu mvebu: add support for RIPE Atlas Probe v5 2026-02-17 01:40:00 +01:00
mxs mxs: drop 6.6 support 2025-05-24 16:15:53 +02:00
octeon treewide: replace numbers with GPIO_ACTIVE 2025-10-08 14:26:24 +02:00
omap omap: drop support for kernel 6.6 2025-11-22 10:16:35 +01:00
pistachio kernel: bump 6.12 to 6.12.62 2025-12-17 00:32:23 +01:00
qoriq package: uboot-qoriq: fix T4240RDB u-boot selection 2026-02-14 01:15:12 +01:00
qualcommax kernel: bump 6.12 to 6.12.70 2026-02-15 02:07:04 +01:00
qualcommbe kernel: bump 6.12 to 6.12.70 2026-02-15 02:07:04 +01:00
ramips mt7620: workaround jal imm26 and redundant PAGE_ALIGN 2026-02-28 10:28:04 +01:00
realtek realtek: hog the GS1900-24E external IC reset line 2026-02-25 20:22:49 +01:00
rockchip kernel: bump 6.12 to 6.12.69 2026-02-15 02:07:04 +01:00
sifiveu kernel: remove duplicate PREEMPT settings 2025-06-08 15:59:55 +02:00
siflower kernel: bump 6.12 to 6.12.64 2026-01-15 20:55:54 +01:00
starfive kernel: bump 6.12 to 6.12.64 2026-01-15 20:55:54 +01:00
stm32 stm32: drop kernel 6.6 support 2025-10-22 14:56:15 +02:00
sunxi kernel: reorder configuration options 2026-01-26 23:59:37 +01:00
tegra tegra: promote kernel 6.12 as default 2025-11-11 21:23:14 +01:00
uml kernel: bump 6.12 to 6.12.33 2025-06-12 12:42:15 +02:00
x86 x86: base-files add support for Sophos 210r3 and 230r2 2026-02-13 00:18:14 +01:00
zynq zynq: drop support for kernel 6.6 2025-11-25 17:27:24 +01:00
Makefile linux: fix missing default packages in profiles.json 2024-11-17 19:29:06 +01:00