On 2025-12-19 04:31, Mark Brown wrote:
On Thu, Dec 18, 2025 at 05:18:04PM -0500, Mathieu Desnoyers wrote:
On 2025-12-18 13:00, Mark Brown wrote:

An ugly work-around that may work (and then we can improve on this),
at the end of mm/init-mm.c:init_mm (completely untested):

        .cpu_bitmap     = { [0 ... ((3*BITS_TO_LONGS(NR_CPUS))-1 + ((69905 * 
NR_MM_COUNTERS * 64) / BYTES_PER_LONG))] = 0UL },

That doesn't seem to fix the FVP unfortunately (BYTES_PER_LONG doesn't
exist, but even just deleting the division entirely fails in the same
way).

I just noticed that there is another static instance of mm_struct:

drivers/firmware/efi/efi.c struct mm_struct efi_mm

we need to apply the same fix to it as well. It seems to fit
with the currently running task when the oops happens:

[    2.482454] CPU: 2 UID: 0 PID: 12 Comm: kworker/u32:0 Not tainted 
6.19.0-rc1-next-20251218 #1 PREEMPT
[    2.482609] Workqueue: efi_rts_wq efi_call_rts

[...]
[    2.485094]  acct_account_cputime+0x40/0xa4 (P)
[...]
[    2.487172]  el1h_64_irq+0x6c/0x70
[...]
[    2.487853]  __efi_rt_asm_wrapper+0x50/0x74

Thanks,

Mathieu

--
Mathieu Desnoyers
EfficiOS Inc.
https://www.efficios.com

Reply via email to