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