Files
openwrt/target/linux
Mieczyslaw Nalewaj f7005097ae 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
..
2026-01-19 01:14:52 +01:00
2025-09-02 23:09:49 +02:00
2026-02-04 23:56:04 +01:00
2026-01-19 01:14:52 +01:00
2025-12-03 21:28:27 +01:00
2025-11-06 09:57:37 +01:00
2026-01-19 01:14:52 +01:00
2025-10-28 22:16:44 +01:00
2025-12-11 22:11:28 +01:00
…
…
2025-12-11 22:11:28 +01:00
2026-01-19 01:14:52 +01:00
2026-02-04 23:56:04 +01:00
2026-02-04 23:56:04 +01:00
2026-01-19 01:14:52 +01:00
2026-01-19 01:14:52 +01:00
…
…
…