From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-10.8 required=3.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 82D5EC433DB for ; Mon, 8 Mar 2021 14:31:38 +0000 (UTC) Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 319366519C for ; Mon, 8 Mar 2021 14:31:38 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 319366519C Authentication-Results: mail.kernel.org; dmarc=fail (p=reject dis=none) header.from=citrix.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=xen-devel-bounces@lists.xenproject.org Received: from list by lists.xenproject.org with outflank-mailman.94978.179085 (Exim 4.92) (envelope-from ) id 1lJGuv-0002yE-08; Mon, 08 Mar 2021 14:31:29 +0000 X-Outflank-Mailman: Message body and most headers restored to incoming version Received: by outflank-mailman (output) from mailman id 94978.179085; Mon, 08 Mar 2021 14:31:28 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1lJGuu-0002y7-Sl; Mon, 08 Mar 2021 14:31:28 +0000 Received: by outflank-mailman (input) for mailman id 94978; Mon, 08 Mar 2021 14:31:27 +0000 Received: from us1-rack-iad1.inumbo.com ([172.99.69.81]) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1lJGut-0002y1-Ol for xen-devel@lists.xenproject.org; Mon, 08 Mar 2021 14:31:27 +0000 Received: from esa4.hc3370-68.iphmx.com (unknown [216.71.155.144]) by us1-rack-iad1.inumbo.com (Halon) with ESMTPS id cc59eb84-4328-41ed-ba10-5786d5b1c7ae; Mon, 08 Mar 2021 14:31:26 +0000 (UTC) X-BeenThere: xen-devel@lists.xenproject.org List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Precedence: list Sender: "Xen-devel" X-Inumbo-ID: cc59eb84-4328-41ed-ba10-5786d5b1c7ae DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=citrix.com; s=securemail; t=1615213886; h=date:from:to:cc:subject:message-id:references: in-reply-to:mime-version; bh=mWN3spQ59wAH3sbB2qM3oeD6NUs3Q3h3kF0fyOdYMZU=; b=JqCzgfJQoh+gdNT/O0gq71pC1c0eoTs7S0rOOx81uXi67zOUBnmlWhDX IvQmq80lMDxFXo7Y6ZBTOaSxa9f1mBvesm/82BlVCo9ba8U2eGNY6NuTK y0lDqiEO0+WTg42irD0HxwPpjL+TdD4q1yY1eFr41UKQxTUt/6Lmhzmfp Q=; Authentication-Results: esa4.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com IronPort-SDR: PzLq33xz9an6GQUv3BMNSxCw9kcT0W7yXnY/FBvuSKYNdyBiMlguqJqFZnfMuOuSbwNB37tMHf PmIrSGcot4F5imP7TWQ5YmSkWN4INbXYlCipOi9zZO+wkkcwlW4vvxaTYEYhs4Qpy961r9Qa/W 5eM06Mr8aaPd+16YCsWy84LUTG7G2DQSf3a8u02L/S/eS6uA9eu3scaStrlunc3gOuYy+CcNcm owU/g7cYg33aF1FRnEsql/pnGeHepXntEfHvID7Rtu5uEgaz0n1XrDCDX9SUXy4GMeE6FFd8sV Ivc= X-SBRS: 5.2 X-MesageID: 40183706 X-Ironport-Server: esa4.hc3370-68.iphmx.com X-Remote-IP: 162.221.156.83 X-Policy: $RELAYED X-IronPort-AV: E=Sophos;i="5.81,232,1610427600"; d="scan'208";a="40183706" ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=CSYHXPI8ZReX43OqOZJFlSxOUjUg78O9spm9dZId90cv5+M6f63nRDruIrhUVtNwVyVYzWubLEcsGDL/mS+PAKa56vQP6lDXRlHpu8xJu28bWUrf+PBTVZbAD12RXPIkf/I/6t1ng1PIHDxxGz15DxF1+ZlME9hLXx8JUVZkEhGXpAJ+4h9/2PAO54eUFTVpq2zx1Ev9ZU04vkfU9w71IL0/kbAjx0ZRv64YdRzoGsu7ixevZxpbm9cT8BJQSSC452ojOpC0q7lXiJNttyNLxbKbL96utKI2KZkbEH7ZUJHvBQmM+utPq+L56W/CZsJ4OS1ZyShineFzpyxlj+9bSw== 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-SenderADCheck; bh=4d3Dy42PE2eMQRfsKn+OZa7KCKiS9akaynW4wHVieqg=; b=ikY4LwpgbclGAMC1qTfKwYZeYIez4mIqYf/I8hvHTZy8qZNn/pQVdvGE8ZnpEUOg1FNCSIE6KjwNUVOj/IGCFVF/wU305mN8mwerPq8UcFO5xolr2buJR5cwnRR+4qXPEF0AuXDknMzR1TVI+50Y3K/BlL69G85a+Xw07GTQKblbkFoy/J8Zu50jKkUp3MWDkH7W4NXEu5r3O08Ukt4kEjrKO2ozdQoOj0yM6nMObEFFBg83wcNeBnjDwjZ3FmkcsB/xoZ2jYX2Bi3iLSyu+aHCwvIhbQi16KBDpBYw9FxUPnXeffxuMsKGpEHsF+HXBNKQZK5PxqHe3akk5Jgkm6A== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com; dkim=pass header.d=citrix.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=4d3Dy42PE2eMQRfsKn+OZa7KCKiS9akaynW4wHVieqg=; b=XcASOlhHq3XfeZgZr+pCeAFO6HpaXyAqUhg0lxhuUbVrg2fZEfJPwjoQBNlm0ycN+X9FycUkD1ajFRsNS8O3XIe1whjtcyKT6Ahyh9vVxDkryeDJeMwx3ff2BnypfRR3PHPbrQ+8TC7AAz+qoOT3BNFFn6RVC+rv0ePWa0SKPLk= Date: Mon, 8 Mar 2021 15:30:58 +0100 From: Roger Pau =?utf-8?B?TW9ubsOp?= To: Jan Beulich CC: Ian Jackson , Wei Liu , Anthony PERARD , Andrew Cooper , Jun Nakajima , Kevin Tian , Boris Ostrovsky , Subject: Re: [PATCH v2 for-4.15] x86/msr: introduce an option for HVM relaxed rdmsr behavior Message-ID: References: <20210304144755.35891-1-roger.pau@citrix.com> Content-Type: text/plain; charset=utf-8 Content-Disposition: inline In-Reply-To: X-ClientProxiedBy: AM6PR10CA0104.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:209:8c::45) To DS7PR03MB5608.namprd03.prod.outlook.com (2603:10b6:5:2c9::18) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 39bce5de-24dd-4abe-c57a-08d8e23ecdff X-MS-TrafficTypeDiagnostic: DS7PR03MB5608: X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:316; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: QybXIf5Sj4/u2pfrB9YzViQq8a3R0ctP2XamxhyGp7sFS2ym2v2yBY00WYRBfQA7GLjiTKjld+onmq4hgmTMlGDCOXocHqYgopwPwZMzk7kSCnHparR3D3+sUJsYg3JyrKi70Jz4jzoJH+9i5iq97lsK7kC6TNultccIMDod8cSGjkqQC0YjIxWaiIi+MRrDsanJU9rWIhsAej+eCOCVZEtB7mH3oiSgT/2DzD3MI/6RIFoOw+0/Pq9KZvqUCgFXRFzr7AxJelzm8s71wTQDvRLpkcRab4ge/wb1Ey6R16vllw+fPs8XAi6NoxE4Pb4QddExthWgisS8f+nSOsC3O9i/lw7oKULzO7fItcVmuolgI/P9Aw3Inpa2L127XTx3tPSIv4VnD0+ie2bbLSBfPgk3gABhTUIdkjRHT2jX8UAmNXie4KTwo2uqZgU/Gw9Bmq72M9fgackTVTQLT8vgeeyCyMMEh5LKKfCR8sLk50lglT11dP5cBRfgfQtNr/4o4aNDS2s2/g+AHVYvEExh7A== X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DS7PR03MB5608.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(7916004)(4636009)(39860400002)(366004)(396003)(346002)(136003)(376002)(6916009)(478600001)(6666004)(5660300002)(6486002)(4326008)(33716001)(85182001)(66946007)(9686003)(186003)(956004)(66476007)(53546011)(66556008)(16526019)(8676002)(8936002)(86362001)(26005)(54906003)(6496006)(316002)(2906002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData: =?utf-8?B?N2V5eHpjSXNBQkpqcGJqTEh4K284WUptSm5MQVpHdzh5N1l1UnNaanRqeWEz?= =?utf-8?B?bk9OY1FzRmYvbkhORjhKcHNwVy9EVnMwSkMrRkR6M2RZejZjNU15cnQ3S0lx?= =?utf-8?B?TDRVM1JmUkYrNE05Ynl6dG1wbGpRSGUraUd0OEJCcFUrbGtCTFlBODJhVjBJ?= =?utf-8?B?Q0NvQ1hQRzg3NWN4VDhYWUlVdCtXMkxqMm1pT09sbnRBbHJFWjVpcmNiK3l1?= =?utf-8?B?MU9icnJ2WmlRVzVvSUN6Sk9PanFVOXI0RjV6YnIzMmZJUW5lRE9uazJtWms0?= =?utf-8?B?TU0rVzhvY1pjTXJiYTg1SzQ4SHFPNHRzT253cWt6cEdvd0lncVhkNDZWVXJ4?= =?utf-8?B?bDR2MVpkSWpZVm51VWJaUENXSDZ6Q0t4djZVV2xiVUgwWkhkblMzUXllMXBv?= =?utf-8?B?aFlMUHl6djNaOHFoZnZkcHU4N3RKVXdGK29xazlhYTdEdWtzSEFqZ0F2MGtR?= =?utf-8?B?K3JKVktZRDE2amJFNWpCYURhc1N0cERxeEdDcUR6VWtuU0ZEQ0xEMFRHR0Q3?= =?utf-8?B?VW5rN3ppMTVGaitpSWgwS0gxL3E2dTRaMnZ2WWYzZ0RQMThKR0x2Z2tYZENO?= =?utf-8?B?SEhWZkxzOXJnUWxzT0NhMS9FOC9UTmIyVXlQaStCSDliZk1McFJIZlJzVHpH?= =?utf-8?B?ajl4eFRDdXlqOFhMRUJZaERqeW1UMjl4NTBURHlFOTQ1cVF1NzZmMEZDRjVq?= =?utf-8?B?cVNlRUFYcFVsb2VGb1I1R3Zhcy9KOG5tKzVDUzYxTGw3NGV6WnFQZ1JPWFl2?= =?utf-8?B?aTVYUGkvVXlhWlBGUEY2RGxUR2c0ZGd1V0hKMzFoZzBzRDlxWEVEK0RweENS?= =?utf-8?B?clNxR010UUE0Y29vQnRLNXdaaXFZQ2xNWmJyWlRZR01mNjFORStWMzcwdlN4?= =?utf-8?B?RHBIcWRLTGt2N1BnNHRQVlNGMXlmNmxwQ0RHZ3hBRUROVGtpeW1xckxkNW52?= =?utf-8?B?cmlncFQ3MGVjbklJSnFVYzhRTWIydlZRUCtsWThpdVpoZTU3YWQ5TTdmZkdt?= =?utf-8?B?QVNYOHZjUG1YLzZMbXR5TEQ2OEIwczFVclllVjB6eW1yalFLUGg3a0svZG95?= =?utf-8?B?Q29OTWlCb0c1YWxuNWpDWUFhdTE0M0dGbUtzaGFEM2pmRWpDWnhyMHE0YmVn?= =?utf-8?B?RjVxc2ZBQkVMQjJoVXdzK0pTVGlmeGJIM0RGSjZsQ2VkNUtGTU9hdkxLanEr?= =?utf-8?B?TmVUUUI1SVRrTUQ3S2hZdnpTQVJTUnJCWGlseEo3QkNYZEhVSlNNWFdrZ3lr?= =?utf-8?B?WVV5OFdCRlgzNUNQV2xQWG5wNE1PbWZrUFRPSWQvTmlqM0haZGI2eWNCNTJH?= =?utf-8?B?ZndDRTZRNFFuc040ZVBHZWtkWFRYMWRaR0ZZK1IvQ2lWb0FCcnE2dzcvME5i?= =?utf-8?B?aGFPTjJqbHYxbC9EWmtjZHpLNytZb3F4ck9ENnFvQ3ZoUmZSK1llWXlUclVl?= =?utf-8?B?djlpeTJSSFVBeU94SzdWMWMwL25qQUxwRDg4SjFOL3NUMTViVDRreTFmSDFH?= =?utf-8?B?NklKWjZUZGp0Z3Ezbk83T3liaEZKMFBzdFpoZzRTYXV1R0thbzRzRmFEdU1E?= =?utf-8?B?M3NEZXcxQWp3aS9YdGlOanN5bTdiSitVOTAxRjJiVUZiL3VKSG5uRDVLNi9O?= =?utf-8?B?V3Rmdis1dkJIdy80MGROSisrSWhQbXBJWHM4ZG5hY1oxZEE4V252bnNGSko1?= =?utf-8?B?UEVnVjhVOHpZZEpCaDI3ZDg3dS8zcVJFZVFNZEZSSnZzc3p0SWZmWWF4eCtz?= =?utf-8?Q?kOlOhLNgSBf4V5/kD53tmjZElw2W6/So45ERXQ9?= X-MS-Exchange-CrossTenant-Network-Message-Id: 39bce5de-24dd-4abe-c57a-08d8e23ecdff X-MS-Exchange-CrossTenant-AuthSource: DS7PR03MB5608.namprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Mar 2021 14:31:04.7016 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: g5Bz8JEUX5p3jp7P8XEQoMg7N+JCz86Sr2u8Vn7QV4B+89YMk34xgREFLH1IVi/gr5e5cdbChzanW2ym3LiW2g== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS7PR03MB5608 X-OriginatorOrg: citrix.com On Fri, Mar 05, 2021 at 11:56:33AM +0100, Jan Beulich wrote: > On 04.03.2021 15:47, Roger Pau Monne wrote: > > --- a/xen/arch/x86/hvm/svm/svm.c > > +++ b/xen/arch/x86/hvm/svm/svm.c > > @@ -1795,6 +1795,7 @@ static int svm_msr_read_intercept(unsigned int msr, uint64_t *msr_content) > > const struct domain *d = v->domain; > > struct vmcb_struct *vmcb = v->arch.hvm.svm.vmcb; > > const struct nestedsvm *nsvm = &vcpu_nestedsvm(v); > > + uint64_t tmp; > > > > switch ( msr ) > > { > > @@ -1965,6 +1966,11 @@ static int svm_msr_read_intercept(unsigned int msr, uint64_t *msr_content) > > break; > > > > default: > > + if ( d->arch.hvm.rdmsr_relaxed && !rdmsr_safe(msr, tmp) ) > > + { > > + *msr_content = 0; > > + break; > > + } > > You don't really need "tmp" here, do you? You could as well read > into *msr_content, as you're zapping the value afterwards anyway. I also thought about doing this, but felt unease. I fear the code might be changed in the future and maybe msr_content is not zapped anymore, thus leaking the content. I feel it's safer to use a temporary variable that will never be returned to the guest. Maybe I'm just too paranoid. Thanks, Roger.