From nobody Tue Apr 7 12:20:30 2026 Received: from CH5PR02CU005.outbound.protection.outlook.com (mail-northcentralusazon11012046.outbound.protection.outlook.com [40.107.200.46]) (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 AF1683C1976; Wed, 25 Feb 2026 14:51:15 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.200.46 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772031077; cv=fail; b=EwoLATZyeQ8qWcJYtUdAXQqVR45Mw41Q9hdkj2UwuSNW7cWjP2m8WZJ3/Km8it1ET0hE+sZoiJ7kSgy9LEc1f3BzOt37jiQZllMpihdlOvSEa/0hL4TDKohezC4eqOaKN5yPRjFV6sM9uglXuXrLApnT30H6NncwjzZvpqdRf+w= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772031077; c=relaxed/simple; bh=l6M1YSj2btJD/tJeAXRUYENChtVtiyiy6tASJWIVFlw=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=unNZMKBq7hcTbPXiRR59ufhTAbDuC0HIzpgqc0t59MLpf1OLD8ljZ6Se5JmhHTx7VuQyo4BfNTxKUDWa3M2E+c4liPBZH59g+URAFXDM+aYgAzvlNX9dkSaVMKApZ600noyRMxyAhtdLMJ+y9QwvbG3dC1OcOieGQ55Pv0nc6BA= 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=h12SxxhR; arc=fail smtp.client-ip=40.107.200.46 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="h12SxxhR" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=KBXWtlQZeky//VXnqzvz6g6FftqMwZ19dTtbZcRUsSgDnH72zTzmJc3Ih/BObkglTw6L5i6h7mZ+sisWMbRWdkleZQIqOWcedYXvvc0ufskpfyTLfxm5x8VcHlHIsiPMzqVF8v3wLTk/NsHJokxYTrFL9Zso0wHWl8xJGnGl8DQoXc0IyEJCSwWNftVMPvwqrDAkquXudY2I3vS1nv9YIaa6HauaPF2pnS3rihVAM2CODn12j6J0Cs4sncPWiuzOPxU73looeaHNDNZtjIo7TBAqHqyq8pbbJYAfzxp8hzCa0SeYeL2uyN92RDZkVSwYooExhXFwQLgvKFcspAlxXw== 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=tQ4XvNxSQHTcc8kEhPX6i8EcWp20TVEn7O6jme70yTM=; b=VEBNrum808zFvXD+V2L7Ft95IPUH3BevBNyagsFXQwns37JkJ+CopB+yuppacKqylaGLH/rf3vFq7tBOEtBe9wnzIIVv8aT8zHfy1ZXZ8ZUVLUUFX3oYTIzel5uVFXMZvEj1ZWkQbDl+HcpwIgXbCWlAfbzk1MczNfZzRvbhPHEdzAJ45ATfiwueorF+KakVxtEzNqJl4wKs83eo6d7IDry8hrX2TZEL+4J0z47st6f0/c+H5/fm/4kvsLNXu0SzZPSL6uMH3GNFV5F0FeeQiYnM5koh9yTEgWK8z1Fv2Bg+9rEp19JTN2/zWH7KOVqUkNCh/RUrGt2cYYUe7GlRYQ== 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=tQ4XvNxSQHTcc8kEhPX6i8EcWp20TVEn7O6jme70yTM=; b=h12SxxhRk7rfxsf/fKTfgxeVjb3hFgCJFYVsgHuZ1zCPIUS3CfOlBVykM/7Vp6eRSJByneor773g/diB5ochxcIQPG5vmGpotxNbTwL+7xbH2NwtjMI7t3FgyLwjRJuBsDn8giLZw7VAkSI1IGBK7iSV55xtmk3nMHTx45fpJvM45KP08ZtmEYCShJ34NjrYJ2KKexZ66Xzhy2nvjokUMD3fgWBzGW1QZ/FVulK5/Wihi9EZn8fyueDZGXICoLGiOm2aN0b5H7Gq6ZRv78LwrB645ButS67npWIKK9eDO7rf6YHkR/rdjzeQcbBvj945gCR80xCXaz2H/lQ/n3T6TQ== Received: from SJ0PR05CA0164.namprd05.prod.outlook.com (2603:10b6:a03:339::19) by CH2PR12MB4327.namprd12.prod.outlook.com (2603:10b6:610:7d::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9632.23; Wed, 25 Feb 2026 14:51:08 +0000 Received: from SJ5PEPF00000205.namprd05.prod.outlook.com (2603:10b6:a03:339:cafe::c) by SJ0PR05CA0164.outlook.office365.com (2603:10b6:a03:339::19) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.9632.22 via Frontend Transport; Wed, 25 Feb 2026 14:51:08 +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 SJ5PEPF00000205.mail.protection.outlook.com (10.167.244.38) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9632.12 via Frontend Transport; Wed, 25 Feb 2026 14:51:07 +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; Wed, 25 Feb 2026 06:50:47 -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; Wed, 25 Feb 2026 06:50:47 -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; Wed, 25 Feb 2026 06:50:44 -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 v2 1/2] KVM: SVM: Fix UBSAN warning when reading avic parameter Date: Wed, 25 Feb 2026 16:50:49 +0200 Message-ID: <20260225145050.2350278-2-gal@nvidia.com> X-Mailer: git-send-email 2.52.0 In-Reply-To: <20260225145050.2350278-1-gal@nvidia.com> References: <20260225145050.2350278-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: SJ5PEPF00000205:EE_|CH2PR12MB4327:EE_ X-MS-Office365-Filtering-Correlation-Id: 1b13bc6a-ade8-4e02-6409-08de747d4f1c X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|82310400026|1800799024|36860700013|376014|7416014|921020; X-Microsoft-Antispam-Message-Info: 6YjCqza5pzh1g0d91Mw7C05F+nLD5Lq5hkLAKbsIhUOxnp5Twa8BQXeas1RX635eyvgcdEFN9y5BB5TBNtiSfYn7je01y2tyZaRhxBTgrthuDuWDi6KBYzEJvFQ6WA3TYtU+NYIELV6Z+MfxpeuUPpxQFiTaJqYlDGOyeYKDbVi56cJvqIX6ylW7dJzjyL+SJjn70rU1ig2QgfJ9mBt4eYKQDcx9Vg0IDa2EdO4FZ6ud5sArrIsCAzVmvw4swKm+/wQv/DmeBJL+RSgAWHPa0WqAeZRuJagOXhsTxsGFF/tSRfcIoB56LXt9VnOhBpXWPemu2mNB1WS0drVVjPN7uUqvSH1VlM+KyZQ3kUOQnE88fvts8Jbtk+PK3Qnm4CtexubYqYQcsMY59BwaPa/3y5iYuYxEfengcOEJPZHSvc86kz2B9P5278P8+j31Xuia9n+rsCIkbDuyY//0Ggj4HNQfT9F5AirwcLD+wlsyX/FNSP/Xo88ipFsJrrVnUaSy5yc3p8FgqaAJnp6A0C6uGn+F6R+LiWNdpqO2MHJWj4qrz7xKzYXU2t9+Aq3blRnUY3j1SasKFBNZlgJ1YwCFCKjf8NB8ChVu2vqfYQVvaFi6I6vEfbXoUPvNZEuXP51P+MeBaDbTx9zm8m/jXxM61fjeredFwT2vsgyz05PM9CKy3W3BTkAtD0uJTH4q6wqm4+c4LFVHNsq09aDkdntBFuOxGx//LZMwmuXgGvr1OZ2bA525WQLUz7tJGLgpyXihxLyTsUSYKIc8+dDpB1MSAN3S2y2FvxLu92YP/zVsHVfir+6QnFWp+IJ3FsXS6Jn+2cCD9HBS1705DU3GzKZAw6flleHiX1gzc8Mo+tkhQXE= 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)(1800799024)(36860700013)(376014)(7416014)(921020);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: mL+ufT8Y1T4lE0vvcHWGvqnRyKJECdZfKgXu57yHIlEgdS4Dm3DkqAeBio8zQaGEu9xYpBHyTONq9129BMEo7A13gq/baafsxY4VOCxzNC1Fi8cThQ3/lB4TPhibZLAYPxezi9xe8PU6p2XK3r/s9CPRDFJ8EUIYwaTQft6P36roOpGT7eSuk5mRC/rZ7OhIzSKwsJ1CXG69PRjqJAhSOaPgCzuoHEVdnVhv8BvSkqwQN+Gr/PjoV2IZckRuzC6h2S2OEFhOjpa4NOQJMwzPaeM2zbCviBm0ZD3QhErBtizKHCgTfP+9uLWxUenRA+ZzjNYAySGau8uzJtCqNE0pWnO1FGpXuGQuCSMkqLoNtxKZsJIJaiY6IOIMoyUsF/wCPzMxFVFXkckXiQfAwIhmbN/DCDHFKK5ttkP4n77xoEM+RA0KiztZWZrKnWqiTEWC X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Feb 2026 14:51:07.8869 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 1b13bc6a-ade8-4e02-6409-08de747d4f1c 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: SJ5PEPF00000205.namprd05.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH2PR12MB4327 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 a 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 Reviewed-by: Naveen N Rao (AMD) --- 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 0f6c8596719b..ffacd619956b 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, "N\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 Tue Apr 7 12:20:30 2026 Received: from CY7PR03CU001.outbound.protection.outlook.com (mail-westcentralusazon11010067.outbound.protection.outlook.com [40.93.198.67]) (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 F23711EA7CB; Wed, 25 Feb 2026 14:51:21 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.93.198.67 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772031083; cv=fail; b=u6BYJPTniYcO6Z8XTP1FDbZAYN+mhZb77tMDOs474Vw/6FWGioq8L6Axit2zOCSZkCB5d0lcSoA+QniY9ybnPh9UCDwXIM18dPcBqVcnMDF/DQdTM/0OgJSGSckW0D/yMAHGZChcl6FHonghQxifF776nCJCA6gPUjWbuzSIfRg= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772031083; c=relaxed/simple; bh=Afut1vXkjmusQta3QeUKzUAIYhtZAaJj3tvU3W/UAE0=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=EYmSE+ZaLhRvE6J1FtTKAogNZWTiCpaFJetbffGwno6O21NwV4rwWzqQSnXWexKSbx+JiX/LGP/2v7xClAHNZgN46zvYse06evOAM0kJgmVBoe69AYe+4V+Wbe5MXaQ9sJOrnktL+uD8HSvwHgmdTZw9Y5RVc6rtu5RrN+Ft/n4= 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=EMjWH7Ot; arc=fail smtp.client-ip=40.93.198.67 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="EMjWH7Ot" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=YH7VWbTOdCBa+qZDGpbqO99injeKCN//pazlCJ1tUBYLojlwt6WPJ55rHIbFeR8bpXyuCNpQxND7XDxYO29c91CrM6YVezdxgBOAvOJxN1av0oD5F/PF83I8dy10dgtjQz0yA3Xzj/tedXF6nAhv7HWgHqwbM/AEyroTk8HFDbUV93EybEIY//k7A5PqCyiLIo5AzjWsovIh8H5JWfw98uXGTjYrDq3SpoDQLvsY7ml5+hOdG2PzWdZtGo5zmR2y72UnCGpJlZVMjCFEVYTUTMImDjkUDMZEgP0z68wuKmuC08KPHNP0VXAvFtdHkqHg1tdPx8MK0J+RSg7Wa8wStw== 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=lyZZnP1MfuQW6u+jcCoBRSTGI32myYJQbeEF1mVCJgE3F4j071lgvm8DpDFtnyF4nIG1S3sJZhhnfwf0oVVbuiKMN3LRwZsKKd9EiADpG99vvzvbpESdD35A0V8Dod5vEopwksTwztGIzLx/LnIb7Rf6vzGu6cYUOsF01DWp7i8YmAL/HC4pwzL0N63SCXeMpAMPX4y/47HRHEh8hgIxVnKhAIkqMD0d5wrRUEjNKiZ0/LJefpp3Onqvg6QTWLFf4fhxgXYDVE37zCvRmxt6jPGrJ/Nq1eHrXIsZVBsr+oIRadnqryVW2i1ceBxTtpnWluYAlAJBxcAP/nktc2xUuA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 216.228.117.161) 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=EMjWH7Ot6I1Wjk1vE6k3/jL7657NHLhJzJQazO4n9wHa5bpd9gI7JXv9Mbf3ijI9zIaPOxlfox0WD32gIel8VabCnevixtf5WCgZqETvuW8xnSkgK1YE4HMiwpNGSPghKaJI0myxc69Gk3Y3AIMEqDWxgQCYDsfpBOyLRRKA/1Wx5wfsS174PBhIiFpdq9YpLEb/tuf8EgUimHBEY50GZQfgXo3uwsgn0k1cke3oL1oi0BnByN/1uezfBY51NrPZZ4m1s0QMX1UDyl8+/lmRN9upu0LDgHb6e1EgKkphl2VMphVIlDLRC9V/1Wkvje2gbRxx64/63gt3Bvktq9ji6Q== Received: from SJ0PR03CA0245.namprd03.prod.outlook.com (2603:10b6:a03:3a0::10) by SN7PR12MB7810.namprd12.prod.outlook.com (2603:10b6:806:34c::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9654.11; Wed, 25 Feb 2026 14:51:11 +0000 Received: from SJ1PEPF00002319.namprd03.prod.outlook.com (2603:10b6:a03:3a0:cafe::33) by SJ0PR03CA0245.outlook.office365.com (2603:10b6:a03:3a0::10) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.9632.22 via Frontend Transport; Wed, 25 Feb 2026 14:50:48 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 216.228.117.161) 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.161 as permitted sender) receiver=protection.outlook.com; client-ip=216.228.117.161; helo=mail.nvidia.com; pr=C Received: from mail.nvidia.com (216.228.117.161) by SJ1PEPF00002319.mail.protection.outlook.com (10.167.242.229) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9632.12 via Frontend Transport; Wed, 25 Feb 2026 14:51:11 +0000 Received: from rnnvmail202.nvidia.com (10.129.68.7) by mail.nvidia.com (10.129.200.67) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.20; Wed, 25 Feb 2026 06:50:51 -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; Wed, 25 Feb 2026 06:50:51 -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; Wed, 25 Feb 2026 06:50:47 -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 v2 2/2] KVM: x86/mmu: Fix UBSAN warning when reading nx_huge_pages parameter Date: Wed, 25 Feb 2026 16:50:50 +0200 Message-ID: <20260225145050.2350278-3-gal@nvidia.com> X-Mailer: git-send-email 2.52.0 In-Reply-To: <20260225145050.2350278-1-gal@nvidia.com> References: <20260225145050.2350278-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: SJ1PEPF00002319:EE_|SN7PR12MB7810:EE_ X-MS-Office365-Filtering-Correlation-Id: 7d810435-d98a-4dec-8577-08de747d5135 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|36860700013|376014|7416014|82310400026|921020; X-Microsoft-Antispam-Message-Info: vLvt4FstadkKid+RWeMZB+pqPW0/BkE/DCjIfoe6qFW6hkSVIY/sFhRgF9FU2y1I+oO+xYNDUEJcoM4W74Oi4snLf81JjU+CJpwooFneuqfpcCURZ+Hq05HOxpGTQDLk4385gFct1RP2huPNFdluAdD40m4hLzdLR3rIVHyP2O8Vio/ROPshleXBKXT3cSbRvxBpvGrelwunWSRZYoLAmVkPUvAQ4q5PICV1xL0Kdl/ioXvDCqIVRjDG+xZrlCabSYcYxsJ8m1vFUSHtnvGzBYTV4Sc8cPkt5UJFn1/oe1/59wjY2ZjnvQxL/sJeoAQytLhh0uxniQvPIE7gsB7sWOVgCBQHY0XTqhXoJVulIpLc7IN3RHoPWdqJUjUa2h/uASfPU61NbvRnasGg8k9ilpzE6ZLLtojKrMfr7X1wFUjUOxvHWYBfkqQ9OfpUax3P0AYaUGBfKBV0Wroq+HwzGBPteOtobR6FuIbFL63r/HjGFv+FkTE+ZQrUi4KGutFkIqt3TTGJGUIAO4xC1l3SgYJUulo0aAfS4gZn+rD6nwPukhSx5H17G2kivWK5WCxz4FUuO22/UZXGVzHmA13FGzhKg5bvRFM/z/BByOANYHhyDoywhAN5cbWcLdkMDVyLBSnQeujhYTVBmO9+UlNoSqIhBoEnkmPKwur9TYFqYtwFuEnEzf9nfJamtFMgaWDl+BqWNpLtsToXfNq07+jHJEwJGq+ymeqiws96afyDZMgqikFL2Lk7wi4Dy6Uw8XN3mXdnsB7cLeHQbL68Hbhnznz4XBHbtarTFvWlLMuNrcjSLYk8KJ1ARemucoiGMO/a0jnz+zsKNPYjONkATEDGtDkhDk34ELpDAAF+xT7/arI= X-Forefront-Antispam-Report: CIP:216.228.117.161;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:mail.nvidia.com;PTR:dc6edge2.nvidia.com;CAT:NONE;SFS:(13230040)(1800799024)(36860700013)(376014)(7416014)(82310400026)(921020);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: 7HF9UwbbfmMblG0NDqNgFU5R33tsVcQDnF3i4EXs8Q3JAM5/7uA//wbN27ZZoHLt1A/17nKrwj/zyjfO+Wdw+z3jcUAU6jrvYma9H8NUzwdILnjPnhv4H6z3bGYtOxaEG9a8JtD0egN/vJER8Ockfh1RX3ib9acX5ntiRECOlUKADHFBhiyx4E6Y3efy5dvpuYYP273XFueYKXXERjsl3MEyDXzTaZukE5ds21uKqAqcsZkjoEV0brbuORDeOfoyvzdxGbzquru7mpVUcLc8tbFCAJo4145r+bmJ9hgvrnD1KdkHCXTvKBmega8cQXws6O+3Ra8NG71wN97jFf5SvIbjNnqWJmbMDreLof40KfzTyvYWuL8o5FNsEjhJrv5rOhM4ThdQmmHo9aVQouzELhDHnZFSoPBahbO1CRviVFnjdqW4I3Obzee7dS99NVeH X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Feb 2026 14:51:11.5126 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 7d810435-d98a-4dec-8577-08de747d5135 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.161];Helo=[mail.nvidia.com] X-MS-Exchange-CrossTenant-AuthSource: SJ1PEPF00002319.namprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN7PR12MB7810 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