{"id":2219687,"url":"http://patchwork.ozlabs.org/api/1.0/patches/2219687/?format=json","project":{"id":2,"url":"http://patchwork.ozlabs.org/api/1.0/projects/2/?format=json","name":"Linux PPC development","link_name":"linuxppc-dev","list_id":"linuxppc-dev.lists.ozlabs.org","list_email":"linuxppc-dev@lists.ozlabs.org","web_url":"https://github.com/linuxppc/wiki/wiki","scm_url":"https://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux.git","webscm_url":"https://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux.git/"},"msgid":"<20260403190123.1383198-2-sourabhjain@linux.ibm.com>","date":"2026-04-03T19:01:16","name":"[v2,2/2] powerpc/vmx: avoid KASAN instrumentation in enter_vmx_ops() for kexec","commit_ref":null,"pull_url":null,"state":"new","archived":false,"hash":"d9e748876e98e6d169a17b0f3b899f24c263464f","submitter":{"id":77202,"url":"http://patchwork.ozlabs.org/api/1.0/people/77202/?format=json","name":"Sourabh Jain","email":"sourabhjain@linux.ibm.com"},"delegate":null,"mbox":"http://patchwork.ozlabs.org/project/linuxppc-dev/patch/20260403190123.1383198-2-sourabhjain@linux.ibm.com/mbox/","series":[{"id":498664,"url":"http://patchwork.ozlabs.org/api/1.0/series/498664/?format=json","date":"2026-04-03T19:01:15","name":"[v2,1/2] powerpc/kdump: fix KASAN sanitization flag for core_$(BITS).o","version":2,"mbox":"http://patchwork.ozlabs.org/series/498664/mbox/"}],"check":"pending","checks":"http://patchwork.ozlabs.org/api/patches/2219687/checks/","tags":{},"headers":{"Return-Path":"\n <linuxppc-dev+bounces-19287-incoming=patchwork.ozlabs.org@lists.ozlabs.org>","X-Original-To":["incoming@patchwork.ozlabs.org","linuxppc-dev@lists.ozlabs.org"],"Delivered-To":"patchwork-incoming@legolas.ozlabs.org","Authentication-Results":["legolas.ozlabs.org;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=ibm.com header.i=@ibm.com header.a=rsa-sha256\n header.s=pp1 header.b=JHzN5lF8;\n\tdkim-atps=neutral","legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=lists.ozlabs.org\n (client-ip=112.213.38.117; helo=lists.ozlabs.org;\n envelope-from=linuxppc-dev+bounces-19287-incoming=patchwork.ozlabs.org@lists.ozlabs.org;\n receiver=patchwork.ozlabs.org)","lists.ozlabs.org;\n arc=none smtp.remote-ip=148.163.158.5","lists.ozlabs.org;\n dmarc=pass (p=none dis=none) header.from=linux.ibm.com","lists.ozlabs.org;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=ibm.com header.i=@ibm.com header.a=rsa-sha256\n header.s=pp1 header.b=JHzN5lF8;\n\tdkim-atps=neutral","lists.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=linux.ibm.com\n (client-ip=148.163.158.5; helo=mx0b-001b2d01.pphosted.com;\n envelope-from=sourabhjain@linux.ibm.com; receiver=lists.ozlabs.org)"],"Received":["from lists.ozlabs.org (lists.ozlabs.org [112.213.38.117])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange x25519 server-signature ECDSA (secp384r1 raw public key)\n server-digest SHA384)\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4fnSkt58JLz1yCs\n\tfor <incoming@patchwork.ozlabs.org>; Sat, 04 Apr 2026 06:01:58 +1100 (AEDT)","from boromir.ozlabs.org (localhost [127.0.0.1])\n\tby lists.ozlabs.org (Postfix) with ESMTP id 4fnSkr1dS0z2ynv;\n\tSat, 04 Apr 2026 06:01:56 +1100 (AEDT)","from mx0b-001b2d01.pphosted.com (mx0b-001b2d01.pphosted.com\n [148.163.158.5])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange x25519 server-signature RSA-PSS (2048 bits) server-digest\n SHA256)\n\t(No client certificate requested)\n\tby lists.ozlabs.org (Postfix) with ESMTPS id 4fnSkq28JYz2xSF\n\tfor <linuxppc-dev@lists.ozlabs.org>; Sat, 04 Apr 2026 06:01:54 +1100 (AEDT)","from pps.filterd (m0360072.ppops.net [127.0.0.1])\n\tby mx0a-001b2d01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id\n 633CYvod172363;\n\tFri, 3 Apr 2026 19:01:44 GMT","from ppma22.wdc07v.mail.ibm.com\n (5c.69.3da9.ip4.static.sl-reverse.com [169.61.105.92])\n\tby mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 4d66msgtvf-1\n\t(version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);\n\tFri, 03 Apr 2026 19:01:43 +0000 (GMT)","from pps.filterd (ppma22.wdc07v.mail.ibm.com [127.0.0.1])\n\tby ppma22.wdc07v.mail.ibm.com (8.18.1.2/8.18.1.2) with ESMTP id\n 633Iu8XN005757;\n\tFri, 3 Apr 2026 19:01:43 GMT","from smtprelay06.fra02v.mail.ibm.com ([9.218.2.230])\n\tby ppma22.wdc07v.mail.ibm.com (PPS) with ESMTPS id 4d6spyf93x-1\n\t(version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);\n\tFri, 03 Apr 2026 19:01:42 +0000","from smtpav06.fra02v.mail.ibm.com (smtpav06.fra02v.mail.ibm.com\n [10.20.54.105])\n\tby smtprelay06.fra02v.mail.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id\n 633J1cp415204674\n\t(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK);\n\tFri, 3 Apr 2026 19:01:39 GMT","from smtpav06.fra02v.mail.ibm.com (unknown [127.0.0.1])\n\tby IMSVA (Postfix) with ESMTP id D154B20040;\n\tFri,  3 Apr 2026 19:01:38 +0000 (GMT)","from smtpav06.fra02v.mail.ibm.com (unknown [127.0.0.1])\n\tby IMSVA (Postfix) with ESMTP id D06C120049;\n\tFri,  3 Apr 2026 19:01:34 +0000 (GMT)","from li-4f5ba44c-27d4-11b2-a85c-a08f5b49eada.ibm.com.domain.name\n (unknown [9.39.18.186])\n\tby smtpav06.fra02v.mail.ibm.com (Postfix) with ESMTP;\n\tFri,  3 Apr 2026 19:01:34 +0000 (GMT)"],"ARC-Seal":"i=1; a=rsa-sha256; d=lists.ozlabs.org; s=201707; t=1775242916;\n\tcv=none;\n b=OiYRRgNtFF5abVGyYp8JZDMARbU10+OpjpTAb5IMh12wT43rWQZozLF2m7jTQu34Fg8NF3QgcNuIHmJFJw4x/9mrn6+1XJLWkg9SMegHcaKQj/3kg0CKAT5qrxBwIKOLbL2I9MCR7UF8DWqaH4XQnXs8rN84M2wG+8QQT8g/HjmgCQ/liWOuf2m5cAnFd24LmLGMVD5BwfEXx7Ri01Kv+1HP6zx34UpgTeOHzUVrjGUcToRRUkNKXKUT3XeLCzo3IdqrAWa6lctgDFRHdEX+ej3YopaEskW0P27R+vEzD5dK3QSCZtGQTSL5z33BnJWaZO7eK8MrkCxLCbS2DsuwDQ==","ARC-Message-Signature":"i=1; a=rsa-sha256; d=lists.ozlabs.org; s=201707;\n\tt=1775242916; c=relaxed/relaxed;\n\tbh=Fk9oWvBHnCy5qQ9Vssar888LWNTkUho9CDRjRcwyrdE=;\n\th=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References:\n\t MIME-Version;\n b=mwvKqcOxPyl5g+nJhkLz73z7fYr6buOOi/XJauw89u2WzG4sRonWNrUenZRPCeyaHjCzTIIfKF1xeEQ7cXakPRLX9JWVx7OYSqANru9SNwZB9PahlzTN+T5KVlkEl4sWS9SW2bX5zlgYR/G0oKZ0nBTa8gOnJF5JflRlch/ChY9Xb71tk9X7rw2QEr4p5+H8BImPecfd9vBybwfBnPPPWwxLjFkKXoEWEY1FBbvULPOqGemgESzo7PBnd6Kk0UHkSZwFGdY9Gut3IosNcS7bXDBzWiwMvKtNkCPk0E2YHzPTQHbaqhL/9KoOb2BcJNYGZDgX5Vo2ZMUG6eMuGaqKRA==","ARC-Authentication-Results":"i=1; lists.ozlabs.org;\n dmarc=pass (p=none dis=none) header.from=linux.ibm.com;\n dkim=pass (2048-bit key;\n unprotected) header.d=ibm.com header.i=@ibm.com header.a=rsa-sha256\n header.s=pp1 header.b=JHzN5lF8; dkim-atps=neutral;\n spf=pass (client-ip=148.163.158.5; helo=mx0b-001b2d01.pphosted.com;\n envelope-from=sourabhjain@linux.ibm.com;\n receiver=lists.ozlabs.org) smtp.mailfrom=linux.ibm.com","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed; d=ibm.com; h=cc\n\t:content-transfer-encoding:date:from:in-reply-to:message-id\n\t:mime-version:references:subject:to; s=pp1; bh=Fk9oWvBHnCy5qQ9Vs\n\tsar888LWNTkUho9CDRjRcwyrdE=; b=JHzN5lF8pwKXHvX1WDLCb/urnzZsw1Jff\n\t6OJ1+dBBNBAZ6PsSG2iM1nS396l2LyYip4CR5Ate2q8YAwCAxSdTyLIsUJPcCV/I\n\tM2e8gS+mrHCEhU061ZuFtaO7z/oobhIW0iVTywJ2NNke4BgxcVsRiPqtZpjOh43d\n\tIt/tHPtjy5t9xhUtYRo/S9oSVZJxijArBhu8W32+CBFRbQhgWE9Vxua/FCj1vPR4\n\tHOQvPbm4zxgn0V8if2lo5IqP1RccYSmYIQoYjfoyET/X2vfAC+qB1GpSxwAIYciv\n\t/VVUYF21z6bsV3P+fzQhtOrgVnqMpr/xZcZ37TDQaUvy6QZ3XppJg==","From":"Sourabh Jain <sourabhjain@linux.ibm.com>","To":"linuxppc-dev@lists.ozlabs.org","Cc":"Sourabh Jain <sourabhjain@linux.ibm.com>,\n        Aditya Gupta <adityag@linux.ibm.com>, Daniel Axtens <dja@axtens.net>,\n        Hari Bathini <hbathini@linux.ibm.com>,\n        Madhavan Srinivasan <maddy@linux.ibm.com>,\n        Mahesh Salgaonkar <mahesh@linux.ibm.com>,\n        Michael Ellerman <mpe@ellerman.id.au>,\n        \"Ritesh Harjani (IBM)\" <ritesh.list@gmail.com>,\n        Shivang Upadhyay <shivangu@linux.ibm.com>,\n        Venkat Rao Bagalkote <venkat88@linux.ibm.com>,\n        Aboorva Devarajan <aboorvad@linux.ibm.com>","Subject":"[PATCH v2 2/2] powerpc/vmx: avoid KASAN instrumentation in\n enter_vmx_ops() for kexec","Date":"Sat,  4 Apr 2026 00:31:16 +0530","Message-ID":"<20260403190123.1383198-2-sourabhjain@linux.ibm.com>","X-Mailer":"git-send-email 2.52.0","In-Reply-To":"<20260403190123.1383198-1-sourabhjain@linux.ibm.com>","References":"<20260403190123.1383198-1-sourabhjain@linux.ibm.com>","X-Mailing-List":"linuxppc-dev@lists.ozlabs.org","List-Id":"<linuxppc-dev.lists.ozlabs.org>","List-Help":"<mailto:linuxppc-dev+help@lists.ozlabs.org>","List-Owner":"<mailto:linuxppc-dev+owner@lists.ozlabs.org>","List-Post":"<mailto:linuxppc-dev@lists.ozlabs.org>","List-Archive":"<https://lore.kernel.org/linuxppc-dev/>,\n  <https://lists.ozlabs.org/pipermail/linuxppc-dev/>","List-Subscribe":"<mailto:linuxppc-dev+subscribe@lists.ozlabs.org>,\n  <mailto:linuxppc-dev+subscribe-digest@lists.ozlabs.org>,\n  <mailto:linuxppc-dev+subscribe-nomail@lists.ozlabs.org>","List-Unsubscribe":"<mailto:linuxppc-dev+unsubscribe@lists.ozlabs.org>","Precedence":"list","MIME-Version":"1.0","Content-Transfer-Encoding":"8bit","X-TM-AS-GCONF":"00","X-Proofpoint-Reinject":"loops=2 maxloops=12","X-Authority-Analysis":"v=2.4 cv=J6enLQnS c=1 sm=1 tr=0 ts=69d00e97 cx=c_pps\n a=5BHTudwdYE3Te8bg5FgnPg==:117 a=5BHTudwdYE3Te8bg5FgnPg==:17\n a=A5OVakUREuEA:10 a=VkNPw1HP01LnGYTKEx00:22 a=RnoormkPH1_aCDwRdu11:22\n a=RzCfie-kr_QcCd8fBx8p:22 a=VwQbUJbxAAAA:8 a=VnNF1IyMAAAA:8 a=JuTF4qcAAAAA:8\n a=pGLkceISAAAA:8 a=gEFjLL80loUrrBp6AGkA:9 a=WlT8qwTXB_Kj6um4hl3b:22","X-Proofpoint-Spam-Details-Enc":"AW1haW4tMjYwNDAzMDE2OCBTYWx0ZWRfX6nUmjs3Y/LGH\n Y0JJNrg5Gl2qi+uOLbHy0dVwzk7uLmawynEkOfhkVhLWkjRUIR92JXfhVE8aop4KGHdPelqxlyl\n f946tFx/u/am4xhi66cpPB7taQOx7U9a8lI9NK1HMPrlKG/cxFbmbyrpYPFGZe7PrQjlhQHF5Py\n 6DmXLkBxrYTAt5GT1bgGN8bLnVoFrKWef6lhJar4sDB3dOxEyt/bYb9RfO6Qf0fOed54I9yHJ5q\n VBGLEgw9WorizkLzBOjG8eGTNz5dKd98U2xwoxTs0ZUNlcUr7m6PBuYxoMocSUzsMRD1KfgrPkA\n 1AmZUaJKrMDEMIXb7dI0H4XGYe88fs7kvPZC51PyHwtxVtTwjhXQGJ4AF093SBspRD67g/CdhJF\n YZ4IViDxUffuFLS72xhTq4DoJKxrkL8BNHSvLTAPV4+DZ55mTDumGg3pidql2cbWhq11QNNJdXR\n ko8Bt48iF1zqm3p5hTQ==","X-Proofpoint-GUID":"gc-R0yRt5PxRsneAIxK3nyaFUvfZXCv9","X-Proofpoint-ORIG-GUID":"ihsgHPd86lqwb0J-KpKTUuI6W_7fqkeg","X-Proofpoint-Virus-Version":"vendor=baseguard\n engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.51,FMLib:17.12.100.49\n definitions=2026-04-03_05,2026-04-03_01,2025-10-01_01","X-Proofpoint-Spam-Details":"rule=outbound_notspam policy=outbound score=0\n suspectscore=0 clxscore=1015 adultscore=0 priorityscore=1501 bulkscore=0\n phishscore=0 malwarescore=0 lowpriorityscore=0 spamscore=0 impostorscore=0\n classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0\n reason=mlx scancount=1 engine=8.22.0-2603050001 definitions=main-2604030168","X-Spam-Status":"No, score=-0.7 required=3.0 tests=DKIM_SIGNED,DKIM_VALID,\n\tRCVD_IN_DNSWL_LOW,RCVD_IN_MSPIKE_H4,RCVD_IN_MSPIKE_WL,SPF_HELO_NONE,\n\tSPF_PASS autolearn=disabled version=4.0.1 OzLabs 8","X-Spam-Checker-Version":"SpamAssassin 4.0.1 (2024-03-25) on lists.ozlabs.org"},"content":"The kexec sequence invokes enter_vmx_ops() via copy_page() with the MMU\ndisabled. In this context, code must not rely on normal virtual address\ntranslations or trigger page faults.\n\nWith KASAN enabled, functions get instrumented and may access shadow\nmemory using regular address translation. When executed with the MMU\noff, this can lead to page faults (bad_page_fault) from which the\nkernel cannot recover in the kexec path, resulting in a hang.\n\nThe kexec path sets preempt_count to HARDIRQ_OFFSET before entering\nthe MMU-off copy sequence.\n\ncurrent_thread_info()->preempt_count = HARDIRQ_OFFSET\n  kexec_sequence(..., copy_with_mmu_off = 1)\n    -> kexec_copy_flush(image)\n         copy_segments()\n           -> copy_page(dest, addr)\n\t         bl enter_vmx_ops()\n                   if (in_interrupt())\n                     return 0\n\t         beq .Lnonvmx_copy\n\nSince kexec sets preempt_count to HARDIRQ_OFFSET, in_interrupt()\nevaluates to true and enter_vmx_ops() returns early.\n\nAs in_interrupt() (and preempt_count()) are always inlined, mark\nenter_vmx_ops() with __no_sanitize_address to avoid KASAN\ninstrumentation and shadow memory access with MMU disabled, helping\nkexec boot fine with KASAN enabled.\n\nCc: Aditya Gupta <adityag@linux.ibm.com>\nCc: Daniel Axtens <dja@axtens.net>\nCc: Hari Bathini <hbathini@linux.ibm.com>\nCc: Madhavan Srinivasan <maddy@linux.ibm.com>\nCc: Mahesh Salgaonkar <mahesh@linux.ibm.com>\nCc: Michael Ellerman <mpe@ellerman.id.au>\nCc: Ritesh Harjani (IBM) <ritesh.list@gmail.com>\nCc: Shivang Upadhyay <shivangu@linux.ibm.com>\nCc: Venkat Rao Bagalkote <venkat88@linux.ibm.com>\nReported-by: Aboorva Devarajan <aboorvad@linux.ibm.com>\nSigned-off-by: Sourabh Jain <sourabhjain@linux.ibm.com>\n---\nChangelog:\n\nv2:\n- Remove __no_sanitize_address from exit_vmx_ops\n- Add a comment explaining that marking only enter_vmx_ops\n  with __no_sanitize_address is sufficient for kexec to\n  function properly with KASAN enabled\n\nv1:\nhttps://lore.kernel.org/all/20260321053121.614022-1-sourabhjain@linux.ibm.com/\n---\n arch/powerpc/lib/vmx-helper.c | 9 ++++++++-\n 1 file changed, 8 insertions(+), 1 deletion(-)","diff":"diff --git a/arch/powerpc/lib/vmx-helper.c b/arch/powerpc/lib/vmx-helper.c\nindex 554b248002b4..57e897b60db8 100644\n--- a/arch/powerpc/lib/vmx-helper.c\n+++ b/arch/powerpc/lib/vmx-helper.c\n@@ -52,7 +52,14 @@ int exit_vmx_usercopy(void)\n }\n EXPORT_SYMBOL(exit_vmx_usercopy);\n \n-int enter_vmx_ops(void)\n+/*\n+ * Can be called from kexec copy_page() path with MMU off. The kexec\n+ * code sets preempt_count to HARDIRQ_OFFSET so we return early here.\n+ * Since in_interrupt() is always inline, __no_sanitize_address on this\n+ * function is sufficient to avoid KASAN shadow memory accesses in real\n+ * mode.\n+ */\n+int __no_sanitize_address enter_vmx_ops(void)\n {\n \tif (in_interrupt())\n \t\treturn 0;\n","prefixes":["v2","2/2"]}