From patchwork Sat Feb 17 01:45:11 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dongli Zhang X-Patchwork-Id: 13561194 Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) (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 0733F1BC2D; Sat, 17 Feb 2024 01:45:45 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=205.220.165.32 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1708134347; cv=fail; b=MnLeY4AH7+VxdARN1+GkupgpG14kJ56URbnP6WSncnx91NpK5QluRCGQjKfLYQaWGid0VP4XFzFH1nPE0CdEHaLB770cP1cu63jjmAScq1ify1UEj9vWTAuRAjF02xGJWcrE1olFdgghgV3+deHnWHqcTFFDJdaU3g9gXQ8zdA0= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1708134347; c=relaxed/simple; bh=zzHV7aVlcM+mukjDROeCC8Fq6X883hhlDyF3jVHGvZU=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: Content-Type:MIME-Version; b=PlWYiYdfiAeBbfFidHUdc8+z8zmYufkLyOgHYpORbE9gWJ4StnUczXWuzz+BriNXNsmEaT+w7BSQ5dKD/9CDhOu7HdQGwfzX1WtYrCB2KQETdsPWeHg9iQaL78W/k01hFhRxTvuWd4RH8hadBIqneqByPgBB/9ylpQKMe6LKyiU= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=oracle.com; spf=pass smtp.mailfrom=oracle.com; dkim=pass (2048-bit key) header.d=oracle.com header.i=@oracle.com header.b=OmhnM+DK; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b=XfnmnzYJ; arc=fail smtp.client-ip=205.220.165.32 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=oracle.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oracle.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=oracle.com header.i=@oracle.com header.b="OmhnM+DK"; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b="XfnmnzYJ" Received: from pps.filterd (m0246627.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 41H1jWZp027323; Sat, 17 Feb 2024 01:45:42 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : cc : subject : date : message-id : in-reply-to : references : content-transfer-encoding : content-type : mime-version; s=corp-2023-11-20; bh=WlEsLVVPKSQa9y4r/u4Iq7fa+0YuuvjUE/LmFL4oTEA=; b=OmhnM+DKTeMAsq/lqC2b1bj1bpKNaoImkFBBNDEIjfEKeMs7/C3JgI+Qip1FkYeLKnto Tk5aQlOhNbUobYnBYHJhymPIMdQAbKAtxlBP6iwXLmyx7bfFIOLOOJB8G/v9hWDdYjCo jfb1tbO6OKrZJEkafEFw81M7CQhtIAgTLcp2A/sJ9ghnj6DY+09oZ3P+KGUExrm5St3T z1rxciYtf7tmdg6qG01b4dbUUQF21nQS38n4ASLL7zWTKgW8bIvg3PC4u9lXtbT9jAnQ lx8II41OygpAnY63+rziyHQQHBU6Is2lOCTPCH8jQ1s7DhwzrP5rbarBxdyGaZ4dhZVr kA== Received: from iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta01.appoci.oracle.com [130.35.100.223]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3wakd20010-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Sat, 17 Feb 2024 01:45:42 +0000 Received: from pps.filterd (iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com [127.0.0.1]) by iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com (8.17.1.19/8.17.1.19) with ESMTP id 41H1XBPB027277; Sat, 17 Feb 2024 01:45:40 GMT Received: from nam11-co1-obe.outbound.protection.outlook.com (mail-co1nam11lp2168.outbound.protection.outlook.com [104.47.56.168]) by iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 3wak83g7a9-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Sat, 17 Feb 2024 01:45:40 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=X44RbacEd4dAqTUL4CGFTW43w9sk6ooEJtOVIjR0CLwxRgF2k9PWkuYCajl6VOd7MD4+ixtk+MwH9gEVYQVrRSHrSHjH5XVeYq28ls69XODTEmSPpIWB7Af+CTaOVpkXMVgW3VbpoCBcmF5d2YArgdo5fSEvuCMBaOftTjzZT8ERVOIGjswZOGh6LmMXzU+lhriQ7YHkBgNx4k4h55Hy7kG1br/YvJdm0r75jYKoMvfnX4gaZhv3U05Q7GeoDNuNOGFhE6vvB9YCkreLV1uwH30hajI51sxDPDjf9vwDNZdCS8Wiz3+l8bjFnyOi0Wz7lrRK/9XqmTmfZK3ic/FQiA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; 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=WlEsLVVPKSQa9y4r/u4Iq7fa+0YuuvjUE/LmFL4oTEA=; b=YdPHfcYzKJ5GCV7OGxAA/UvdpaXntwxPAezgJ2Bx9eladQM5kEIpq1LUpT5voVmqjd49ahoY9WSHxt5TceWf1PTiuE6a9UlENXv4SHBQ7IcKwEWJUwRBUQNRUjCFXmhsGCU4x0wIvY+AMKFo7x9BFsKlHKzv2aioDQhgAGcbK+NKe6sLCE+4A8xxfFN5inqLM7X+R60hQ8fRkJQTioCQkfSu/LUkVQ458Eppx7tmIRmATvLIV0f/VnCb9lsIvY+JvFauuiVCrTeLQHgKTAvv2DtRAKgTkDamRwF+9P9XSH+4gmA3T/oDc2KQrSphQJBOPixOA3FgafgD13aLG9bRpQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com; dkim=pass header.d=oracle.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=WlEsLVVPKSQa9y4r/u4Iq7fa+0YuuvjUE/LmFL4oTEA=; b=XfnmnzYJUkbU4IXLrL6kj9RfU9x4ZBb3Fih5UKERF2XjrrhThix4rN/RloQ62ok4zNinlT31Wt1XLP0jBigcv7wiqauCLih1XBM4I/FiGLgQYF7PQFUviY4YoExTSlE+eT4yqmu/DQJuSCygREc/Sh6cW9cuAE0hArvW7nv595s= Received: from BYAPR10MB2663.namprd10.prod.outlook.com (2603:10b6:a02:a9::20) by DS7PR10MB7299.namprd10.prod.outlook.com (2603:10b6:8:ea::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7292.31; Sat, 17 Feb 2024 01:45:38 +0000 Received: from BYAPR10MB2663.namprd10.prod.outlook.com ([fe80::a1c5:b1ad:2955:e7a6]) by BYAPR10MB2663.namprd10.prod.outlook.com ([fe80::a1c5:b1ad:2955:e7a6%5]) with mapi id 15.20.7292.029; Sat, 17 Feb 2024 01:45:38 +0000 From: Dongli Zhang To: kvm@vger.kernel.org Cc: seanjc@google.com, pbonzini@redhat.com, linux-kernel@vger.kernel.org Subject: [PATCH 1/3] KVM: VMX: fix comment to add LBR to passthrough MSRs Date: Fri, 16 Feb 2024 17:45:11 -0800 Message-Id: <20240217014513.7853-2-dongli.zhang@oracle.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20240217014513.7853-1-dongli.zhang@oracle.com> References: <20240217014513.7853-1-dongli.zhang@oracle.com> X-ClientProxiedBy: MN2PR13CA0028.namprd13.prod.outlook.com (2603:10b6:208:160::41) To BYAPR10MB2663.namprd10.prod.outlook.com (2603:10b6:a02:a9::20) Precedence: bulk X-Mailing-List: kvm@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: BYAPR10MB2663:EE_|DS7PR10MB7299:EE_ X-MS-Office365-Filtering-Correlation-Id: 351e1f5f-393a-4d60-0dd9-08dc2f5a2452 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: JYYNnRrJnLktV2wqz5qTaBsweOHFg0JHaK6oufyUv06c8urfc2hoGcL9Duu2K3bskNmFlWXXA00aDCwZ6GhRmINr7XuEKpA7INtmzkVpDeuXDzHdFJmQeHN1srL/Xv2yRLU55tXZP1qcbwKY48hMLgME7HxFBtQ+SzF4Nd2lIUyWEmmRs8JXZ1D9lB8Bir18erro0VyL0beaxbLQat17w3AwkNmO5IXT8ZHQHH3Ri7s4/hvGDXDiWv181R6NKmuwE6NQPjQlVF/UO/h23NjsXzHu9iLJmdv5At8IWEVAaCoNlrbAugq1sqauQwsXt745Bv1N80nq1BsIFjQiJDlcc+LVczea7GG1WaFHQJ4WJpgxb/0IOfgSkqrL7XEYgfJEfcAtMxyKVqgyXBKUP89w+NbZcpJ8p+wp4YIJzH9z7aL7iX8ai44pfvgNTerIS3ZZFvQckeL9rk/mf2kSg07aGb5T0vbu0fJevqCo2NGrWR8gNp9TNxoF6zdAC3eaIgnq8gYVizeDX8OOhIJ6ETxE51Ob6G+rABhCp2fh2XBsK1lPJD89RIGTOOWovqkIhHZV X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR10MB2663.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(366004)(376002)(396003)(346002)(136003)(39860400002)(230922051799003)(186009)(451199024)(1800799012)(64100799003)(44832011)(5660300002)(4744005)(2906002)(83380400001)(1076003)(8936002)(41300700001)(66476007)(4326008)(8676002)(66556008)(6916009)(478600001)(6666004)(66946007)(2616005)(316002)(26005)(6512007)(6506007)(6486002)(36756003)(86362001)(38100700002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: FkTPVfbufJn6bjA7Iysta18/ZVEyDs+8kG10QhM5aDtSvOKZDJ3j9uSdJfA5XPAV8rrnVJQB8TTktsvabigjtgRLujlq3tMnfkzIKEX1e1L5Hr7JG1i710IcSQ1R00sQUAtfjwMEM74PWfNi20SsRuwtLA0yn3t29cMiM/KNam1l/j2SbwYeysUSo7Awu0edwsWjtM6xSnnHsGzSMoBRE9+CoDD+Matsy/bvAvoMxFusiSYru8ehjcdbImRGtQOH6zs0hVafdV/b+hwz3xjfU+zs+iSwHvQ3HK4LKEp16UK4QcPTMB2lL6iE3UGFz0el7RprVj4ofqVh6/rIn+W2GsjsL8aRpG4YDNWDLc7Q+6V6C4Upr/Kmm3nYHnY2IM7sq3okG7EN4I8Ucwuj2iNpz0y28HLGQQC27YTz6fEBnWbutgwQZLfDZOGn+yV98vXlx6iUF5pExOA0JYHT4WcO0hn14gELT7SqQx8+VPNL0LtLh2x/bXTxwnyHCskyjeawQcTms5fxLf5uXxyvLHBnAo0IEzOrGDOxnnKb/8E3wcG7vxhO1zMmDtm06ff6FhFWNzlVX/yT6IXfESmfWNYsJCRm2S0S0VNIJLa83lE6pbAn0FIZ7O7PevkS8deY/2NbKX5BBvQJK6qn41X02QgAVs3O9wWdT/FL2pexhHGwtN7Va0Qp1gxXSEDcwmHr+nqPvShmJtrzQLkh09eBWCUE9b+vIvsNFCIeRdgRKvVuaKlZSFSNBercTq/+cBcjQF6BKHvg9yEGdjPqaCblxJtqAKS2nFy/C49nIuVbEavT8nLhM2Z8mDbogrSOPSrc50oo9ciR1zUNcOPEboUIzJ1swgHTvzKSvS48T92xCkf/SRKbLvGdcFg6Zr80XpStwUQo1g4q323JvJv8UUdryR0wf6A8g+JWbyLlhJ2toRrYatMH5MjjIjDJOjDMz5KlTPGFHzdeeJ+ru3KUHpefSY6XwWRcG4aZKzUAPWCXZjfQqHRLQzngZP9UTtmNfz2L7rZ7QrTtgmieK6JRHOQtwks+L5vLlCE4+tmVGIqfyc8FIdXZJf6xjs10LAuQtnqKOSOIL09lUtpwOWoU4RHR7ex94Etlx0sbpSjfDEQKgUDTbykwpbO82uBGl1MB3lvQOajOwF2dLjhVugTnEbkjcxKb2PrSp0iEPTPkEqDKsfeXTiL/tk/mcUg6J1X9P7NBe0vnF0121AdvuaI/H24ZLtVBBy8nqeUleD2Y5nA5fWTDd02kERRCGPd/wm5HepNeK1oB/ZhVl2FUABlIn1uky9nNSgvQl90tnKXr1jf0n3ncQbzAJ47tPiOEdouXkJ7ia1Mu4Ed5aNvgLIfMRWU9TCsye4vMCVpG+x5hwLKq4WN0wmBKPrTnyvlK5FejNbzA+TMe7m3h7Zg9/wxOmZE7Z/D/sO2YYpnfaj8MC0x4r9moG3GsTkWwA4ojtNix9uHU//dXkopsZ5W98efH1zuFhSC7hAd93A8f4hRrLTOmNT3/iInVQVt2aPJYjpIgP0OosXHeSkGh/KmmoPtTCW9fnF3LQ8vBTcAEKRCYOPHJmWlLjPA1eStrXB6MugVtV1wpkKjAVx1o2yyP1Q42scusRxd8dA== X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: c13tUrq4C9Fui3V+4+U+/Vuob/90evGd7v6vgGRUA3YMw4nOA3Hw6efcQ6+fuUrZjYzTfA5D7pjHg2N1eKogbts4BJERSFAKapnEppq7UVtPRGU505yGyXvnC6VmX4UNTO5cfX+pgORGka5iqbtZlSs4hjJtCoPVj7KzsTlR99xT3d1EYjN1IDHKQ02MEbcmRGmN9lKGt523wOllI23k6/vZzljV0BUaCWrMGFEor/rI5XW1G+lcodfGjwxVn59Z9Uf6T3YcYncw5iHmco8Gp1W8R6VqRK02+9LHQnjOV2EgIeKYwwkcrQ0LFBFqzFlmVoUlyw8ucjQ8qkAWDUmiFXLPQQeuFHi9xizdsT5TDXvxWoZC4DsC0w1xHVKjedaImsUV0Q2334yepXyRb7ePdYhnfKKvPv3t3vJfI3zz4ATbfZIsHIb6zJGercgo7fP0t12yxwSQ2xW5jeFWL7pFtIgmrs/pTNBKGIzufE7olZ5Xmsm7isG79Yc6F+tQ0PKfuAE1zcVc1jecF45CgZAzUiMGC7hwuXGZqkmTKfPWGXIc2tFS4v921kEKVKcWEZthaYD/NygGqpeMDww40FkzDphZYDDdRPoToMNM7jYkZ60= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 351e1f5f-393a-4d60-0dd9-08dc2f5a2452 X-MS-Exchange-CrossTenant-AuthSource: BYAPR10MB2663.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Feb 2024 01:45:38.4580 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: iwDDpNnIomcRy0txWuxNnH28BR9G5YFhszsPEgDXRHC9veUm5zbh+g70bRa/HjzkTlNkOp6e3FrIbvyuQWkhHQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS7PR10MB7299 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.272,Aquarius:18.0.1011,Hydra:6.0.619,FMLib:17.11.176.26 definitions=2024-02-16_25,2024-02-16_01,2023-05-22_02 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 malwarescore=0 phishscore=0 suspectscore=0 mlxscore=0 bulkscore=0 spamscore=0 mlxlogscore=999 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2311290000 definitions=main-2402170010 X-Proofpoint-GUID: sHbBGwL6FLj9l6LsZ4DA3TEp2kOlK6wt X-Proofpoint-ORIG-GUID: sHbBGwL6FLj9l6LsZ4DA3TEp2kOlK6wt According to the is_valid_passthrough_msr(), the LBR MSRs are also passthrough MSRs, since the commit 1b5ac3226a1a ("KVM: vmx/pmu: Pass-through LBR msrs when the guest LBR event is ACTIVE"). Signed-off-by: Dongli Zhang --- arch/x86/kvm/vmx/vmx.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/arch/x86/kvm/vmx/vmx.c b/arch/x86/kvm/vmx/vmx.c index d4e6625e0a9a..05319b74bd3d 100644 --- a/arch/x86/kvm/vmx/vmx.c +++ b/arch/x86/kvm/vmx/vmx.c @@ -159,7 +159,7 @@ module_param(allow_smaller_maxphyaddr, bool, S_IRUGO); /* * List of MSRs that can be directly passed to the guest. - * In addition to these x2apic and PT MSRs are handled specially. + * In addition to these x2apic, PT and LBR MSRs are handled specially. */ static u32 vmx_possible_passthrough_msrs[MAX_POSSIBLE_PASSTHROUGH_MSRS] = { MSR_IA32_SPEC_CTRL, From patchwork Sat Feb 17 01:45:12 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dongli Zhang X-Patchwork-Id: 13561193 Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) (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 5D0921B7F6; Sat, 17 Feb 2024 01:45:45 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=205.220.177.32 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1708134347; cv=fail; b=ZdOoxn9z1US2gkVJ1+V2MkdIY2EDJXxmQxU9wwYgb99DKDil743Uj450LGCyu0nx50Lz8zK3Uk2m7BFpDR7RClksFc5ctKanSpfT8djJdUvwZ0sU2ofBYQ11K5kVQhRjSGmrlfuWfTAeq4prKI1rc0aZ/Z+CbHTvUUjUj++wWXs= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1708134347; c=relaxed/simple; bh=3AanfXwCcCRuKM2GIenLmq2oA3pzCayeaFJ43Mk9bBk=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: Content-Type:MIME-Version; b=YmKedzCHQFLJwq3NHcvu+7F7l69hWHKDdDREG/1ovZIYk4ru6d4HAmgOIKeS+soJm5gj+zS8MPCzEwR7voqcM1dpbj+EppXbfzVfkpFgn1gOi/66J8LzSIMG0Gul0FIR/0d/99b+Qcd/7bS4volAGRc5amKf8QWQZxx6dyxGmNY= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=oracle.com; spf=pass smtp.mailfrom=oracle.com; dkim=pass (2048-bit key) header.d=oracle.com header.i=@oracle.com header.b=Jgr0llvv; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b=ktXWG+7p; arc=fail smtp.client-ip=205.220.177.32 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=oracle.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oracle.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=oracle.com header.i=@oracle.com header.b="Jgr0llvv"; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b="ktXWG+7p" Received: from pps.filterd (m0333520.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 41GKDlC6012205; Sat, 17 Feb 2024 01:45:42 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : cc : subject : date : message-id : in-reply-to : references : content-transfer-encoding : content-type : mime-version; s=corp-2023-11-20; bh=JbHoRGe+9E+2H7jveVYLl2WtcCZhNBo/Fe44pZRdaEs=; b=Jgr0llvvEcCKM7KQaO/T+cdyATawSZ818PRfOTaIQLjJNxy93DjmPpJmV9w8vrIQz47M S60xJor5OuyYQPFn4oLrDmyN0Xa9DtGVPtCNvhNkf2hqZsWLCiHSRwtZV3MZ5WgiAxkq Zk+SAZV9Tt765JwgFKShXhYhMzh0lbbcFCUrOGgTtZ9dnyMYJ7JS/JOxPnlPqCSvLZw7 IsTr4j1C0ecBxZu1duumxPUHZ2WmtGFa3Nk9Uq7j9T5/82njOoE9DFtcBhOeAI/uMAMs 2fo3VqOq3Ibkh3YEZkS6w0YJquJD36JUG96/TgU2NieotMNUjKonAp7FS3CWoVUoXqSo Bg== Received: from iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta01.appoci.oracle.com [130.35.100.223]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3w9301pm42-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Sat, 17 Feb 2024 01:45:41 +0000 Received: from pps.filterd (iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com [127.0.0.1]) by iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com (8.17.1.19/8.17.1.19) with ESMTP id 41H1XBPC027277; Sat, 17 Feb 2024 01:45:41 GMT Received: from nam11-co1-obe.outbound.protection.outlook.com (mail-co1nam11lp2168.outbound.protection.outlook.com [104.47.56.168]) by iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 3wak83g7a9-2 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Sat, 17 Feb 2024 01:45:41 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=O3FdcCb6SrxQfB8NjIVE9WPYSk5wTrC+q4xghojv2Ep+sK7YHZdhQ/Kj/Ywtp/UNnODFYQiEhaJv+Jf1Dr5HD4SL2vF5gvjy8rBo0xP+DV4a4OvE5yxDgWF0vRfOmQbiOr7KZoIAEoUk5cag0DfBpnDG2EDgqMCPBrvuS2VTkD7k9l8LA3jlwfWtBskYvLykrwC22ta93MYzB4kxGcu+piXdxt5AFyXR//FDPcj6Oe3tw6WmYpoAO230+tQkqZPoTMlxy9Anbf3YjgErFykFQDx4wgk0KPszmbLw1Kp49NtmG1iF6ksWsmWCbyuVk/dF5x5Oh50U1wPBM5wD3wLdPg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; 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=JbHoRGe+9E+2H7jveVYLl2WtcCZhNBo/Fe44pZRdaEs=; b=iEWRUT9JOYFfNg/6i7KPikQE+Tw2vX/ZPYe4IdZ+iGRr4O5ugsCGo2j2EqGtquy89MPodkLW5yvU1iFiw8xWE30e9e3rKy32rICL67ee91BaXfY2mleADPiQ4pht6b7HZ0Xq1I2zU1qUAyDagjh6qPZWTzmimYOQNuoGn7RnKeAtSMdjL81UBubvHb13Cvic4xQuIyJj9TRMFH+uIM+VhNUgoMSY1c7++tSpUNudYJVjduduwuLaQRuzSnlnXZhxR2+34iWCKoKoXxxggkeXWmXhQWLJFIwJc+NtmdfxuvVC3A+Ttmj/8I2I0MVOg0uMGCaKWvkwIiGq+fT2xpF0Tw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com; dkim=pass header.d=oracle.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=JbHoRGe+9E+2H7jveVYLl2WtcCZhNBo/Fe44pZRdaEs=; b=ktXWG+7p0F1T936yd3E6NI97l5AumVGMAMMv/CDklXVYiQsvVra8Qh+8gVXmIr3IYfz070LfQ25c65BIA/5Q+IQ3jYJd4YAuuZ+5WznF7CA5NdN5b4nSi2qftNijAH9jMglAyxNJ7uPIBtoDk3kyjCRcG49UFSKecvPwkeFZeXc= Received: from BYAPR10MB2663.namprd10.prod.outlook.com (2603:10b6:a02:a9::20) by DS7PR10MB7299.namprd10.prod.outlook.com (2603:10b6:8:ea::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7292.31; Sat, 17 Feb 2024 01:45:39 +0000 Received: from BYAPR10MB2663.namprd10.prod.outlook.com ([fe80::a1c5:b1ad:2955:e7a6]) by BYAPR10MB2663.namprd10.prod.outlook.com ([fe80::a1c5:b1ad:2955:e7a6%5]) with mapi id 15.20.7292.029; Sat, 17 Feb 2024 01:45:39 +0000 From: Dongli Zhang To: kvm@vger.kernel.org Cc: seanjc@google.com, pbonzini@redhat.com, linux-kernel@vger.kernel.org Subject: [PATCH 2/3] KVM: VMX: return early if msr_bitmap is not supported Date: Fri, 16 Feb 2024 17:45:12 -0800 Message-Id: <20240217014513.7853-3-dongli.zhang@oracle.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20240217014513.7853-1-dongli.zhang@oracle.com> References: <20240217014513.7853-1-dongli.zhang@oracle.com> X-ClientProxiedBy: SJ0PR03CA0256.namprd03.prod.outlook.com (2603:10b6:a03:3a0::21) To BYAPR10MB2663.namprd10.prod.outlook.com (2603:10b6:a02:a9::20) Precedence: bulk X-Mailing-List: kvm@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: BYAPR10MB2663:EE_|DS7PR10MB7299:EE_ X-MS-Office365-Filtering-Correlation-Id: a7364534-8424-455f-6ba8-08dc2f5a2504 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: qAUUV98410fmRpnSkx7BeSPKt8nVPJoY9ZXEAu62ccGgr4hfSO8LM/DH1B/LRDZSVaIt4LNRGH56AhiX6Uixj5JXMtjjxeR03LR/86tlnbC/gjStt2ju78rChwRf5T/7UXBla2Spv92EHLjVM3fvVp+cb1cYPrkdOLfkCQY990bIkKlWKdogvNc+3Wsr6y4MeHoGs+n2C9XYuOJX5VEqPw64U9x35CymWz1fn4Ef28v8yitVwT3KLOrSNer3J3DzgQgRpdInAaUbIJpvVCujiAFVUj9V8shkW7ZGgujcH+zTNH3sm8basrSz5SvnNtjCYN8UiFCVUms29VXsr0l0xMj1TExmKeWrHxODH3d3S74aNAMFY75b4rvswgEbt7975LsYsfo5C8tUexPe7OZNVWN539dRL4QGt2eoluR6DP9dYl0DVzIwnwZ8MlQB0kuNiMwAKpl2tELeYMIZf+0PGzGfgtm6W8/NgmNKxlwPi2R84PwlUEp/g6eMecX/XRJR7suG2eMWxCablm21u7fTwNNS0lqZ13tQDLOc5Xwc5zZtQWY+OXsFmsUA/D4zlJGC X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR10MB2663.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(366004)(376002)(396003)(346002)(136003)(39860400002)(230922051799003)(186009)(451199024)(1800799012)(64100799003)(44832011)(5660300002)(2906002)(83380400001)(1076003)(8936002)(41300700001)(66476007)(4326008)(8676002)(66556008)(6916009)(478600001)(6666004)(66946007)(2616005)(316002)(26005)(6512007)(6506007)(6486002)(36756003)(86362001)(38100700002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: dAt5lRm34mCUxbUHE3RUWhRlem4Tw0zf9he/zDl5xqa0U9hx4S4CWdyU4xeXlW04ut8v/tD2eIjf08A/kXmU55YdAgx1SIrlm20S5/GPLLrQp70cm8taIHUJKw/yjhtgxrkXIBI629pla7IDlUq2B3h75m9mdr5vS12k/Zy/motiHpf1ME4/tLghB0guf82qch95ZrCc3Vhu0PvKN7KZnTcS9TPoWo7+nXr1Dcl3A9DAczMdf7wZkEh7EJIElvYVujrA+nKFS5HYYUvOpfpOG8fLkpdwMu0WxfHWUg4bpAWUaXTnWIJG49XTStomEelLkJF1PXZSsxdf0KBr9yDgGgEiyX6KRBClgk0e1g6HCxLR6Y5hH5k8ZTD8q14mZyMQB7zWwLYv452YbvCg8Rfqeso7wFH2iQJSj/InlxiFdClI03Zd3lpZv/F6e7+x4uVXPWweTgKT+Ccq2ZjPmYNmA2nDJFHmsath686aUYNk7H5wxwgxTJYgvncrsoqBmVNOuGU/k/I8g31pEqM41EjuPusmidQF5pRHImQR5uXw6lQpIic/JMLOE/+qFY/vuLLMQ89qfHSj3unlvoWeVSv87jPbFQ80oGs8QuY450QE5u3Bb1EgKJ2nxszosV8k4dL3+rGNZvW+K1FnIYlAVMbTeytD9EHuTdnQkC/Tc48U/vDWpcJ2HcOfpM17qeQZH0jSjivrJjz9T9rvpAqhHrh0mle/UkwM/rVXabh/wGk3ZgAhAxpMWJsUs49saKG2VAWH6fHbVSWmYA83SFrLI6wANcPL6qTYQu3S+DZhNfGe12WQyehVFqkwXPT90EWvMRSe3/tXKYELhTkMcffILPkTah6DbCJw7A39TZMK4LCkKr7BKlMowHqMWhgrf+EUyUdQE6Wvq01DwfQhTnuUp0PBJYyLNsNsYzuKCnvs1rHuxY0I0sJpVABrL1kURlDq1N7qWwcWrRkusbpXvpsHxJMd2ck9ujqDmPkweYP6EHxQ3IJUGhnCqW+MIH625PDptI/wBpi3Dz/UDsRQfVWENbUNabjbPT2vT31+D3x/vQQjobAe9iEbCiWtd6j58DS6Xhr4ZxHNrmQGoHEysiLWJzelPetdX6NdL/AispWK4PGR1C2cY6gZwcMTl5mISxmgRnZxPMDQlCG5YeHwThgJDaU++Gtp3GpxZKGqVPmIsp5nw5L4eY+Sy4xolnucr1cdMyy/DLkGGtx3xgG9kGsdaDiSzzJYvGayBAopEBOQWgKHspH87VmrPhD4GomiQFVcrrErEEJgKvjvnHOwF0w+X302LpVhopZoD50JVG+08M+pyvAhpx07xvaz8pEmpE3B0phqMLQ4WRwT/ZsIx1yr5dXH9EH2AiB/fWjmZnlWUt+xYxtmzXwEcos7RE2N9vb9UjfioiwFYg18cBqPNewiYA7b9S0wd/QUpw0iiQVZ6kcuAnSK8LMTYXlT6Ono/8U6z8A/TGYEgDU9ICOJnsN7juP3F2FWXj0uupEpPSA90NOKyQIfO9itq6bFZuGx5lg5BxynktSY5WkqV7sH+L/XXSYfgidB+pFVxT8wtMnnsZ78kUFm+MrYpVCCjPJ3AxgeT1PP9bjfISIqySe2AI4naxPdJg== X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: 7QTuhTiX5AITMXqdHyAwaPCq1Vxrkd/LXhySmzNLsGldmf1ybLFfED+l+hsTa9LLCudhWqj2SlhREJy9tmBRAmpa+r13k4scvVSuWUuKqAJjry+bT01xV/vA8MnXd8QyYcjFFVijaWZXoAopDvA3NGbU64pgX/KoaRwmWp5lPGdCclEfcV/zPhXL95BkQEm6kiwgXYOmFTI6DABOtunXwMIJeRHUzVkEOjw7jFSN0bwURUvjqGLT2VGViM2OIjUGztXbGjCcIcib04qH6tcDOviJfouJF3N4/iZUQPe1m8GVyFMuIPl/meci2FQNsHLeopF+KlC/DX/ZO+XkRseDx4eKKXF84CeWVFFUeLDgO//E/wonlOO8onL8JuR6/z9Ruf9ecdbCCsQBe6mZgzWxD+nFRRG8Yk+AaPUD6jdiM5UvQmBadpiPpXiTixN1RsL4HudgIeG1QIT30qcYDwg8enhmh5lAUGDejJGVGY/cLFKdVkC/9IyGk8sYRgsfzZy1I013zV8dTgcXmGXHc8rwDF1/wbQUOC3Z0c1hpQ8WLtoJShWoYkk66PwLffmDtgnxpblKQskgx875mlC8sdzZ2/D6BqaMquTMqvjeQiBz3SE= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: a7364534-8424-455f-6ba8-08dc2f5a2504 X-MS-Exchange-CrossTenant-AuthSource: BYAPR10MB2663.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Feb 2024 01:45:39.5348 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: VT0QoJDGLPda3sDJjxwVZA1/Kzd/KkYINM8+3tgsgigTaBDm5M39VhjPV82Mh7N7TxKKZuw3IufFjaJTGfLJjw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS7PR10MB7299 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.272,Aquarius:18.0.1011,Hydra:6.0.619,FMLib:17.11.176.26 definitions=2024-02-16_25,2024-02-16_01,2023-05-22_02 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 malwarescore=0 phishscore=0 suspectscore=0 mlxscore=0 bulkscore=0 spamscore=0 mlxlogscore=999 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2311290000 definitions=main-2402170010 X-Proofpoint-GUID: R__Hif8hqIm6n2VrXGgr5y10utWjoPW9 X-Proofpoint-ORIG-GUID: R__Hif8hqIm6n2VrXGgr5y10utWjoPW9 The vmx_msr_filter_changed() may directly/indirectly calls only vmx_enable_intercept_for_msr() or vmx_disable_intercept_for_msr(). Those two functions may exit immediately if !cpu_has_vmx_msr_bitmap(). vmx_msr_filter_changed() -> vmx_disable_intercept_for_msr() -> pt_update_intercept_for_msr() -> vmx_set_intercept_for_msr() -> vmx_enable_intercept_for_msr() -> vmx_disable_intercept_for_msr() Therefore, we exit early if !cpu_has_vmx_msr_bitmap(). Signed-off-by: Dongli Zhang --- arch/x86/kvm/vmx/vmx.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/arch/x86/kvm/vmx/vmx.c b/arch/x86/kvm/vmx/vmx.c index 05319b74bd3d..5a866d3c2bc8 100644 --- a/arch/x86/kvm/vmx/vmx.c +++ b/arch/x86/kvm/vmx/vmx.c @@ -4127,6 +4127,9 @@ static void vmx_msr_filter_changed(struct kvm_vcpu *vcpu) struct vcpu_vmx *vmx = to_vmx(vcpu); u32 i; + if (!cpu_has_vmx_msr_bitmap()) + return; + /* * Redo intercept permissions for MSRs that KVM is passing through to * the guest. Disabling interception will check the new MSR filter and From patchwork Sat Feb 17 01:45:13 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dongli Zhang X-Patchwork-Id: 13561195 Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) (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 83F9B1BC57; Sat, 17 Feb 2024 01:45:46 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=205.220.177.32 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1708134348; cv=fail; b=B+uyiNg2dLINbJVu6GzOSX91Z3lQCMGCRp+V5GHlwSgkC/G0FqcqMO1g6w4vtYB0ytw078j7MqAbKfMF/GbLxYkKolg10EmUdVNvmxl3KGuL2y9Wb46Mi2rD2YtGP3icgOixoTyFt+E4oG9jQWj3HpHXpF5T+UvNYRx3/68cK9k= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1708134348; c=relaxed/simple; bh=TDg9o7ZBGMT60pvLSYHzcUMQsX/F8kkBF8RK+ncQfOY=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: Content-Type:MIME-Version; b=H5/zBC0LQhhTI/mKt7HZ2BXbw+4cyzHutsHVO9yK+vHsydeU8Q6gWRIVwvG9q5BzeIOtoi8pUDRY4WgD74eBvzllLphWvhCDAZhE+rTbQkb/zcim8GuAbI2cGDRJrl1LUGJdK01B9PhJ00L/AuLzekRElb3UFeQOTN4+iRSp6QU= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=oracle.com; spf=pass smtp.mailfrom=oracle.com; dkim=pass (2048-bit key) header.d=oracle.com header.i=@oracle.com header.b=gtjkk76W; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b=Yal9I9Be; arc=fail smtp.client-ip=205.220.177.32 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=oracle.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oracle.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=oracle.com header.i=@oracle.com header.b="gtjkk76W"; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b="Yal9I9Be" Received: from pps.filterd (m0246630.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 41H1VtBj024446; Sat, 17 Feb 2024 01:45:43 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : cc : subject : date : message-id : in-reply-to : references : content-transfer-encoding : content-type : mime-version; s=corp-2023-11-20; bh=Ntb1Scx9w4nhtLNCmMClIWIzCRRNq8fIE/TMjuQ1RRM=; b=gtjkk76WXeVFPSZCpOXSbw+ty5VtKEQRTbMeaytE7GXvY/1OEzOHnEHMpWADGWZmU5sR ZoVNra6rxO/k3BFRcoar3+1T4fqDiE/UAqcMT+d5NlNHd1fPUWV/ml8zfYB2CgPontWM NBB8FPdBsJ0qt/chXNhd+7Yz3O8kMheKpOb7cZDsI6wY4UTrfVWyl/X6JcHCa9YcfFUq SCVsdvL+RHNPd2mi8f7luPJ0LAZoe2cXQ7eaoUMWhBt3A5w+vLyTRTBk5o04qoinJoS9 mIeELyEksTJK/Vp0CE+t17dPFM0hkHkC1yFmuLZAloKuiPLKpn7Ml5Y5kCn3kx50oNme 0g== Received: from phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta02.appoci.oracle.com [147.154.114.232]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3wak7e80h1-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Sat, 17 Feb 2024 01:45:43 +0000 Received: from pps.filterd (phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (8.17.1.19/8.17.1.19) with ESMTP id 41H1X7MG007693; Sat, 17 Feb 2024 01:45:42 GMT Received: from nam11-co1-obe.outbound.protection.outlook.com (mail-co1nam11lp2168.outbound.protection.outlook.com [104.47.56.168]) by phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 3wak83g6ms-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Sat, 17 Feb 2024 01:45:42 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=MstMeC1KFyiEBMyDzQPf2wyrMFvaaB8GplayZibqN7AKHoq4VokeuqoDQYkLCwQWepGUDyHYFEMiOXZ34ipbshpY4jJMXGD9mIabTYHBIwEFr64cfW56YFfBG/f7o710LpIoKF4uNs1DQ7OWQK7bkyhyDLuJdWFNzXJx7ZhiSTnriiUlHS6NCDNWr7DSuo9W44PpckzRQRkZlgtA2EFTSVImC5/i9vMiT5lgIkFmXfXGUn4sZb+knPQ6tTU8UKFiL8bCHY9HE9t6o7lpiGOpLZ0ptHZYRaNDmHvl61YaMEu+R+Dl8RopGagkicd0vjgBvrjMkADOauTqEI1x7A3YVg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; 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=Ntb1Scx9w4nhtLNCmMClIWIzCRRNq8fIE/TMjuQ1RRM=; b=OmVj32kOCBGoOV0XgaCuQxYuaSWZaej0Il415qR2pZPhSbYYTMM1j6/NeS8qs9y6pNN7Y77tK295pocDr7+J3I9thAWe2s5uh6yXqyp7TuamoIjMWNK2znuRQ8lrwes7ujTk9HyT8WNEPUv3ZZJDco4cm9GzowSs8/nKF+TEHeXbYrpRXG90sJMTPSBQV8BxIzxrJaP1D/3NQvwymIhFhTeZbb9xrfOsSzYLd1/vwLk8zd3N+B465vsEV4xE6kmFTxAZ+wbhibi+XV/quFS3V/v7Uf3rTmaIIAwmKhYvUwlUI3j1fBqfLKJyd3teN+FHJv8HQdOxq63WBTPkBXsbqQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com; dkim=pass header.d=oracle.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=Ntb1Scx9w4nhtLNCmMClIWIzCRRNq8fIE/TMjuQ1RRM=; b=Yal9I9Be9/UBM/JQW7pR5QvxN2+hyzAFZwQXE3zdJaIXbqFFroFMs3hx0xxzJCkH7Ii62D0EFPoNiDQYW2mceRL6bpFlIu9iidQaJwEfv/zfzxaPhWPZyKcgwN5RlPd1EkXsIQE3A+4BU/7DGAuD55kdnqlkviYIAYKhEU/o97M= Received: from BYAPR10MB2663.namprd10.prod.outlook.com (2603:10b6:a02:a9::20) by DS7PR10MB7299.namprd10.prod.outlook.com (2603:10b6:8:ea::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7292.31; Sat, 17 Feb 2024 01:45:40 +0000 Received: from BYAPR10MB2663.namprd10.prod.outlook.com ([fe80::a1c5:b1ad:2955:e7a6]) by BYAPR10MB2663.namprd10.prod.outlook.com ([fe80::a1c5:b1ad:2955:e7a6%5]) with mapi id 15.20.7292.029; Sat, 17 Feb 2024 01:45:40 +0000 From: Dongli Zhang To: kvm@vger.kernel.org Cc: seanjc@google.com, pbonzini@redhat.com, linux-kernel@vger.kernel.org Subject: [PATCH 3/3] KVM: VMX: simplify MSR interception enable/disable Date: Fri, 16 Feb 2024 17:45:13 -0800 Message-Id: <20240217014513.7853-4-dongli.zhang@oracle.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20240217014513.7853-1-dongli.zhang@oracle.com> References: <20240217014513.7853-1-dongli.zhang@oracle.com> X-ClientProxiedBy: SJ0PR05CA0145.namprd05.prod.outlook.com (2603:10b6:a03:33d::30) To BYAPR10MB2663.namprd10.prod.outlook.com (2603:10b6:a02:a9::20) Precedence: bulk X-Mailing-List: kvm@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: BYAPR10MB2663:EE_|DS7PR10MB7299:EE_ X-MS-Office365-Filtering-Correlation-Id: 405664a2-0ce1-42cd-d523-08dc2f5a2588 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: nU41jD1ms6WeHeC6p9O5Dg6BN5LEl+8BlFwrWl0RZpezGRXD5GlSiQ0TL9aDL83QqdhrWMW20NqzAcRamGbPHHwI00pWpXVuFmDyZDQj6BN3jVOnXit2CEOxAOE4zLOgaESAJWIDppDDP1C2ewi0yMkTNipbQHlHVs4hhroeyhAN94znUd5ndshpRPeWZrf9zk9zb8G2wrk1Y96AjhG/lrou/P1LPB3kHNiYBjOlpcFMoDHozpdMmfdb5GnI1IiPn4PUg/Txz6F/X3WxyyJ6YyTak8JKXLIhl3H5OF8+Ula8AphajygMFcYv593vRuCa4LiE1TLqDyAIuXBVu6cl7Z1L/qv9t+D/IfkdfzLXTT0nZCKO1bihbPX7tXPGqekbGr+apF0GYihH0O8dOgnskUm3kTIV/Gjwl6W3r1Ey+qFjBsQv/Lg8ITXCIyNME5okIjv5TsgAYSHstOskgLl9Bq6pHP740rmwQeWF7wwek1iUKcr13Rgv3aTED8/avQvodhLluN3S6z1WaQpqthNHXcRenfUv0T2M9FLdM7LgT3s6uDc37tZrT4k0JHCE1bl8 X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR10MB2663.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(366004)(376002)(396003)(346002)(136003)(39860400002)(230922051799003)(186009)(451199024)(1800799012)(64100799003)(44832011)(5660300002)(2906002)(83380400001)(1076003)(8936002)(41300700001)(66476007)(4326008)(8676002)(66556008)(6916009)(478600001)(6666004)(66946007)(2616005)(316002)(26005)(6512007)(6506007)(6486002)(36756003)(86362001)(38100700002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: oe//3QP3H/zXrte2FPOH0McuwimFSldxLAHu+WVCgquA3WZdXwGlMM0+av/dAcSpv1iaSe1uaLiUdxzCezo+FU+sZqLj4PR5brbZgsYKlCidUN192LEN48eo6a2rJsS61sIcHP8Nm2BGYxhwGK7MmaYuPrE8ru+f/N8iL4bC9XJUxRWAI2ismCcI2Ixh2KgXoupcFggbhcc8Bm6V9mYEQ01ElmxZLP+SoYeSu98sJg9DfsLib5LNU0AP+fJO8T5/WVWLkw3a1mEf4y2QWTwmVum0qZFmQuxCwo0DuZRhwAEnfa3Oti6VcsxZ5SfiprFAVmFVKTosrbApIlOx1xNgqOteCfA1xfHFhemmLnwfULh8ob4id3VGI0AOb2OEmfMqYTYfJdClEthTXThO/9nSr1Y7QbcgfTrqDsZPRO0nYL7OmF4iyk6dlBgoDFgxhlhQmww4orVv6vT6wi0C4jQKsC2EjOufe0gxRPfpcXEtIX0SA/pmXFc7DBsZOQoXLZMj0pOoAWMy00sdiNlc9X3F+j8Kx+M2LKsyHg3pJGbp4JNM7JR4p/Mxuzetm3xG2B/lM1DA0yzEw/BiMtLg7Ek9X+ppy0HtC630VW4ptAgkD1AVOB5gPP0qEWi5Y5SW2q5Hwf+y1ftY1ZnbFFNueeWriXyjJhXEzhtqjyzWk6eTBYk+4H8vmX6iZz982si1nNZ6mx8QTEiZaGXMOwCbK8p+lqUfVdhDoEMrZME9spWQETmY+JwGp+ZbIRKeZum03d9db5KP5WuRXwoLVVal2UWUOcWO7FDt7+KWKrC2HbRxxcPEvurJUJsfqc5Di/7ej/4JQX0EcLzGlrMBUxbnnFGbX9TjuWvGtBYwuCngE7NU1LUnBhPD/8EEWJrQ3QqjkeFchVyIIslHgvF9P8rshNAwBbibe1u3w8b4pNTl6I2ncFJoxfqfXK6m+/u/a4N9DQ3R/aZvmVdeyMsgns1cXyW4exgOf5y+58RjTVJBVe4+B7nyy8M+PZ4j0bYALWCl/PLhubWu2TdDF+3F3RjasY785ejSPJCPEJAO9ZHH/fiyua1k4uG8E9ubjhDCQIvQWzVnmG/EEA8WugfCMQ1sTwSrSnw9/mC9KDjylLdby7oYmEyEGTgFby5jKeT0b0vPQ64Nq9wMuD3jGMTmDf1/4A9hWzeJ0+EYR3g5yyMb0zZ6KJ8CGDDfSDkcXcFAVuV/wzDncNkV4T2nUHd7HrwoK9V7xsasmge+fBQ9VQVWAuUIkSXE/RDDccr/7v4kfED5weB86joXLFVMT7gKYd703JKy6symxNikIbGDo4ZH2+NszcM55llcVd/QDUZICxWvcIKXve4I0rZ79ouS0GAXEuhkfduAjAFXJypSFO+mv8NTZSJwp7BATycv6sSQHOXEH+1ps8o8+YeQTMIujWkzCkIJZ7tfDbdPWH6pzVQglShUOi9KiBfCatdMKPsGinc3fFMEnXRKeKOdNXOMAOkziQCxWTn+In4jqbleZ7disuHbxb/W03LBMs7OYIggwmd1JnDMb22eAK4A7iX4WFuxmPg/HlBbEGJwrwqtapTNCAnqhG0ZG0eoRQalmLBOKc99DypGhi5xM28fOM8kPmp1wZcZZw== X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: M1yzI4qFxRC9yEHuT4ejhCKSnd4Jz6SaymCBjvwR0MI1SFfxa6uhAdx6p2CFJrfxBUC7mnUmRkuZ2HZxSZTRcDiub4sLNjTvn1nSL4K3WRrljvnx5mF8N0lXLyMiyr8kiDp7LDkbpTnaUpcTwC0B2cFx8ppx93Q+yhARXu0DNVwOxmdPTvxzAB9OWJVleG2eHqC7SB8I+58nNvZC3ryg+C73DVTc0aylMEzibMIe0fBrWmeKY4h9CL6j2cUD+tU+PNWEFthQOkwQvdnfGc5XaBJGPPck2UZ4zQXNz7S/8H6+VlNXeQJMopnlu+dKpOLvQI2FrhFJU1uHhAQXPwV3wDF9hcGwhxudfAcog4K4bbRWdQyB74Dd0+dR3YXBhNZju0iUbgJjwrWvsTZKU+f50PxcMKhjAdP23zEAJ6ad/Dznr/xK2YNZXKF3t3IPyWQjC2br5reqbi4t6y1PqMKkEAliUnw/8B63HwTMEkVMT13QIy2QWhyZ2RXuOfVJKgmLK18qgLczjMbFpiaPCA5GlrNkUmnzg3k16MvcRZGxtIZzbaJf98CyGqoY/rSH6W7DWx1kWIdDVtK/KbQb4ypIzSHTaVUQxkET8QvEjwrU6Y8= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 405664a2-0ce1-42cd-d523-08dc2f5a2588 X-MS-Exchange-CrossTenant-AuthSource: BYAPR10MB2663.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Feb 2024 01:45:40.4225 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: bk1Y9pX0s5cfKOkg8QXWR+Ruf91JjMsRSEPF+qY4bqUjBsxdsVPXX1a8/Xw9qkXZipaVN8CiJ9DzvrjuMU9VWw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS7PR10MB7299 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.272,Aquarius:18.0.1011,Hydra:6.0.619,FMLib:17.11.176.26 definitions=2024-02-16_25,2024-02-16_01,2023-05-22_02 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 suspectscore=0 phishscore=0 adultscore=0 mlxlogscore=999 mlxscore=0 bulkscore=0 malwarescore=0 spamscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2311290000 definitions=main-2402170010 X-Proofpoint-GUID: kEZkD_tMTGZ-ZqBLiZyHCrfExOPczk3P X-Proofpoint-ORIG-GUID: kEZkD_tMTGZ-ZqBLiZyHCrfExOPczk3P Currently, the is_valid_passthrough_msr() is only called by two sites: vmx_enable_intercept_for_msr() and vmx_disable_intercept_for_msr(). The is_valid_passthrough_msr() is called for two reasons. 1. Do WARN() if the input msr is neither x2APIC/PT/LBR passthrough MSRs, nor the possible passthrough MSRs. 2. Return if the msr is a possible passthrough MSR. While the is_valid_passthrough_msr() may traverse the vmx_possible_passthrough_msrs[], the following possible_passthrough_msr_slot() may traverse the save array again. There is no need to call possible_passthrough_msr_slot() twice. vmx_disable_intercept_for_msr() -> is_valid_passthrough_msr() -> possible_passthrough_msr_slot() -> possible_passthrough_msr_slot() Therefore, we merge the is_valid_passthrough_msr() and the following possible_passthrough_msr_slot() into the same function: - If the msr is not any passthrough MSR, WARN and return -ENOENT. - Return VMX_OTHER_PASSTHROUGH if x2apic/PT/LBR. - Return VMX_POSSIBLE_PASSTHROUGH and set possible_idx, if possible passthrough MSRs. Signed-off-by: Dongli Zhang Signed-off-by: Sean Christopherson --- arch/x86/kvm/vmx/vmx.c | 55 +++++++++++++++++++++--------------------- 1 file changed, 28 insertions(+), 27 deletions(-) diff --git a/arch/x86/kvm/vmx/vmx.c b/arch/x86/kvm/vmx/vmx.c index 5a866d3c2bc8..76dff0e7d8bd 100644 --- a/arch/x86/kvm/vmx/vmx.c +++ b/arch/x86/kvm/vmx/vmx.c @@ -669,14 +669,18 @@ static int possible_passthrough_msr_slot(u32 msr) return -ENOENT; } -static bool is_valid_passthrough_msr(u32 msr) +#define VMX_POSSIBLE_PASSTHROUGH 1 +#define VMX_OTHER_PASSTHROUGH 2 +/* + * Vefify if the msr is the passthrough MSRs. + * Return the index in *possible_idx if it is a possible passthrough MSR. + */ +static int validate_passthrough_msr(u32 msr, int *possible_idx) { - bool r; - switch (msr) { case 0x800 ... 0x8ff: /* x2APIC MSRs. These are handled in vmx_update_msr_bitmap_x2apic() */ - return true; + return VMX_OTHER_PASSTHROUGH; case MSR_IA32_RTIT_STATUS: case MSR_IA32_RTIT_OUTPUT_BASE: case MSR_IA32_RTIT_OUTPUT_MASK: @@ -691,14 +695,17 @@ static bool is_valid_passthrough_msr(u32 msr) case MSR_LBR_CORE_FROM ... MSR_LBR_CORE_FROM + 8: case MSR_LBR_CORE_TO ... MSR_LBR_CORE_TO + 8: /* LBR MSRs. These are handled in vmx_update_intercept_for_lbr_msrs() */ - return true; + return VMX_OTHER_PASSTHROUGH; } - r = possible_passthrough_msr_slot(msr) != -ENOENT; + *possible_idx = possible_passthrough_msr_slot(msr); + WARN(*possible_idx == -ENOENT, + "Invalid MSR %x, please adapt vmx_possible_passthrough_msrs[]", msr); - WARN(!r, "Invalid MSR %x, please adapt vmx_possible_passthrough_msrs[]", msr); + if (*possible_idx >= 0) + return VMX_POSSIBLE_PASSTHROUGH; - return r; + return -ENOENT; } struct vmx_uret_msr *vmx_find_uret_msr(struct vcpu_vmx *vmx, u32 msr) @@ -3954,6 +3961,7 @@ void vmx_disable_intercept_for_msr(struct kvm_vcpu *vcpu, u32 msr, int type) { struct vcpu_vmx *vmx = to_vmx(vcpu); unsigned long *msr_bitmap = vmx->vmcs01.msr_bitmap; + int idx; if (!cpu_has_vmx_msr_bitmap()) return; @@ -3963,16 +3971,12 @@ void vmx_disable_intercept_for_msr(struct kvm_vcpu *vcpu, u32 msr, int type) /* * Mark the desired intercept state in shadow bitmap, this is needed * for resync when the MSR filters change. - */ - if (is_valid_passthrough_msr(msr)) { - int idx = possible_passthrough_msr_slot(msr); - - if (idx != -ENOENT) { - if (type & MSR_TYPE_R) - clear_bit(idx, vmx->shadow_msr_intercept.read); - if (type & MSR_TYPE_W) - clear_bit(idx, vmx->shadow_msr_intercept.write); - } + */ + if (validate_passthrough_msr(msr, &idx) == VMX_POSSIBLE_PASSTHROUGH) { + if (type & MSR_TYPE_R) + clear_bit(idx, vmx->shadow_msr_intercept.read); + if (type & MSR_TYPE_W) + clear_bit(idx, vmx->shadow_msr_intercept.write); } if ((type & MSR_TYPE_R) && @@ -3998,6 +4002,7 @@ void vmx_enable_intercept_for_msr(struct kvm_vcpu *vcpu, u32 msr, int type) { struct vcpu_vmx *vmx = to_vmx(vcpu); unsigned long *msr_bitmap = vmx->vmcs01.msr_bitmap; + int idx; if (!cpu_has_vmx_msr_bitmap()) return; @@ -4008,15 +4013,11 @@ void vmx_enable_intercept_for_msr(struct kvm_vcpu *vcpu, u32 msr, int type) * Mark the desired intercept state in shadow bitmap, this is needed * for resync when the MSR filter changes. */ - if (is_valid_passthrough_msr(msr)) { - int idx = possible_passthrough_msr_slot(msr); - - if (idx != -ENOENT) { - if (type & MSR_TYPE_R) - set_bit(idx, vmx->shadow_msr_intercept.read); - if (type & MSR_TYPE_W) - set_bit(idx, vmx->shadow_msr_intercept.write); - } + if (validate_passthrough_msr(msr, &idx) == VMX_POSSIBLE_PASSTHROUGH) { + if (type & MSR_TYPE_R) + set_bit(idx, vmx->shadow_msr_intercept.read); + if (type & MSR_TYPE_W) + set_bit(idx, vmx->shadow_msr_intercept.write); } if (type & MSR_TYPE_R)