From nobody Sat Apr 18 06:54:42 2026 Received: from CY7PR03CU001.outbound.protection.outlook.com (mail-westcentralusazon11010025.outbound.protection.outlook.com [40.93.198.25]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id B6F7732B9BE; Tue, 10 Feb 2026 06:46:45 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.93.198.25 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1770706006; cv=fail; b=KCA3TzTZ9HciZManpFX5cEAn1tVja9T4cQAjEDt0ZzBL/hEpm5Hb63i2rU3KeCgJCBYfKjRFBiykx4MSUIvldtmHiVyN8Yl7ejxyiMv98Fj8nO1k29IB7D5xDdDV0jo/3MiUnR5b0o3M7cdXue0iYWkd37rSQGgIiQfqkvw8E3A= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1770706006; c=relaxed/simple; bh=mCCiPrOkWFKlkYRl/cMtgB0sMb3XS+w6YNAdEqszdyM=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=b75lhp9+ys3fJdbksoCEOs+jR8HYjR3UEp6ZQ9TRvGlow20HCMVv8vsV7+K02UXDad3OIgI4t1tcfr1q2o3mcDaHVanCBjwoosW+A0qwyztZ/4qeX03iaJCGo62z2CcpHMrUXxz4iITiBewsHaUB/HPiE4ID3Qqjn5GpgiTZZbg= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=nvidia.com; spf=fail smtp.mailfrom=nvidia.com; dkim=pass (2048-bit key) header.d=Nvidia.com header.i=@Nvidia.com header.b=JkJFRKLl; arc=fail smtp.client-ip=40.93.198.25 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=nvidia.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=nvidia.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=Nvidia.com header.i=@Nvidia.com header.b="JkJFRKLl" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=Qcrw7IQe4ytrdu6yqtu7MD7Zq8ngswAwugyDPKPs8aOfPzVi7kMZhf3zEbJls0MHYznXT6Lk5ESphOIYCXhtNEjV8ZdwG9uW1tWe/H8x5YB6yxcqgDM5s5CmQ9XXgsKtnFVC3tpHArT7/1Tj70/FPpynyDufumkeCbRwF6Ms4XJbL7yJmSItqC8r+HALiSreRdpu0Xja34PN3Td8oWiRB5u3KQT13MA1O9jiZn7ZO/KVIV3z49s1LoMn0cHBKhKi/4qAVnq3/iCOi6sckQ6Zg1p6bJBc8do838NQZEvp7q7pqpRvnIKdHC68LWDlrfKsr/alw6/GWiIVEvxSNT7H1A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=554HFNYoYz3HNc8vu/Vf4UqDuGyPs5rZe33zkez/eHQ=; b=a7lIwzqjA7KIW3ROOfgX2xkBSg1kDyqdaqo/A/hGVjF6AEo/6Ffd+AaRAEiL42JBWwyIh4fOPhdjhdZhSPO8PG3ZWxj+19bk/4uWpWl2hXJYl0P++fWTAyN0e8fJoNzTh2ntzba08XV3vYH7/CitFVyOJpU7ZeoBObj3PAmvm9rcVzBohjB9XbEZmZffSrotw592S4uBb/IKWULMoyuBlDK7/UBsCZ0GfBnof8bS0SIlMaAhP3grcfYFGMw6SKKbzfjJGv3Sw8BaIM2Sq1LVuwUG+G57rLiEaWOXfu56pOsFkD8WhNm9ljgWF+IYBNB05/gTf8Ss9OmAyyE5I8OlWA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 216.228.117.160) smtp.rcpttodomain=google.com smtp.mailfrom=nvidia.com; dmarc=pass (p=reject sp=reject pct=100) action=none header.from=nvidia.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=554HFNYoYz3HNc8vu/Vf4UqDuGyPs5rZe33zkez/eHQ=; b=JkJFRKLlKKNcNneSWEzkbxCz4nPY/PIKUPwfFT5TFGIwLU0bwVQk2O8npWHv56wEKkCvq+GiIdz8AmFXoNAnQRtsSrhCFo8icfQCfE7mWxzc7fNEBH5nkN9iSrsXs1R2HZ3CBMI6Htan6mkqBKZdfv9pLZs1CvQOZ9GEygI8bzbJSjc5qGVxOz8CDwFLBRjd7hzPcHS3nj/U95TzFk/zi64eIc4WTwTepZtSB/a/90auuJ1t32QvLvNP1K43aEODhXs3DCT8ap+Wo5MOS2FsiyMA6aY8aQbJ12WlrPFKiSe69NzKMQ53Ix3Hayg/uwBeGMC5xbk4dHyTEDaePAVP9g== Received: from CH5P221CA0002.NAMP221.PROD.OUTLOOK.COM (2603:10b6:610:1f2::27) by SA3PR12MB9198.namprd12.prod.outlook.com (2603:10b6:806:39f::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9587.12; Tue, 10 Feb 2026 06:46:41 +0000 Received: from CH2PEPF00000147.namprd02.prod.outlook.com (2603:10b6:610:1f2:cafe::5b) by CH5P221CA0002.outlook.office365.com (2603:10b6:610:1f2::27) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9611.8 via Frontend Transport; Tue, 10 Feb 2026 06:46:42 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 216.228.117.160) smtp.mailfrom=nvidia.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=nvidia.com; Received-SPF: Pass (protection.outlook.com: domain of nvidia.com designates 216.228.117.160 as permitted sender) receiver=protection.outlook.com; client-ip=216.228.117.160; helo=mail.nvidia.com; pr=C Received: from mail.nvidia.com (216.228.117.160) by CH2PEPF00000147.mail.protection.outlook.com (10.167.244.104) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9611.8 via Frontend Transport; Tue, 10 Feb 2026 06:46:41 +0000 Received: from rnnvmail201.nvidia.com (10.129.68.8) by mail.nvidia.com (10.129.200.66) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.20; Mon, 9 Feb 2026 22:46:26 -0800 Received: from rnnvmail204.nvidia.com (10.129.68.6) by rnnvmail201.nvidia.com (10.129.68.8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.20; Mon, 9 Feb 2026 22:46:26 -0800 Received: from vdi.nvidia.com (10.127.8.12) by mail.nvidia.com (10.129.68.6) with Microsoft SMTP Server id 15.2.2562.20 via Frontend Transport; Mon, 9 Feb 2026 22:46:22 -0800 From: Gal Pressman To: Sean Christopherson , Paolo Bonzini , Thomas Gleixner , Ingo Molnar , Borislav Petkov , Dave Hansen , , "H. Peter Anvin" , Naveen N Rao , , CC: Gal Pressman , Dragos Tatulea Subject: [PATCH 1/2] KVM: SVM: Fix UBSAN warning when reading avic parameter Date: Tue, 10 Feb 2026 08:46:20 +0200 Message-ID: <20260210064621.1902269-2-gal@nvidia.com> X-Mailer: git-send-email 2.52.0 In-Reply-To: <20260210064621.1902269-1-gal@nvidia.com> References: <20260210064621.1902269-1-gal@nvidia.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-NV-OnPremToCloud: ExternallySecured X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CH2PEPF00000147:EE_|SA3PR12MB9198:EE_ X-MS-Office365-Filtering-Correlation-Id: 60f13811-6bb8-43ca-01cf-08de687025f3 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|1800799024|7416014|82310400026|36860700013|921020; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?jYR2HUqiN2U56qsePTQ8OojfcQZNW/5q0w03KZ4kBoYMQ+KQnNR3iG5wXgxL?= =?us-ascii?Q?CRs33qp2fPZ3CKAjaoBZ+iR6OEfoa/w+SHmsyxECYEdpT/2S75acXSVkP1gF?= =?us-ascii?Q?LohOZGmFDJ9xGUj+IbdYUlVkYmSWqUvOereUDuCRCpvDih5GWjJr/7Ph5vtF?= =?us-ascii?Q?2kX0DudGzdDuH8hx/lBIj7oHmJpK69faXBfmzzs6kz0zbgmKkJDlGolgpfzY?= =?us-ascii?Q?6nLPdc6ZCMYxUftwTftaIAk+WoFYnx6cxu2lpyyhFOR95JW58QiVufxL9rOf?= =?us-ascii?Q?WM5T9kOrfD0+Kq522uGtib1EbaFqRbU5PQoN0XHSuu1IL2bEH+IDVtid6sHf?= =?us-ascii?Q?DIEwAflrImVC0VntUrDPZS8Jp8UTkxfDDUI4TOvIsvMRuOrrkjpf4miYe+oI?= =?us-ascii?Q?Jv6V0F7PIQDSm2LKx9nseZzMsGBINlBfQ/gRxv68eM/sgKS8IkOinTsFrxsi?= =?us-ascii?Q?qfSOS5+Jp/E5d8ezv/66xGjSazJqiIo/8EPQrWotbNuhKYpKkBB6gkGW4EqO?= =?us-ascii?Q?aaZ0JTJvpmtumpZN4OVRU8c3LRmnnpm8Qy3EPgkI5eMVgnsPt1Y9Sz0p0KKF?= =?us-ascii?Q?+Ac/yxMi0Xg0Ki89etXOl8ifqGqwXFJAuvt4wQD6fdSBQAL1ULhRKv7+5uxm?= =?us-ascii?Q?qZriOaQ3UzKUCIyKcARadfJH4qSnY+dCpS4g1lVn9/X1MutwC3dsYU2lecXe?= =?us-ascii?Q?mD8JuyWSGiIiBGFvzBhuhukraN5qQ0xuEN9Ae2R4/ArtmnGtEFbnoT6jBvNS?= =?us-ascii?Q?8QOhDXTO5eFW0/NdyVQOk9Lj1hd7u+s2AjOv5qhtBVmMKq4GdnAx0780MOoE?= =?us-ascii?Q?sivO08R4Lqn4xcsPMK7nmjKEKwdfHIJUj0D/XVRrpop5M1WrJvTIexJJwTAQ?= =?us-ascii?Q?0M/AHsffgb8S3m//AULo8mQ/dDnPD0fCAbZvGP+Ibvuga80vCT5tmfiyRPA/?= =?us-ascii?Q?Nn3yfgJR4kaSy4aMu+zu641agB62voViTl7FcOnZFt4Kh7jUY8CdtiGcmc2P?= =?us-ascii?Q?qgPXURipAP7i++/m26xK17obr3kXkoeTsrgU6spVyRtBLBVC8HRQhEdW4XXn?= =?us-ascii?Q?1zvoLnbQtvjMUKeSiWrKnbJD/T1VZUKM02DG9a5I4Lj2AEOCAoAUMyYIyF3F?= =?us-ascii?Q?BHRElnY3yriL77U+c7srfMxIi05ElSlOiyULip0Z847Ufai4CMez304z4PXL?= =?us-ascii?Q?DCnDdnU66EC/JVFkD1bFQxOu97UILlldJ7ExolzGFbBw9NX1xUFEBQpvGnHI?= =?us-ascii?Q?H4Y6l5G7IotOTeu/cIbNvrorjOV68QpVFasWtcJxHJf4/fdvhi0oeH5FXLjm?= =?us-ascii?Q?kphlQ1SUJNIGm+BWvFQWx9+RJwRae1+3kztALy8IACijpQcbhlRFp3ttAk3V?= =?us-ascii?Q?V6edkOp76RXRD5FxICsDaU+6T4wrjrjOwnB5AHh4AFHvbNQA/9l3nfw0MrK3?= =?us-ascii?Q?GL0YUPyRkBXRSbS1mN736DR6mFHdrV8F6uN7JQsiMXsvKSB8zH0iazHXJ+m1?= =?us-ascii?Q?kr1TaWPUrmxxf/KMxVUTNSLTQ7AbQQK+mKUG+GOo5OG88YzoHdb/IGf1Zmos?= =?us-ascii?Q?QpqKHttlLAI7jY0fizjXhohvHDqGBKsgSzosAx4jo58kKdLhxQV+jWw4q/JL?= =?us-ascii?Q?cPIF0RXGfnYAxbmGbCjtPA3Hg54Gld+FA4ECOsonioz6tQx60AmhyeZxpa6+?= =?us-ascii?Q?pc9HF1WIosoh8kG6EstnK+hIBeg=3D?= X-Forefront-Antispam-Report: CIP:216.228.117.160;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:mail.nvidia.com;PTR:dc6edge1.nvidia.com;CAT:NONE;SFS:(13230040)(376014)(1800799024)(7416014)(82310400026)(36860700013)(921020);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: gA0BLgdkBM6eGYwPbsSZGK7i2E4ofEHA6MKZ4EdtPnsapKialuTrQjLMGFFXG2JtpYKG5uQrkvPzfOaSWrkxH/Yaz+n+x/f3QjtGBhbhz3x8h03h+oeSRD1o+2yHbxs/5DdmzE4RdYIp4ACZQ5OhrEe4HXAk90rzxQR7GJOhkm9fkhOOGtoDh+QGdYIIPnzBuS1BBVO+jGg6ga1KnzftGW2y63Se+PvEq3tgnfI80WGMq7ySxTt0T+rSYcu85seIZ3Lt7Sv/EWMJO2kc6OmdCIZr1g3E/BY9xY8sxAhJbPlLACuQ2eIc7j0y1p4BQe5ASguA86ejl7iN7XB91EZkjKGQnJZb13AR6W7JucW5aBQR3qtSKcCKUgeBoQ/W0VKi71LTVxZzkebd/zO6ABlkT7MgcsZRZFn8qRq3F8Tn3RipoCfLj8jmtdU1cwzKRBGA X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Feb 2026 06:46:41.3844 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 60f13811-6bb8-43ca-01cf-08de687025f3 X-MS-Exchange-CrossTenant-Id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=43083d15-7273-40c1-b7db-39efd9ccc17a;Ip=[216.228.117.160];Helo=[mail.nvidia.com] X-MS-Exchange-CrossTenant-AuthSource: CH2PEPF00000147.namprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA3PR12MB9198 Content-Type: text/plain; charset="utf-8" The avic parameter is stored as an int to support the special value -1 (AVIC_AUTO_MODE), but the cited commit changed it from bool to int while keeping param_get_bool() as the getter function. This causes UBSAN to report "load of value 255 is not a valid value for type '_Bool'" when the parameter is read via sysfs. The issue happens in two scenarios: 1. During module load: There's a time window between when module parameters are registered, and when avic_hardware_setup() runs to resolve the value, where the value is -1. 2. On non-AMD systems: On non-AMD hardware, the kvm_is_svm_supported() check returns early. The avic_hardware_setup() function never runs, so avic remains -1. Fix that by implementing a getter function that properly reads and converts the -1 value into an 'auto' string. Triggered by sos report: UBSAN: invalid-load in kernel/params.c:323:33 load of value 255 is not a valid value for type '_Bool' CPU: 0 UID: 0 PID: 4667 Comm: sos Not tainted 6.19.0-rc5net_mlx5_1e86836 = #1 NONE Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS rel-1.16.3-0-ga6= ed6b701f0a-prebuilt.qemu.org 04/01/2014 Call Trace: dump_stack_lvl+0x69/0xa0 ubsan_epilogue+0x5/0x2b __ubsan_handle_load_invalid_value.cold+0x47/0x4c ? lock_acquire+0x219/0x2c0 param_get_bool.cold+0xf/0x14 param_attr_show+0x51/0x80 module_attr_show+0x19/0x30 sysfs_kf_seq_show+0xac/0xf0 seq_read_iter+0x100/0x410 copy_splice_read+0x1b4/0x360 splice_direct_to_actor+0xbd/0x270 ? wait_for_space+0xb0/0xb0 do_splice_direct+0x72/0xb0 ? propagate_umount+0x870/0x870 do_sendfile+0x3a3/0x470 __x64_sys_sendfile64+0x5e/0xe0 do_syscall_64+0x70/0x8c0 entry_SYSCALL_64_after_hwframe+0x4b/0x53 Fixes: ca2967de5a5b ("KVM: SVM: Enable AVIC by default for Zen4+ if x2AVIC = is support") Reviewed-by: Dragos Tatulea Signed-off-by: Gal Pressman --- arch/x86/kvm/svm/avic.c | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/arch/x86/kvm/svm/avic.c b/arch/x86/kvm/svm/avic.c index 6b77b2033208..48de0f475ca5 100644 --- a/arch/x86/kvm/svm/avic.c +++ b/arch/x86/kvm/svm/avic.c @@ -19,6 +19,7 @@ #include #include #include +#include =20 #include #include @@ -76,10 +77,20 @@ static int avic_param_set(const char *val, const struct= kernel_param *kp) return param_set_bint(val, kp); } =20 +static int avic_param_get(char *buffer, const struct kernel_param *kp) +{ + int val =3D *(int *)kp->arg; + + if (val =3D=3D AVIC_AUTO_MODE) + return sysfs_emit(buffer, "auto\n"); + + return param_get_bool(buffer, kp); +} + static const struct kernel_param_ops avic_ops =3D { .flags =3D KERNEL_PARAM_OPS_FL_NOARG, .set =3D avic_param_set, - .get =3D param_get_bool, + .get =3D avic_param_get, }; =20 /* --=20 2.52.0 From nobody Sat Apr 18 06:54:42 2026 Received: from CH4PR04CU002.outbound.protection.outlook.com (mail-northcentralusazon11013029.outbound.protection.outlook.com [40.107.201.29]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 6AAB032B9BE; Tue, 10 Feb 2026 06:46:52 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.201.29 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1770706013; cv=fail; b=fv/3qjfL2/3GZk3oC/Q28H3pJsy0bi/wynq7SAvHyTteRQ3HggTnTVKsnFr/gnRTOU8K6E8Ai3glNi1QbQmkTtCDvmfTALnrT11dG3lgpEv5AEietUnths2KGS3NoQIm1DyvNqVDZ+jhRvt8YEuG2zP1s7G39cIFHWwJtaGKLP8= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1770706013; c=relaxed/simple; bh=Afut1vXkjmusQta3QeUKzUAIYhtZAaJj3tvU3W/UAE0=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=kbTGKuiTF2Y6htJg84Q0YxfDCyXp/7NtgASc2MPH3rv4cnsDV+RjEka0iK8O79awOvhFIFqaTwRZ7cvtpDaVlBoOylWSc4gbRfKhjkNI4ukDMk8jYSMc8NHbyQPvjO/pmCcMoE59kHPwsdtaYEVXjZPNewpuYY6mN3T7aJHZsM4= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=nvidia.com; spf=fail smtp.mailfrom=nvidia.com; dkim=pass (2048-bit key) header.d=Nvidia.com header.i=@Nvidia.com header.b=sR+wfU0K; arc=fail smtp.client-ip=40.107.201.29 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=nvidia.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=nvidia.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=Nvidia.com header.i=@Nvidia.com header.b="sR+wfU0K" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=Y+dQmkBaOu6jsjH01MW/zpNB1C1pjRdGsymMlykt1yCkGhuX5xjuLXuwHbK3AcQJlpYgR9a9E/wZu2PeILLBSl9ZItdy486UoKuNtnm/MWL2K902T5oHvhbASO9/XEvK3g/zx8Q5eHAhTpwpkC+yYutFexuao1t/lwAjF4xAFTgCD5cQaQI+yyMPpe2qyBBrhkZLzsp6NwgrVM/a3f1E2VmB2WN3zyz+h1ikGI/oyycnJGeNP+8Wad9rZ41W8YEn0J1ZMPCC8uw7n85ZvxURmnSMXUZRYAQYvDRJ4cJLdxhFhRrwQMgX4yn7VuXg6r4S6LqXfiPkR7z0/eXn5c1hQQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=LsIYeZy3yDAHmuO+F9eXH6KS5suYQ4Nmpa+ELTJiK7E=; b=X1s7VnhqSH10UlR+xSI3yXtfidmDfQ7hLY2g67IM6gl8bcwYqnP2Z9T0M3CC1ekaatCiCbq9oZ4NI0BoEUme2ZJjPbJ3HvOF2/7YiO2/h3/0/Hh8/RM7bR3F57yy4wiAhAKFKYr3sqLU42R7uGCMcCdkVZjLe2cazf+z7rBV+RchgrakJmu0RHfSz+7TIVQiQLmLTGxESUSrTvPg2K7OvL5bNhbyuR07WT1uMVrsPodgnrepA43lO2JkS3PGEvnHN4RvviW/2PzaJZwBMqbYTBl/6pjJ6z3v+GLKvVZoDbhpO2ouy7F/euv8nqXtHHtmNTbhxVKb3qrlrIlnplH00g== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 216.228.117.160) smtp.rcpttodomain=google.com smtp.mailfrom=nvidia.com; dmarc=pass (p=reject sp=reject pct=100) action=none header.from=nvidia.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=LsIYeZy3yDAHmuO+F9eXH6KS5suYQ4Nmpa+ELTJiK7E=; b=sR+wfU0KgjEUG6+xqMskAwD03Lz0QJ1l0LlEInaG4ywtJEylNROjR0Ls3prDb/CcdYzCfIXSLsVZE0pwuBYk0EG4ZKoNoc3M8W6E2oLLo2Sv5CS9ltu6ZuakoerqSj4CBkqhsiqFQUvq19wE105A8SKoswyTOHNyMo+UlpWfCEhO48XkQRlUCYm9Hq0KdFbBE6a7627bhdIL+qVk7hpV4mxUKsSyhQh/npTCm2aqBSU5wk9v7YUDRlzRwpJeQlfQLyMyi1jmBxPg1fsSjdWKPWBPCBV4Xg7N2Q+KoFeWNiwL4P6LPsdmwNnyDsrPY5QbtrrhtLOUF3S3eUeG+33BPA== Received: from CH5P221CA0013.NAMP221.PROD.OUTLOOK.COM (2603:10b6:610:1f2::10) by MW6PR12MB8867.namprd12.prod.outlook.com (2603:10b6:303:249::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9587.19; Tue, 10 Feb 2026 06:46:47 +0000 Received: from CH2PEPF00000147.namprd02.prod.outlook.com (2603:10b6:610:1f2:cafe::47) by CH5P221CA0013.outlook.office365.com (2603:10b6:610:1f2::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9611.8 via Frontend Transport; Tue, 10 Feb 2026 06:46:45 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 216.228.117.160) smtp.mailfrom=nvidia.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=nvidia.com; Received-SPF: Pass (protection.outlook.com: domain of nvidia.com designates 216.228.117.160 as permitted sender) receiver=protection.outlook.com; client-ip=216.228.117.160; helo=mail.nvidia.com; pr=C Received: from mail.nvidia.com (216.228.117.160) by CH2PEPF00000147.mail.protection.outlook.com (10.167.244.104) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9611.8 via Frontend Transport; Tue, 10 Feb 2026 06:46:46 +0000 Received: from rnnvmail202.nvidia.com (10.129.68.7) by mail.nvidia.com (10.129.200.66) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.20; Mon, 9 Feb 2026 22:46:30 -0800 Received: from rnnvmail204.nvidia.com (10.129.68.6) by rnnvmail202.nvidia.com (10.129.68.7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.20; Mon, 9 Feb 2026 22:46:29 -0800 Received: from vdi.nvidia.com (10.127.8.12) by mail.nvidia.com (10.129.68.6) with Microsoft SMTP Server id 15.2.2562.20 via Frontend Transport; Mon, 9 Feb 2026 22:46:26 -0800 From: Gal Pressman To: Sean Christopherson , Paolo Bonzini , Thomas Gleixner , Ingo Molnar , Borislav Petkov , Dave Hansen , , "H. Peter Anvin" , Naveen N Rao , , CC: Gal Pressman , Dragos Tatulea Subject: [PATCH 2/2] KVM: x86/mmu: Fix UBSAN warning when reading nx_huge_pages parameter Date: Tue, 10 Feb 2026 08:46:21 +0200 Message-ID: <20260210064621.1902269-3-gal@nvidia.com> X-Mailer: git-send-email 2.52.0 In-Reply-To: <20260210064621.1902269-1-gal@nvidia.com> References: <20260210064621.1902269-1-gal@nvidia.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-NV-OnPremToCloud: ExternallySecured X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CH2PEPF00000147:EE_|MW6PR12MB8867:EE_ X-MS-Office365-Filtering-Correlation-Id: 98824655-f9d3-4fa1-f7fe-08de6870291c X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|82310400026|376014|7416014|1800799024|36860700013|921020; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?ICe/+cmB4UFL/Sif3iuTQx8SrfX84+u28QpIdFwmmcaiEEyZ20xrFg6Jmy95?= =?us-ascii?Q?hMST8RIGXyHOAY9YANYUcLADpMxsThhIhu1MYK/ZR5uRwVfyrM3nFSEUv9wq?= =?us-ascii?Q?x4PxwfMWmr/1Q2f/dHI9MBFgmMAc47DwU9cE1QKSYNePvNmrtAK2boMSzFG1?= =?us-ascii?Q?uzcA93wW5/QWdyNZM/jPLnDVBfjwJZHkYU4OtR9brHv75uQ2jWeuiz9yuMn4?= =?us-ascii?Q?OScwywshjn2yDNr9zNUoOVx4ETx5Had0hIWM9TcN3QaG/pR2ffKfy0bHSTkG?= =?us-ascii?Q?rsF3R6JRFAL8cP9lAwn+GKpsDJV6qfuXooFmE9M1/h2Mct8V68CvY7IJqpn3?= =?us-ascii?Q?Pc/gs8nYp7VFSnQ4LP2AxV45JwObGJzgyAYRyg5uvC5M969hm85tTw1A9un9?= =?us-ascii?Q?YYJhItND0rZQTVFegj69FmQHgahoW8is7FCVaLgSjMKG4LlTEadFyMj+OWm8?= =?us-ascii?Q?7+UdhobSP/0XZtvtAb018bHz/IKaJv7WrUlVYmxD99YgCbLaJwH5T//N8Bqh?= =?us-ascii?Q?1TMkqOoNsjc5h/aZbU11GUuIzsV8HP4fDTax+4MFOuODj0KErfPeFTpufjNw?= =?us-ascii?Q?G8R0V6bF6zC0tDfoZBpBRGNwe7w4f5h5xLMGgkg0dYa3/wqOaBXUyCivaSLu?= =?us-ascii?Q?WZab6d7GTM9OYkVmhGnriqtjs7QBxyQIsCzhY/R2cCimvH4WpvLk4JLNH78o?= =?us-ascii?Q?hIeNqYGskQ6/Fl31QyToGIib3M+FnX5YrFbSj7+jo8G+KnWQxWNTKbC56KPA?= =?us-ascii?Q?ifgiJKlR5J/YeV5gzIw2YwtQGXMb1o0JA93qsNsjQU6X/jKv/zO0nTh/swF2?= =?us-ascii?Q?FLN+CG7yzyModAVCDUUe+22AZPtEHa0XqQqgVxJ4pXleAt/DDaTGszMCNdip?= =?us-ascii?Q?g1XVBOj9pbdhoa835LZd0JLbJ9c1xpOY2FqFzUAZCzebJ+oTvVM+rXRTZ4Rq?= =?us-ascii?Q?RhaPB1FScSsAdbhowGwh85mbza5+TW5hCfHbVkrazAaruVHky6tSeiaY3XJ7?= =?us-ascii?Q?HkYDDBff+r2jDbYuguYf+3ewC8g8d7Y6fKNJ/6MrxxAnizgzJjI8kXSLpwtG?= =?us-ascii?Q?WQHo483TtvPOadK+Bbh8Cu5B9P1lLjvZSsLUf2PB4X/KtryWHfDFiyWDTa6K?= =?us-ascii?Q?9kvK6CKAwVHmRci6Bp9hNzAsewM2ZWAXNbOv2OCA9l/yBmUpel/JMAB2Ha5S?= =?us-ascii?Q?Ymeegb26PSil6e23wkQm04wpqL/JuIkVBSVTLhpMOWjwTVYlLEWGHTfZjFap?= =?us-ascii?Q?VcuGuuUCZW1x0x2UYSe4Fv7Lo8bQXNeLYUSH1lZe0Ed+H+aBzbVX9eAQZmBA?= =?us-ascii?Q?2dV/YGc5i8J5oFP08RpNhxiXwKoof2+IuojLdxxKQml3nALKkXIN0gWW7yNw?= =?us-ascii?Q?uwW5P8cCqtJH/Wo4KUyqZr6496H11SIKQNvctvw3cGSpJnq9DNFkW0jabE+j?= =?us-ascii?Q?IPIa6xQyrup7Pv92yJcj7nd6okdu3+ZyJn3PJttX5ticciOcGJERC0HSC7L8?= =?us-ascii?Q?mJ5W3iSy5ZuczmmJhVQPSWczRG4dRzUyW5goFwWiaSd0zvZ0Zw0ZOtCWLlvq?= =?us-ascii?Q?WtGN8Mmex67vRqGX2pTzDaq/83vFJf2kbz0Sdmlvq9bksKQhhNc26k2jPNAe?= =?us-ascii?Q?CIqQxPX3WZac1DoGCYWpBFViQn5zUupTIJUrf834q4J0cy7FAV/XErDUeuUZ?= =?us-ascii?Q?833m7pj7W/ueRCR3IMCiVcdpa8k=3D?= X-Forefront-Antispam-Report: CIP:216.228.117.160;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:mail.nvidia.com;PTR:dc6edge1.nvidia.com;CAT:NONE;SFS:(13230040)(82310400026)(376014)(7416014)(1800799024)(36860700013)(921020);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: pVTao3qzfGl2pz4YU/3b5WeF/TxBboCjQmaqO7BEtxi5TSJNxhQCuZgDyBtbVYd0tt3nI26rfSlCGMJTbZo5H613qzaEqUv+hYk5mlA3gQdw6NSlJOWdsLgirdhUA3KcW/dY0V3e8Nnf0i8addwwEYW4FTv0sQTqf7ZslATKbpsPjShMyDlvidjyDPwYMuahOSiB3eYGsvd/Ogan7Q5Tw77QkbPM/HSoUnzHlBwjF/WNwpO7AqtpH72Hz/kE+E7zAE7km2UonTNdNaZrrCbXYH8zwXC93WznWsYwR+lKIBkL8353nFj4BQ0gLnBqqCSLyEm3I6ymGZ3dCtlGAY/B4VZjb087j7o7B4SwC0x0/frmvEVJyNn4CMciNYRm69gJx7EydGd5KHNo2lWqdDanQkhyV5sOS0EbzeELKzDg9PE+/QZ3uDdhfI7qMbAUU43S X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Feb 2026 06:46:46.6977 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 98824655-f9d3-4fa1-f7fe-08de6870291c X-MS-Exchange-CrossTenant-Id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=43083d15-7273-40c1-b7db-39efd9ccc17a;Ip=[216.228.117.160];Helo=[mail.nvidia.com] X-MS-Exchange-CrossTenant-AuthSource: CH2PEPF00000147.namprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW6PR12MB8867 Content-Type: text/plain; charset="utf-8" The nx_huge_pages parameter is stored as an int (initialized to -1 to indicate auto mode), but get_nx_huge_pages() calls param_get_bool() which expects a bool pointer. This causes UBSAN to report "load of value 255 is not a valid value for type '_Bool'" when the parameter is read via sysfs during a narrow time window. The issue occurs during module load: the module parameter is registered and its sysfs file becomes readable before the kvm_mmu_x86_module_init() function runs: 1. Module load begins, static variable initialized to -1 2. mod_sysfs_setup() creates /sys/module/kvm/parameters/nx_huge_pages 3. (Parameter readable, value =3D -1) 4. do_init_module() runs kvm_x86_init() 5. kvm_mmu_x86_module_init() resolves -1 to bool If userspace (e.g., sos report) reads the parameter during step 3, param_get_bool() dereferences the int as a bool, triggering the UBSAN warning. Fix that by properly reading and converting the -1 value into an 'auto' string. Fixes: b8e8c8303ff2 ("kvm: mmu: ITLB_MULTIHIT mitigation") Reviewed-by: Dragos Tatulea Signed-off-by: Gal Pressman --- arch/x86/kvm/mmu/mmu.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/arch/x86/kvm/mmu/mmu.c b/arch/x86/kvm/mmu/mmu.c index 02c450686b4a..3644d1db8be1 100644 --- a/arch/x86/kvm/mmu/mmu.c +++ b/arch/x86/kvm/mmu/mmu.c @@ -7488,9 +7488,14 @@ static void kvm_wake_nx_recovery_thread(struct kvm *= kvm) =20 static int get_nx_huge_pages(char *buffer, const struct kernel_param *kp) { + int val =3D *(int *)kp->arg; + if (nx_hugepage_mitigation_hard_disabled) return sysfs_emit(buffer, "never\n"); =20 + if (val =3D=3D -1) + return sysfs_emit(buffer, "auto\n"); + return param_get_bool(buffer, kp); } =20 --=20 2.52.0