From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-yw1-f176.google.com (mail-yw1-f176.google.com [209.85.128.176]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id EE68621773D for ; Fri, 12 Jun 2026 16:25:11 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.176 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1781281514; cv=none; b=e+Io+6HIHYYeh31/QR6VvJElq6BgzWjPEnMLDwCBWm6KJfqFOcVANo/QhRFnAvXrNAJEVS28eXXJYxFDgX9FUkgns7AP14ZzuXjXxDtbEGRDHIvOqB1juh+PtExwcUmd84FSN3xFUnvSzVSLosedBa+RPVz5ypZm2obs5mvOtVM= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1781281514; c=relaxed/simple; bh=8k21Kmlccfm+Al9Le0DOSF0jJNlqjdKhsjsPE/RcXms=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:To:Cc; b=QGkuEK/1D8oCapi2Hc43EnCVxMPv+1jb1aDYeg1/SMOkc5Z1j72e/bf11Y/zw0c2d5XlglHnVBBh8U7L9K5u+pEeFiEObbO0F/lLk+WRowTkEz5kxFj8X390SOejIKlPr33HCRxsJ4woCe/2ZPidxrzumHvoadbX1FbTnAGZtGU= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.tenstorrent.com; spf=pass smtp.mailfrom=tenstorrent.com; dkim=pass (2048-bit key) header.d=tenstorrent.com header.i=@tenstorrent.com header.b=gLHUYGve; arc=none smtp.client-ip=209.85.128.176 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.tenstorrent.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=tenstorrent.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=tenstorrent.com header.i=@tenstorrent.com header.b="gLHUYGve" Received: by mail-yw1-f176.google.com with SMTP id 00721157ae682-7e8833c99fcso12640277b3.3 for ; Fri, 12 Jun 2026 09:25:11 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tenstorrent.com; s=google; t=1781281511; x=1781886311; darn=vger.kernel.org; h=cc:to:message-id:content-transfer-encoding:mime-version:subject :date:from:from:to:cc:subject:date:message-id:reply-to; bh=zRa+eFmdh/5sce8LPeVABmcbTpIdXzK8hhJ5rYpTZ9I=; b=gLHUYGveqenCpDSmo42fjAZqPPpeb2G04CYpKKBS3cRbkRndNOKzH3P/pMPSRQe6FD GJ7vYhAp7cz/sYc52NYMCGQNtKoJJP88vPj9Dv/VHope3DN7owTZr4gMFPo0Et3tfQdl ab65hqFLB8FDrpFsKbqSVja+9gmqg+fu9k6+i5ZYs5P7VE9lpR6qLU0EjAWvk5Zp+OZb dTE7RbqdmZJgHSTo3cBYIOHcfR9wMxwurzOliNYUw2A4YHRYJE/zFDTV2RJ7rSLm2FUj E7yePMZRto6XGJGEqp2PPzIDIeLXk2Kb40IEdaD91Vu6vbrd4oXXlsCJqTT+aRvjaury daVA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1781281511; x=1781886311; h=cc:to:message-id:content-transfer-encoding:mime-version:subject :date:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=zRa+eFmdh/5sce8LPeVABmcbTpIdXzK8hhJ5rYpTZ9I=; b=gkcMzPgZsd9BgNNKWA+aXOIDRN13TDqrjqbpQJNENsNQqBa38ZnoPDQFkdTCcFS5tO Nf92LxFQ6xbMOQSL+myIEJm2e9EARDG0OuT26yMlg/3iNj8mVPHnPXwyFC+nh2A2v3Bd ln1iPZurg6Ov5LTFQJjnMfx+yvBmMO6gJJd8IsaW7tBowEMXrn/yiNh/APObrH2NJfje G5xCogx8gK1V8fNrQ3ZW0KatJ5eliAVIG8z5A0hS5sSz13Fx7CoBjB26qL7iZO/KY66I zT8U3KJ9XDeVsbT3oMQGE9ocl2jFU+pRY1ad6jcomcb9vmNDv3gGiyMwe27Z8ax+lFhO oWvg== X-Forwarded-Encrypted: i=1; AFNElJ82250wqrRTC0FNLnsSshE4ZHXvAnR/e7yjrIDOrPjzQLJF9mU9ulTPc6rIWnnKDhSneUBxzxKntrPHY/g=@vger.kernel.org X-Gm-Message-State: AOJu0YxSxeRUdfX8Q4gMh7RE+p5dNRO0WU5EQJ2K20vEZ/hlp9NHtW0F n2coNwAdk6aA7DcMWf0g3mgtHpjREGjhhWaaE+jOi1ZTGAAYVpejnSQ9DBf0GNBFZ10A1jUbxcV F/tyx X-Gm-Gg: Acq92OEAk5j/cYRaRk0RRMz+w+1pU/dJGrJh3ow/MTS7lp6U9BAurSKgOGpaJjc24MN P2CHKsfMHGYIGdrd+wa/D2rS/YOtnv4etL059sY6DQkbfEBaD99tbVG88vgYfe5WddQczB8F/2R kdZgZizu3XKBS/vcZPmkNgswMTs/sfBgyJmO7tCVisLxG/8QITj3xlEaH6N1wNLJjf7KGb25dH/ 7t0Q2TNQofY0rkw/Ok5rzsMROcl5jVlLfbmSGw2Aod5eYo+PL/UmDPoOYlcVOOfvAfhljfZy8QN +s1FdcGYFGrRAv30bWNZmNT/j+62cRHkgrpeYmHmWVSUvDaIFyi/7Jx2/oMbjYOO3Cwi4bYJZ+3 7J5wYjoi3zgoOE51jw7WwukBf7dsDO+keT42V1+4L7TcdGpwbExFFL1RW3FGbdvueEJGaHyBf/i j0X3I3vEl6MJpqOw+kd/X5ZO3oyVbh4QmqdR3u80tquuNd6/X+Xf8/iQ/+TUE8W16aBPYn/EkpC M5fUe4= X-Received: by 2002:a05:690c:e3c3:b0:7d0:6155:480d with SMTP id 00721157ae682-7f7bac02d50mr33640807b3.5.1781281510966; Fri, 12 Jun 2026 09:25:10 -0700 (PDT) Received: from [192.168.2.129] ([2600:1700:220:59e0:ca4b:99ba:db0b:3666]) by smtp.gmail.com with ESMTPSA id 00721157ae682-7f76e2b5564sm12457887b3.6.2026.06.12.09.25.09 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 12 Jun 2026 09:25:10 -0700 (PDT) From: Anirudh Srinivasan Date: Fri, 12 Jun 2026 11:24:43 -0500 Subject: [PATCH] riscv: drop __init from vec_check_unaligned_access_speed_all_cpus Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit Message-Id: <20260612-vec_unaligned_drop_init-v1-1-df969210ae34@oss.tenstorrent.com> X-B4-Tracking: v=1; b=H4sIAMoyLGoC/yXMQQqDMBBG4avIrBuIESP0KqWENPnVKWWURKUg3 t20Lr/FeztlJEame7VTwsaZJymobxWF0csAxbGYjDZW29qoDcGt4j88CKKLaZodCy8qdL5vtfV N14JKPSf0/P2fH8/LeX29EZbfjo7jBCRCek17AAAA X-Change-ID: 20260612-vec_unaligned_drop_init-c7af506a375e To: Paul Walmsley , Palmer Dabbelt , Albert Ou , Alexandre Ghiti , Andrew Jones Cc: linux-riscv@lists.infradead.org, linux-kernel@vger.kernel.org, andrew.jones@oss.qualcomm.com, ganboing@gmail.com, Anirudh Srinivasan X-Mailer: b4 0.15.1 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] [] vec_check_unaligned_access_speed_all_cpus+0x18/0x2c [ 25.760964] [] kthread+0xd8/0xfc [ 25.764660] [] ret_from_fork_kernel+0x18/0x1c4 [ 25.769220] [] 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. Fixes: a00e022be531 ("riscv: Annotate unaligned access init functions") Signed-off-by: Anirudh Srinivasan Assisted-by: Claude:claude-opus-4-6 --- arch/riscv/kernel/unaligned_access_speed.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/arch/riscv/kernel/unaligned_access_speed.c b/arch/riscv/kernel/unaligned_access_speed.c index 485ab1d105d36..366baca73dc27 100644 --- a/arch/riscv/kernel/unaligned_access_speed.c +++ b/arch/riscv/kernel/unaligned_access_speed.c @@ -325,7 +325,7 @@ static void check_vector_unaligned_access(struct work_struct *work __always_unus } /* Measure unaligned access speed on all CPUs present at boot in parallel. */ -static int __init vec_check_unaligned_access_speed_all_cpus(void *unused __always_unused) +static int vec_check_unaligned_access_speed_all_cpus(void *unused __always_unused) { schedule_on_each_cpu(check_vector_unaligned_access); riscv_hwprobe_complete_async_probe(); @@ -333,7 +333,7 @@ static int __init vec_check_unaligned_access_speed_all_cpus(void *unused __alway return 0; } #else /* CONFIG_RISCV_PROBE_VECTOR_UNALIGNED_ACCESS */ -static int __init vec_check_unaligned_access_speed_all_cpus(void *unused __always_unused) +static int vec_check_unaligned_access_speed_all_cpus(void *unused __always_unused) { return 0; } --- base-commit: 863f9b49d618e02e3ecadeb89ebd39064ba8c2fd change-id: 20260612-vec_unaligned_drop_init-c7af506a375e Best regards, -- Anirudh Srinivasan