Re: [PATCH] riscv: drop __init from vec_check_unaligned_access_speed_all_cpus
Paul Walmsley <[email protected]> Wed, 29 Jul 2026 13:23:58 -0600 (MDT)
| Newsgroups | org.infradead.lists.linux-riscv,org.kernel.vger.linux-kernel |
|---|---|
| Message-ID | <[email protected]> |
Hi, On Fri, 12 Jun 2026, Anirudh Srinivasan wrote: > This function runs within a kthread and need not necessarily finish > before system finishes boot and free_initmem() unmaps the .init.text > section. This function makes calls to SBI for probing unaligned access > speed, and if this is slow for some reason (say some debug prints were > added to SBI), the kthread can still be running at this point and result > in an instruction page fault when trying to fetch from the freed region. > > [ 25.642087] Unable to handle kernel paging request at virtual address ffffffff80a04ef8 > [ 25.646694] Current vec_check_unali pgtable: 4K pagesize, 48-bit VAs, pgdp=0x00004000316e9000 > [ 25.653170] [ffffffff80a04ef8] pgd=000010004be7e401, p4d=000010004be7e401, pud=000010004be7e001, pmd=000010000c3000e3 > [ 25.661244] Oops [#1] > [ 25.662997] Modules linked in: > [ 25.665357] CPU: 3 UID: 0 PID: 42 Comm: vec_check_unali Not tainted 7.0.0-tt-blackhole-asrinivasan-00007-g30ff73f18211 #570 PREEMPTLAZY > [ 25.674669] Hardware name: Tenstorrent Blackhole (DT) > [ 25.678545] epc : vec_check_unaligned_access_speed_all_cpus+0x18/0x2c > [ 25.683458] ra : vec_check_unaligned_access_speed_all_cpus+0x18/0x2c > [ 25.688372] epc : ffffffff80a04ef8 ra : ffffffff80a04ef8 sp : ffff8f8000203e20 > [ 25.693874] gp : ffffffff814dc168 tp : ffffaf8001ad9900 t0 : 0000000000000000 > [ 25.699401] t1 : fffffffffffffff0 t2 : ffffaf8001ad9a10 s0 : ffff8f8000203e30 > [ 25.704912] s1 : ffffaf80018dc780 a0 : 0000000000000000 a1 : 0000000000000002 > [ 25.710407] a2 : 00000000000001f0 a3 : 0000000000000018 a4 : 0000000000000000 > [ 25.715917] a5 : 0000000000000000 a6 : ffffaf8001c03d98 a7 : ffffaf8001c03e30 > [ 25.721419] s2 : ffff8f8000023c98 s3 : ffffaf8001aa1240 s4 : ffffffff80a04ee0 > [ 25.726937] s5 : 0000000000000000 s6 : 0000000000000000 s7 : 0000000000000000 > [ 25.732450] s8 : 0000000000000000 s9 : 0000000000000000 s10: 0000000000000000 > [ 25.737944] s11: 0000000000000000 t3 : 0000000000000002 t4 : 0000000000000402 > [ 25.743481] t5 : 0000000000000040 t6 : 0000000000000004 ssp : 0000000000000000 > [ 25.749024] status: 0000000200000120 badaddr: ffffffff80a04ef8 cause: 000000000000000c > [ 25.755060] [<ffffffff80a04ef8>] vec_check_unaligned_access_speed_all_cpus+0x18/0x2c > [ 25.760964] [<ffffffff80047a10>] kthread+0xd8/0xfc > [ 25.764660] [<ffffffff80010c48>] ret_from_fork_kernel+0x18/0x1c4 > [ 25.769220] [<ffffffff80895fe6>] ret_from_fork_kernel_asm+0x16/0x18 > [ 25.774018] Code: cccc cccc cccc cccc cccc cccc cccc cccc cccc cccc (cccc) cccc > > Drop __init from its signature so that this doesn't happen. I've queued this one for v7.2-rc, since it is a narrow, targeted fix for a specific issue; and will plan to queue Nam's patches for v7.3. - Paul _______________________________________________ linux-riscv mailing list [email protected] http://lists.infradead.org/mailman/listinfo/linux-riscv