From patchwork Thu Nov 18 13:13:43 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jan Beulich X-Patchwork-Id: 12626999 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 11473C433EF for ; Thu, 18 Nov 2021 13:14:10 +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 A7E3A611BF for ; Thu, 18 Nov 2021 13:14:09 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.4.1 mail.kernel.org A7E3A611BF Authentication-Results: mail.kernel.org; dmarc=fail (p=quarantine dis=none) header.from=suse.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=lists.xenproject.org Received: from list by lists.xenproject.org with outflank-mailman.227400.393286 (Exim 4.92) (envelope-from ) id 1mnhEa-0008Qd-VT; Thu, 18 Nov 2021 13:13:48 +0000 X-Outflank-Mailman: Message body and most headers restored to incoming version Received: by outflank-mailman (output) from mailman id 227400.393286; Thu, 18 Nov 2021 13:13:48 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1mnhEa-0008QW-S9; Thu, 18 Nov 2021 13:13:48 +0000 Received: by outflank-mailman (input) for mailman id 227400; Thu, 18 Nov 2021 13:13:47 +0000 Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50] helo=se1-gles-flk1.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1mnhEZ-0008QJ-L1 for xen-devel@lists.xenproject.org; Thu, 18 Nov 2021 13:13:47 +0000 Received: from de-smtp-delivery-102.mimecast.com (de-smtp-delivery-102.mimecast.com [194.104.111.102]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS id 5caedfc5-4871-11ec-a9d2-d9f7a1cc8784; Thu, 18 Nov 2021 14:13:46 +0100 (CET) Received: from EUR03-AM5-obe.outbound.protection.outlook.com (mail-am5eur03lp2056.outbound.protection.outlook.com [104.47.8.56]) (Using TLS) by relay.mimecast.com with ESMTP id de-mta-4-uSpZ9odVPXG20505mv0x2w-1; Thu, 18 Nov 2021 14:13:45 +0100 Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16) by VI1PR04MB5165.eurprd04.prod.outlook.com (2603:10a6:803:54::25) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4713.19; Thu, 18 Nov 2021 13:13:44 +0000 Received: from VI1PR04MB5600.eurprd04.prod.outlook.com ([fe80::8062:d7cb:ca45:1898]) by VI1PR04MB5600.eurprd04.prod.outlook.com ([fe80::8062:d7cb:ca45:1898%3]) with mapi id 15.20.4713.019; Thu, 18 Nov 2021 13:13:44 +0000 Received: from [10.156.60.236] (37.24.206.209) by AS9PR05CA0055.eurprd05.prod.outlook.com (2603:10a6:20b:489::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4713.21 via Frontend Transport; Thu, 18 Nov 2021 13:13:44 +0000 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: 5caedfc5-4871-11ec-a9d2-d9f7a1cc8784 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619; t=1637241226; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=eOVU/IktMNarHrzq1eR850T7kGTI+/Z3sQLri7a16Vs=; b=L+h+7yNB2Nyebmuo4Ml2YmGAmpkWORuNvUymlF0riosDf0wui+SHmFZeXLZD7H+KBvlDxC 8yeddsGCxfYNRz9W8vogM4eFIrtQR6vU5qABKwyTPhLVHMilG3Nw9m1YiafntxUL3TvKo2 V1RzYwtiMWQ6abZKmLHTvI3vBvhrUUg= X-MC-Unique: uSpZ9odVPXG20505mv0x2w-1 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=hL2b/G1b4jsYWi+4D8AsVEMaiKZgmyaap7qYxrNObjC7FrZpY7E2K8WDWVFVJ2iskLXxEMT9Cw7L04j2LVscS/MZQYOeZdptquudUmhAbnaXUq7YLihqZZjsGThKfflBHq8I8FvkBJXm9YHYdL0477IMhUYe6gy44DJ0owaB3RoWJZSJBNMGW6SdmHDVVgZJh/mgqHWUZX77SoCpCDkih74bPGSeWuGr3PUiC9P+LjbCaMuScVwVyaDrxUav3DZG5Zrqlgp3lyHLBVd391e7HM25cGVVX3dfkyRvjfNbndNAbBpyHOHAKJNIl2yTUFwHURihDfF3YD433WviRNlSng== 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=eOVU/IktMNarHrzq1eR850T7kGTI+/Z3sQLri7a16Vs=; b=Ki9If9sbqdl0YYB0D2FmM5CYq7Oxzz1LoxOe1CugHheonvDGp8t/pY2VCAnE/sx3GC/m4p8dpHxJ7rp8hY5vG+9ssaS/PPYENpO/04vNtqx7A1fdEzI4/oNvkXQndAnjoXxxGJV0G7iTsuk//Y3cnb7sZSNryX/Nf5NSDQxVAvpNg6CLp2YvFDxrNctby1YccckM+F36WI9rpWF1fVcHi5itK/ye1ew4KOlqKxstdCT5JK9kDytHSwyKirday1zxDuf8fPzFFAGTNAwkDR/YbbblLppL6H7IHBrOuR5H13X549SecUR7B97RtMBwSMwOavVeI7HEqZDhwupu/pAGOg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com; dkim=pass header.d=suse.com; arc=none Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=suse.com; Message-ID: Date: Thu, 18 Nov 2021 14:13:43 +0100 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101 Thunderbird/91.3.0 Subject: [PATCH 1/3] x86/Viridian: fix error code use Content-Language: en-US From: Jan Beulich To: "xen-devel@lists.xenproject.org" Cc: Paul Durrant , Wei Liu References: In-Reply-To: X-ClientProxiedBy: AS9PR05CA0055.eurprd05.prod.outlook.com (2603:10a6:20b:489::6) To VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 21ac61cb-8bb5-4a2d-3b46-08d9aa953fae X-MS-TrafficTypeDiagnostic: VI1PR04MB5165: X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:2803; X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: jhXxK4K7FILXhA+kK1jvKynLlUATITXA29cAq2bO8CJym41J57CWbLwisJZcyf9KyKTDmm+Ymi24LctjND8mFudc2xityiayHePPZFV/MV33q1gCxLklgjzwed0C1FNlC3NQKP/qRdaxG+xLnBfEdnUKKKfP7zBfuDbRjk4v7izwFTo2DyPk14dIv8akAqDX3PEmvCOivbfYgZWEao1v7ZHopdoKYmMwZ99gY/XPhEHugkdykpG80xbLBxwep52IxgEQSYtBzIeKALq6cNbQ27bhLbsRVgckRxGmmxgvQ9ce0g82ZzX5ZKdVH8jhK5Qj6ejpXWhpvZUZJR46++Vf47L/uTNCMlK/gvi2q0xaa6+apzQSoJP7nHBCWmQIVvEEcH3E/P4TH05SeJoOM+WArpD5a0fZJqUMTg7YwULAt3GZnOCczuDs80IUWHKJCmYqXRaBm2cOX/+8EVxYt86ngqaZBRt7EZtwyoKwhsprk7niZpPl8DukivWHpc4VBcx1GgMxv9ZEBd4b5FhrtjisIEDbBv2dafXgj3NRUgmcRNKcbZrPfQD8zjHhQRTnrFfeB8gIPe8F7nW+GqptF4uY7WjakEUw6WdSUUQOpFXZTKd24kyyxIbOIZzxQ3s3wh8wneEqh8j6BQN/UybaS1fF6TWBabZy50IGMYcRXLEmtV8KHT64FJ5RNx/xur1Li7aYpVSS08jVmcFHahRQEJmwsgHqittFU6e6qOI89JY53Bw6fFcP+EVrz5/zh4DTRIjX X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5600.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(366004)(6916009)(38100700002)(83380400001)(54906003)(16576012)(956004)(66946007)(26005)(31686004)(4326008)(316002)(31696002)(2906002)(2616005)(86362001)(186003)(5660300002)(66556008)(66476007)(8676002)(8936002)(6486002)(508600001)(36756003)(43740500002)(45980500001);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?q?DyhzBf8lec1TEocMEP4K9PFkpBQL?= =?utf-8?q?U7xD5Zq0yilBVJGkGGWGqqiQKvPpISSkaEyjg29Vrj98QXwEwAnud8FlXCC3kVIxM?= =?utf-8?q?rA1imuczveZtAO1/vyZLu7RYBgoJtJCHLmXDzFKILolnHG+lk2pUk/DIvTXFSwubV?= =?utf-8?q?et2U51NNaurIIjGu4HYHGC2Y/S8MyIclHMQrlAwYDCWqnsNVn4fTgvxw9xl90OF4C?= =?utf-8?q?9VXuHY80/fjAn+YDW94oS23ycXYSddW97V9E8wS0xPgZS2AXO/BVMp2VuwegZJ/62?= =?utf-8?q?8WURcS3XO9N26BQ3sJ1XcT8QcCnJDi75lGomeiwrVNW4PfxNs0wxeZ3srFNySxLfK?= =?utf-8?q?Kjpymv9nMMlEfmBYOdWiMBlPpZZMktJSlc4/z8mjobXXrkVMRrKRULUWWzxxaKejj?= =?utf-8?q?zt4Qp9fFz5/K3K/FN2nYhUtox5XhcL7TmZkVGTmhY6qGe5qJHKLMpivt1WLY/jk4A?= =?utf-8?q?k3qzcTHC7v+TeD058CzCZnEDvJV6XyPnQtOWfaEKJucgybqgy0fMxoomJYtY2tcMh?= =?utf-8?q?S9tet/GMzVxNaqAc9NERYxsQdrpaA3aG/MmHDlvUAWEhT8Ws1xkfMZi9Je7vp4Hzr?= =?utf-8?q?8GnhmacAOUuw2Qv+1drL1TxWvQCTVfckHEEFpoJrphdv/G/z4hC4xUeOgnyYXzMQ/?= =?utf-8?q?lLGkHaIuHVd7aKZ8LvQthdRLfpO/CuFfkzvjB+0sCMS2YkpYate4h7YbzhkOxLgrY?= =?utf-8?q?z1l6eCCNSi/+OEyOzh/MgTiUxbvELMpaaYHK42aMq1H23gG1Ij7a/eL+A23PRnpE4?= =?utf-8?q?6aLPP1s7x0BHspnxBQ18iW9q8z/fTBBzlCXlb1PBuL8CQ44rMRx6XqKIVNsEp/QKq?= =?utf-8?q?Ttg0dKjProm3i9/vcGCTu6G0k588ouWb43Z8wSc9D760rnhRKxg8BIdejDrG3XLFh?= =?utf-8?q?f/FtRsZnrrbJN3m5XTP+ThCXSlTxYlxD7/9cQ6k+iKX8pWBx7o96m6LCergBrUp4E?= =?utf-8?q?80mhe7rCggbGNTt2rxPoL9aWR8rKSDEYqr2YNdhkG9qxGDie/TYbrI/7zB3qdU4cu?= =?utf-8?q?aHFaD44SHG1u9E2x7tPkNpvGSdI3Y3yiCL1vHHqI6W7n2DKVf2BSwBeO30EPKCJ5J?= =?utf-8?q?rp2ASrZefImfp28X1Q9kHxXlnZ9pK383T+vhAjMLhKO+1iSvZ6g/zHxVHLohCSHXy?= =?utf-8?q?cKXoLYIVxGshpzgOWxf++RR6fPIIm/0AmtNq2Kakg4ooMsYfxl2p38GouU/yX1lq1?= =?utf-8?q?Ux63YiSiNOmzoLg2rLg6IK3FxLnG2kD50fRISmv+eTKcjkNGl9273dvd5kL41mkv3?= =?utf-8?q?ESI88/klZ1H5kieS0JPXetXP03YjlVsBWix6kdAEcsxexlhFSZgUv68OKFKvpGWZB?= =?utf-8?q?7pknBeox+VDvc6mBlNzSJ6fzMXJ0+pyJbw7I1ShdyaaNiQ++JABJOG/YMO/ySKoWe?= =?utf-8?q?TXc5shcWTY6ZgRn95cAWO/RPdSOOfVbSYlJ8eBNU94LoPub9MB9SIGybkTHa+SDat?= =?utf-8?q?T9tOkpIx3fjRuQRXLJZSB4ybKC9X2rGU0BOEX3PhwwoHHql8ON96b65KptgFLRbMt?= =?utf-8?q?xXFiFcxXPG8e9t48ejqOHusTSHBHKo/busI0xC0SyVrtuepCXQeihPE=3D?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: 21ac61cb-8bb5-4a2d-3b46-08d9aa953fae X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 Nov 2021 13:13:44.6427 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: psnhVAYenQi/JrSZ3l9PjUjODhKaVZdb1oXHTSVyix4oeNm0R1L+X5Qj7E/U2VoWH1PP7MSJphDUuGjKKMp8Jw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB5165 Both the wrong use of HV_STATUS_* and the return type of hv_vpset_to_vpmask() can lead to viridian_hypercall()'s ASSERT_UNREACHABLE() triggering when translating error codes from Xen to Viridian representation. Fixes: b4124682db6e ("viridian: add ExProcessorMasks variants of the flush hypercalls") Fixes: 9afa867d42ba ("viridian: add ExProcessorMasks variant of the IPI hypercall") Signed-off-by: Jan Beulich Reviewed-by: Paul Durrant --- a/xen/arch/x86/hvm/viridian/viridian.c +++ b/xen/arch/x86/hvm/viridian/viridian.c @@ -628,8 +628,8 @@ static unsigned int hv_vpset_nr_banks(st return hweight64(vpset->valid_bank_mask); } -static uint16_t hv_vpset_to_vpmask(const struct hv_vpset *set, - struct hypercall_vpmask *vpmask) +static int hv_vpset_to_vpmask(const struct hv_vpset *set, + struct hypercall_vpmask *vpmask) { #define NR_VPS_PER_BANK (HV_VPSET_BANK_SIZE * 8) @@ -919,10 +919,10 @@ static int hvcall_ipi_ex(const union hyp input_params.reserved_zero[0] || input_params.reserved_zero[1] || input_params.reserved_zero[2] ) - return HV_STATUS_INVALID_PARAMETER; + return -EINVAL; if ( input_params.vector < 0x10 || input_params.vector > 0xff ) - return HV_STATUS_INVALID_PARAMETER; + return -EINVAL; *set = input_params.set; if ( set->format == HV_GENERIC_SET_SPARSE_4K ) From patchwork Thu Nov 18 13:14:04 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jan Beulich X-Patchwork-Id: 12627001 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 97BB4C433F5 for ; Thu, 18 Nov 2021 13:14:19 +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 49CDD615A4 for ; Thu, 18 Nov 2021 13:14:19 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.4.1 mail.kernel.org 49CDD615A4 Authentication-Results: mail.kernel.org; dmarc=fail (p=quarantine dis=none) header.from=suse.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=lists.xenproject.org Received: from list by lists.xenproject.org with outflank-mailman.227404.393297 (Exim 4.92) (envelope-from ) id 1mnhEw-0000TE-8D; Thu, 18 Nov 2021 13:14:10 +0000 X-Outflank-Mailman: Message body and most headers restored to incoming version Received: by outflank-mailman (output) from mailman id 227404.393297; Thu, 18 Nov 2021 13:14:10 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1mnhEw-0000T4-47; Thu, 18 Nov 2021 13:14:10 +0000 Received: by outflank-mailman (input) for mailman id 227404; Thu, 18 Nov 2021 13:14:08 +0000 Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254] helo=se1-gles-sth1.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1mnhEu-0000Rz-M1 for xen-devel@lists.xenproject.org; Thu, 18 Nov 2021 13:14:08 +0000 Received: from de-smtp-delivery-102.mimecast.com (de-smtp-delivery-102.mimecast.com [194.104.111.102]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS id 695883b9-4871-11ec-9787-a32c541c8605; Thu, 18 Nov 2021 14:14:08 +0100 (CET) Received: from EUR04-HE1-obe.outbound.protection.outlook.com (mail-he1eur04lp2058.outbound.protection.outlook.com [104.47.13.58]) (Using TLS) by relay.mimecast.com with ESMTP id de-mta-20-xJvxcdKrMR-nCBxJiEYVOg-1; Thu, 18 Nov 2021 14:14:06 +0100 Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16) by VE1PR04MB6383.eurprd04.prod.outlook.com (2603:10a6:803:11b::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4713.20; Thu, 18 Nov 2021 13:14:05 +0000 Received: from VI1PR04MB5600.eurprd04.prod.outlook.com ([fe80::8062:d7cb:ca45:1898]) by VI1PR04MB5600.eurprd04.prod.outlook.com ([fe80::8062:d7cb:ca45:1898%3]) with mapi id 15.20.4713.019; Thu, 18 Nov 2021 13:14:05 +0000 Received: from [10.156.60.236] (37.24.206.209) by AS9PR05CA0037.eurprd05.prod.outlook.com (2603:10a6:20b:489::28) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4690.25 via Frontend Transport; Thu, 18 Nov 2021 13:14:04 +0000 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: 695883b9-4871-11ec-9787-a32c541c8605 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619; t=1637241247; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=a8687ihPanRL+3ac1IjZtotfsNsyk2rdhK4easY+hVg=; b=UwTf/oS1YYVXjEuEhfPfC5bJZJVh6JigJicdpJKLi1TLih5HkzIBC1uda0fQ51mrdolQGv SDfM37yzgWuTaaYRyK8pQjasrY+MGpw0DJNfUkwxjgMyTOb8K6TTi4SoTrmbcUu+Sl9K2T sOf8UFN7SAuxfTvRTnGq3mjy8kexAYg= X-MC-Unique: xJvxcdKrMR-nCBxJiEYVOg-1 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Taxmt4IK+K7Z9jpTodVrqmA1byvbF845qHZdtqM/ZE3lTo+JegbsgCtg3esdFdNk1wqrlpZ2M9WYXNBU9rT5h5XrszYPjbPeyX+/K6K20unqepJyIfi9yQohR8QAdLCFaXBK1mlH9z64oTTQjL+zDp7i26uOZSH8FzEuUJqHcrU3LNSfsJYbQh6WJAAm/r6PSQqILL0Szmhvg1hpJ/5lG78GecXmHPuSgIWle6CzCE0OghRmm481ud8JE+ug8cu+mHX51mKIt64q9xDshox519LxEg4B8S6ohd6/Jp7/DHzsyGW1gGKkg7Ei2Z/uqhXGAGVx/jCSlB1rIZ0g0zfAfw== 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=a8687ihPanRL+3ac1IjZtotfsNsyk2rdhK4easY+hVg=; b=BlYCAIEf6SP+s1byNcr41bQ9mijij1LvzRzr9xjhokEhsjJ1unyGAbMBIxq89TiBJjlsCI7I7U9qNoBW8LnasBK5H6tKVZ3NmQEVp1iZZz+Aqi/qOtcEgOsJ/1EQjO9kCip/4d6//sKXwfWvUJ5ayN0faXYqD3vfmjP68OYp808wNgVxW8vpAhR/HTCJoT6T5PPzZ3pv7RSQfamAJ/JEdizBAomgylUdf3P8zbjs/wq0aneyQOzRioXiY5kFImZWKCL/UwPyrUbThmfBkPOgUTdttD7MLloGl5DfIDb0TKyqsaB4T2Be31rh64ImMR7f9Mm+okeeTs2n2QYjkT/zNA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com; dkim=pass header.d=suse.com; arc=none Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=suse.com; Message-ID: Date: Thu, 18 Nov 2021 14:14:04 +0100 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101 Thunderbird/91.3.0 Subject: [PATCH 2/3] x86/Viridian: drop dead variable updates Content-Language: en-US From: Jan Beulich To: "xen-devel@lists.xenproject.org" Cc: Paul Durrant , Wei Liu References: In-Reply-To: X-ClientProxiedBy: AS9PR05CA0037.eurprd05.prod.outlook.com (2603:10a6:20b:489::28) To VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 51b5f890-ad72-4299-67eb-08d9aa954c02 X-MS-TrafficTypeDiagnostic: VE1PR04MB6383: X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:1824; X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 4IawI3xG5ZN7ziZYYC7th0hQYAsllEQ0uAorJ+mNKNKQy7ntRB8Jxfn+FXJunjzLDJ/cvb37Y0eQ1eVxWuB/J762sH1wKRCKqHwWRYGwZLXjpWtxWASzneJ7GLK6U1upf0ZpRA8UluuhFObPZM225EzfqjVh9H8o+E2LonPr96T0XP6XDa+x3twPao/De9UO3CO9xUfOdIHoXeJfOWLRt5+bifjbKnAHcWx4m3KEx/v9Z22gq7csUVNlBimbSM4WrMN2C1WqAKAK2DqdQ3z/IgXx1Z+Vn3gTxZSbVYff/ClMeTJVflxUt1FeUd1NRZreRnzB2i/bPHCTuXvBz1QkKHSsesIi8Zg7QE3B0N5r4D1aCrpdBIxltpJLTcb/svrGUkDG47fQsiIP9LuRk9U/ctDMA/nf/rR9d0eMma6ICR1EIlIlBFvJvYI741cFmiQIe0whtZpvgRj5CjgD80UNv1fFgsJQKw9EyaR/dtpJ87RLfr23R0n/AnxS48zb6k57rjbR901/3TmyZHpser1Cy9rhukQuDsLYg7foaZMrGCmrR0KgrBf/uedT99FcwG4cTipSVtjk4sWwwIzOToRu6EM4c3PLkFWVm937rC2l5BWD/covhEH894tTK5NtTW6RJheNcgTdTVCIKeUBiewKdYLvicN86NDwdXMBKlWeybxoU2Ni8fA8VpgvDZ7HNbStBbjVXDn5N8uNSFTcVJZGSnOujU27gO5cZT70SVQXL6M= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5600.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(366004)(8676002)(66556008)(2906002)(26005)(5660300002)(31696002)(508600001)(83380400001)(66946007)(38100700002)(186003)(4326008)(66476007)(36756003)(6916009)(86362001)(31686004)(16576012)(54906003)(2616005)(8936002)(15650500001)(956004)(316002)(6486002)(45980500001)(43740500002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?q?yoCZtb4neClfdYFotHCM4CvKwA4U?= =?utf-8?q?qHJI3S1Ue4sMAsixdwXNNSWXoid/kCQeknMf+UndWB9mrTWMdYE1qn5auue8SFvwh?= =?utf-8?q?1rmoLeOOTJIo4M2Vz6wEl044g5DscdO05fa0i5DklL7a7tTi2LsdnOpBdJzbJqZS2?= =?utf-8?q?i6gq+021cIfpgzuwbouLsD5oQf0ZnwhlMf4D9VK7hqRDw5onsL2bFSCh8Amo2acCN?= =?utf-8?q?wnuZXMhrNyP5nFH1toIlol2YoScMdj4RGxfkVs9mTSN04h0z4/RibNFDoWhQ9Pdax?= =?utf-8?q?kv62ggV9l+vx+bmcclRaTPHCoUWGs3XfHP/eptESnPau7tovGeVqoHLj5Ib6k3m2I?= =?utf-8?q?D6vV049/0tofoFKYBnLS6skRyIGDFXWjkITzMspJxf0DQr7InnrxUY4wwb2MFK7cy?= =?utf-8?q?SuOYYN/iRczhnmDKBJ9XIcS10z1Wn+x33d7PTne0qE48hV8qUlQJDH22hxSlP9+Fc?= =?utf-8?q?37280ybv3DH1JaC3H2QK9YFDWNV9pEd0Pcg4T+S5ShWdtt9hUCXuJgcdIbkK7/CmB?= =?utf-8?q?ZxISkSmDcQH4qjcoXW/BSvq2ZFqgE6zszvVaFYyLd4ayjWQNeQxOjimHmZ7IYAO+T?= =?utf-8?q?Of3e5LCA/0dqWhbp73n6+mwkTz/F40476QpANsxufj29V7QBm4QBS+TqLQDjQ9LKV?= =?utf-8?q?lhyFPrx1pU5c5JTbacD2nDqbO366Ru/NEFBg+ZmoAKe0K+6bl8uxNljnmYvVoOsJj?= =?utf-8?q?R02HkI+g4auhXABLj1u9BXCD7DeZJCku1wckpE+O9ZC0/85E8pyOkp2mbgaPJBVAq?= =?utf-8?q?48VkUFFOq1psCA0e+RALfq8JkyUrj3qOq3lbPQf3CTnTpsfVPEo1h11PtsKbGW68Q?= =?utf-8?q?pMH3h1oUySKM3x48hkePFy0aPRQs9bOevQxELqC+gnuR/wKinjvcFIv/QcFUHKYWt?= =?utf-8?q?Pjczk4/PdKMmSaU/Sei+uFBvoZz5Z1j95cKDXWTn69G0he5WYophdQkNooM4ZnpOW?= =?utf-8?q?1navN/7m1S9TvQz3LG5rKcrqyjSfowNHP1YyvWiUtqPZO8AVjE6C9hTsjQvpixUer?= =?utf-8?q?HnEyas927FrLO4PktsSkNh+i7T/Sx08L6seNmZRpdxqMwKmC5Ck8q8qkQz85QnrOw?= =?utf-8?q?A3apUP9D0SML4TQxuMBG7f28Lq0ZqoBkGcjkra3q0uo2YrA2hi9k0R6zsoIps9E6X?= =?utf-8?q?7j/wxCNBl/m8tFUeGYMH8i75tMhMNL9lgDCQU8HvFHzaPm4AgE969yXvWaUE47rhA?= =?utf-8?q?3Z9uwLWem6tEfPw3k4Wgi49OQz5M2f5/RZ10m3cUOBcFG5AMPes2l9NKnh3ixCyOa?= =?utf-8?q?Ta32CsZJLN0iSpp/VDl/ewITD7WKmE2V+ljLG06cSf02q1BsTnhfqN+EJd+oDQHRh?= =?utf-8?q?fTHZ53V6WRp8KKD2lHVsK2ecASE4nmTJunSRlLuRicv6EbqIqAo97IR1p6YLeXRib?= =?utf-8?q?rqNqJKCQ7lTRrFJ3q3ndxh3a3gA7Pft7KpMaF45EH0HN1qoxZpl/gJqkMiFp6RkaZ?= =?utf-8?q?q3bbb0VDHqcwzeVLVj9isx9B5zn89X+k+ofTn3xmmX/z9HE99A6JJmMMeTH4gP75B?= =?utf-8?q?Aep4sfZpEWaI7syoWXKaQ0+i+ATz2H7soR7OZuN3lAX+O+/d+6US9Ik=3D?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: 51b5f890-ad72-4299-67eb-08d9aa954c02 X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 Nov 2021 13:14:05.2850 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: 7TbSMx7wJlvvLnGkXUCXP0GWfWUxsvt6cxvHBAx3yhwK9dqd0WBug0pL6DyPyqhDBGEW3Zz5q1ncT6Zbe+AfKw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: VE1PR04MB6383 Both hvcall_flush_ex() and hvcall_ipi_ex() update "size" without subsequently using the value; future compilers may warn about such. Alongside dropping the updates, shrink the variables' scopes to demonstrate that there are no outer scope uses. Signed-off-by: Jan Beulich Reviewed-by: Paul Durrant --- a/xen/arch/x86/hvm/viridian/viridian.c +++ b/xen/arch/x86/hvm/viridian/viridian.c @@ -776,7 +776,6 @@ static int hvcall_flush_ex(const union h { union hypercall_vpset *vpset = &this_cpu(hypercall_vpset); struct hv_vpset *set = &vpset->set; - size_t size; int rc; *set = input_params.set; @@ -784,8 +783,7 @@ static int hvcall_flush_ex(const union h { unsigned long offset = offsetof(typeof(input_params), set.bank_contents); - - size = sizeof(*set->bank_contents) * hv_vpset_nr_banks(set); + size_t size = sizeof(*set->bank_contents) * hv_vpset_nr_banks(set); if ( offsetof(typeof(*vpset), set.bank_contents[0]) + size > sizeof(*vpset) ) @@ -798,11 +796,7 @@ static int hvcall_flush_ex(const union h input_params_gpa + offset, size) != HVMTRANS_okay) return -EINVAL; - - size += sizeof(*set); } - else - size = sizeof(*set); rc = hv_vpset_to_vpmask(set, vpmask); if ( rc ) @@ -903,7 +897,6 @@ static int hvcall_ipi_ex(const union hyp } input_params; union hypercall_vpset *vpset = &this_cpu(hypercall_vpset); struct hv_vpset *set = &vpset->set; - size_t size; int rc; /* These hypercalls should never use the fast-call convention. */ @@ -929,8 +922,7 @@ static int hvcall_ipi_ex(const union hyp { unsigned long offset = offsetof(typeof(input_params), set.bank_contents); - - size = sizeof(*set->bank_contents) * hv_vpset_nr_banks(set); + size_t size = sizeof(*set->bank_contents) * hv_vpset_nr_banks(set); if ( offsetof(typeof(*vpset), set.bank_contents[0]) + size > sizeof(*vpset) ) @@ -943,11 +935,7 @@ static int hvcall_ipi_ex(const union hyp input_params_gpa + offset, size) != HVMTRANS_okay) return -EINVAL; - - size += sizeof(*set); } - else - size = sizeof(*set); rc = hv_vpset_to_vpmask(set, vpmask); if ( rc ) From patchwork Thu Nov 18 13:14:46 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jan Beulich X-Patchwork-Id: 12627003 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id E5DBDC433EF for ; Thu, 18 Nov 2021 13:15:01 +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 9825361ABA for ; Thu, 18 Nov 2021 13:15:01 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.4.1 mail.kernel.org 9825361ABA Authentication-Results: mail.kernel.org; dmarc=fail (p=quarantine dis=none) header.from=suse.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=lists.xenproject.org Received: from list by lists.xenproject.org with outflank-mailman.227409.393308 (Exim 4.92) (envelope-from ) id 1mnhFb-000181-I3; Thu, 18 Nov 2021 13:14:51 +0000 X-Outflank-Mailman: Message body and most headers restored to incoming version Received: by outflank-mailman (output) from mailman id 227409.393308; Thu, 18 Nov 2021 13:14:51 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1mnhFb-00017r-EB; Thu, 18 Nov 2021 13:14:51 +0000 Received: by outflank-mailman (input) for mailman id 227409; Thu, 18 Nov 2021 13:14:49 +0000 Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50] helo=se1-gles-flk1.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1mnhFZ-0008QJ-Ls for xen-devel@lists.xenproject.org; Thu, 18 Nov 2021 13:14:49 +0000 Received: from de-smtp-delivery-102.mimecast.com (de-smtp-delivery-102.mimecast.com [194.104.111.102]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS id 81c33106-4871-11ec-a9d2-d9f7a1cc8784; Thu, 18 Nov 2021 14:14:48 +0100 (CET) Received: from EUR01-VE1-obe.outbound.protection.outlook.com (mail-ve1eur01lp2056.outbound.protection.outlook.com [104.47.1.56]) (Using TLS) by relay.mimecast.com with ESMTP id de-mta-12-Vh5s9ku4Me-GXLzm78DRgA-1; Thu, 18 Nov 2021 14:14:47 +0100 Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16) by VI1PR0402MB2704.eurprd04.prod.outlook.com (2603:10a6:800:b5::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4713.22; Thu, 18 Nov 2021 13:14:46 +0000 Received: from VI1PR04MB5600.eurprd04.prod.outlook.com ([fe80::8062:d7cb:ca45:1898]) by VI1PR04MB5600.eurprd04.prod.outlook.com ([fe80::8062:d7cb:ca45:1898%3]) with mapi id 15.20.4713.019; Thu, 18 Nov 2021 13:14:46 +0000 Received: from [10.156.60.236] (37.24.206.209) by AS9PR06CA0126.eurprd06.prod.outlook.com (2603:10a6:20b:467::25) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4713.20 via Frontend Transport; Thu, 18 Nov 2021 13:14:46 +0000 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: 81c33106-4871-11ec-a9d2-d9f7a1cc8784 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619; t=1637241288; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=7NvNnOH5HYnSaIdiD82OvXyiaMKZTo5P7hBpSZhL67A=; b=lk20czgJkMtCrcQFcnsCzYcyJrRJs1Qv7xQhNErJh4b4u4SVcQZcev4VnemPSzKQoBPOqZ C5kTucyFIVmiiyULup+xDtoBxAWIqGvV1ki7zvM+4vUpnQ0UsxOUoOvL+L4tRru/eSMPxB VhenVHOVdKxxrGhRMke40uEYI7CH9fY= X-MC-Unique: Vh5s9ku4Me-GXLzm78DRgA-1 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Cu88c6RUkYKJAvmwn8AWBi3ZKNft5jWXJKWN6sdWkNYu7y7NvFGJbX0pLM21l1aZWNo7mBwJu7FenXzzTkjJ3F3Stz23+ZjT3Ls44nyKJfz4mAYvyMLsLtPoKNde6qw65GQEEXi3mAEgrjYmQKUh/N8PNpPJLq1LAD5m5UmUmyyf+Ua5L/lDBeqLbh9V8QbogFV3iEKpGMo4u2DVcZ+NSCIYlAXM/umFcAJ8K7eY/a5ayZEs3o0yAVyZ+A2CjLfsVJrQkXzANmn6JrDWcdvnHfw+/y0qrspBPHjbCFbUr50a0t4kblAJ7WwUYDwVcj6RJtPZISjOJMhIIqT6UuIliw== 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=7NvNnOH5HYnSaIdiD82OvXyiaMKZTo5P7hBpSZhL67A=; b=imT4AjyuLSkC2LZU7ApAaA3rJYylWfAtaKji1FoQ/9xPaCnz9Q2Kv9kridz7VJ7Gook5iVws2FB1PL4/IyVtAmYahDJkZx8G5BdsZlbEpZADBqIzgLlcGa1Y5LiWpoBe7SOB2Z2ayNxi9UNGReajGavhGGJj3JhtQ1JNcNzKG6xgOho502VS6J2UpDF/BrWlriLK7fKPCCIDljS2TRYUl9ISLtAkZlLOrZzg4LvIyNRqlftwLlPWArwg9QVR5MmJLJytRXUmiAVLnERnxKWEcUHCyuO+3sZjOGwjjOQd9yzSrrBgX2WeLl4ff+z8snDPHgyQJjxRKPwksr14/b1t9w== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com; dkim=pass header.d=suse.com; arc=none Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=suse.com; Message-ID: <4aa6c9b4-dcaf-38e9-0b22-394f22ae898d@suse.com> Date: Thu, 18 Nov 2021 14:14:46 +0100 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101 Thunderbird/91.3.0 Subject: [PATCH 3/3] x86/Viridian: fold duplicate vpset retrieval code Content-Language: en-US From: Jan Beulich To: "xen-devel@lists.xenproject.org" Cc: Paul Durrant , Wei Liu References: In-Reply-To: X-ClientProxiedBy: AS9PR06CA0126.eurprd06.prod.outlook.com (2603:10a6:20b:467::25) To VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: aeb108c7-a028-4a22-71e4-08d9aa9564bc X-MS-TrafficTypeDiagnostic: VI1PR0402MB2704: X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:7691; X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: L+d7unjbeRqO39kucSfK2qyysCfBXMMmnV1dTg8bYemNPSYDEHEcZ/qMV57ZMsXG70+XUX/6q6JM6qwOA8ipQuHZZO8VtK7WxE4Y4+3dAAo9sLWUMH90rQc5KaVvNyZJFt15hoyCmrg28pn+coeEWNG//m03aZRSeHRE7OQXPTF+5akvy8Rwdd4t2M8onq9Wb3IgCFmMD/rSlUgRj201yrHMDKTrMGgJMRonl/fQOM29SS/XOKGlJWyu/UOhNTFPfggtuoA16N49sJgiXtkaVklOhpigmSAQRj+SMxELbo5NTgkvOilIhRW1R0PvUsFd+gPlgXQVJ9Yill3tHdo7q+xbJvOq8hJJE67c+LdIwrEyaWj8LpCFzdh3FQu/SNZK1gMALfSnhA6cgJjSHoDEn18iW6bKlMztEdNbKntDFuZv5liWBmlDfoCALZfN+K5ye7l5RCF7z+KC3/5oRPy9eMaSHlzOHVFWBxZhpKtJrsOAH5L8kdcIOYzmTix4B5y3xhYo0a0gCPE/9FcM0o7QV/y5VosLJVdf57ltl2WC9Izv/sFxDodPLf33w+XtefwvTqRHOCKjnYIA7Gffjfn8oeILBIJEZXeh4L8JZ4iWOsxqgtHFHRUBT4XOm1DxQiRxsKRIA/4mDaQEgBSlrr4VeSW1mkIbHFZdYqIcssAkwJtXK/qWm1jIEbRRWVUD5kbjf32S5LWgLQ45snSUOdVIbuw2wvo2qA9gsOLNG88xruw= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5600.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(366004)(31696002)(38100700002)(36756003)(2906002)(66556008)(31686004)(66946007)(86362001)(83380400001)(66476007)(4326008)(5660300002)(956004)(2616005)(26005)(6486002)(8936002)(16576012)(316002)(54906003)(6916009)(508600001)(186003)(8676002)(45980500001)(43740500002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?q?rLaLnG148ORuIhow1Nr4YdBqlXJw?= =?utf-8?q?wYhbUqQrKz8Nyu4FEoplkD/7Z9HjNYri51cnLKILiMQEhq8yRD5aUzh50HJCbGyQ3?= =?utf-8?q?3klKaJI9hutxnRJh48K0pIWGoL6dqpEoEYqvN7F6TfUKe2a2x6BNkE2ehaenKDUls?= =?utf-8?q?wJkw2tQf6z506c0OrH9+9w8fghZI6gli/VF0H8ZB8A9G9/9gmRTdM7L9g+VAaBFkm?= =?utf-8?q?3RZ5WHTv6q0uUQUIUFDSGVlhoe0oGJ+XBHXQk9ZaEkfuE8qyP2m2ZSRQ5ITWXkyGt?= =?utf-8?q?CAjb1hadybo3wNo83H4JWHHA78ctZJVVc5hpWUpp8AgrQbJmy30tRFGIGwHVCyMcj?= =?utf-8?q?J0peosnqS2wXqiyppyjULR55CnoBMBIZ8KUM5+5RrvkZMpyEl4lBIdDwo8spKRe0s?= =?utf-8?q?eLr9KlH8kaAHJ5MpJ/MkvZlPvk1HNFJfqgkmYMZOcsAk+ag8ld9A5LODebxpTC8xL?= =?utf-8?q?GmwMkM56vyty6QRMgVKUdex2/1Bca1Z11uovMpjDm3nUlY/UcBufkCUNugtaPoIaI?= =?utf-8?q?nSEf6RD9N14MoUNd84ddExiLpzX2PYBP7j3q1UGtqKxbldP2azkuOemkRGlWfVsTk?= =?utf-8?q?79l0ss9r/a+JUI21AEgzg/Cf2PAWeOFFTW2yViNSS+hNk4sw2t83mR/smTmomll2h?= =?utf-8?q?aL1B4htoxESKShjbwBpg0L2B/U2ZRxJ8ypqbfKQldDAv+Totl5lEhaflow8SRMobw?= =?utf-8?q?LkQQZdAycmpA+cPLLrlqNmAfjpfbWCIuo3w3RhFPtI4DIrHJjwmzHzRH23ghqOaxe?= =?utf-8?q?cAzQ+gHeNIicrZiGmdOZtQPaPTlqPh9TwPNhCTTQPhrjFVAW5ZLWmJKSxB3vDS2zI?= =?utf-8?q?qp4rZd9GAeAzfHWGOCJcXH0IZx+rf1ku157bahxeqFeeJbyOihGc2tT+PRK22AU14?= =?utf-8?q?nAb+B8AtuiJoA5NdRhuDGQz+Yi1MSQt4r5ofmWUCbUuBg0nfgvKlwsmFDafawweyr?= =?utf-8?q?0U0IA3r8+wy75KTyoiNALEEaiQ3XLoiBt8PtL5CfNyBAMJkt8QF7yeJ12KJaVjwKs?= =?utf-8?q?fTiOyVbFNv6kuOlVQatJufTQhjPX5EFuzOGkjjt4b17A9EFLksR1Uq3albPV6o//4?= =?utf-8?q?DHRtqjtvyKhSBJyf7oKAqvd78bGDay5H0pes4TbtyoaHU6JIvwj1v3QoFUUAuFD5G?= =?utf-8?q?WeuSru5U6pq7k3QAJD7nBaeX5deYE66F0+xsgHXHxnFk7p9K6EU29ThH/vUK4giSC?= =?utf-8?q?6A9/guupuzXfcV/GnQ1IJMbGErdH8cadz2hDsXa2fwd6BmKSoBpvC+tteAtj2LFJ5?= =?utf-8?q?amyHzr1HVqfRJqdJNbU7v8Y9sX85M+jFfLO3ySZ6QmIvfdThfaxq9tgF7aRgdCcc6?= =?utf-8?q?uNDhShs4rbKT+jrdwcCZtky89r93VbNloBf2rprHz2j8QrzlDQ6GdWKaCZokZrvUt?= =?utf-8?q?Qj7jtXTdnExqPAOaPFw1q+8G3jiNapoCSi5gQmRjcVxQ44d1kwn/PiME5w4Xq4lnt?= =?utf-8?q?65DU+jT+mV89u1a5Pky7iotz1wmrixZ2/+QRsDp294el5uvY5/z8DCmV8eJt9DojU?= =?utf-8?q?JTXKViBv92UhE8d590Tk8eknlcRW10g7t6ALRW04tzu7eaJfMbREjlQ=3D?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: aeb108c7-a028-4a22-71e4-08d9aa9564bc X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 Nov 2021 13:14:46.7865 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: MyRKHAGN8R/tmaL4/Gr8Z6YTFKChhRqPskc3BE/N9DNYLpRl0TCr6Rgmdp/ZAn67HFXLc+HjyQ3rHQ+iayxOXQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR0402MB2704 hvcall_{flush,ipi}_ex() use more almost identical code than what was isolated into hv_vpset_to_vpmask(). Move that code there as well, to have just one instance of it. This way all of HV_GENERIC_SET_SPARSE_4K processing now happens in a single place. Signed-off-by: Jan Beulich Reviewed-by: Paul Durrant --- a/xen/arch/x86/hvm/viridian/viridian.c +++ b/xen/arch/x86/hvm/viridian/viridian.c @@ -628,10 +628,14 @@ static unsigned int hv_vpset_nr_banks(st return hweight64(vpset->valid_bank_mask); } -static int hv_vpset_to_vpmask(const struct hv_vpset *set, +static int hv_vpset_to_vpmask(const struct hv_vpset *in, paddr_t bank_gpa, struct hypercall_vpmask *vpmask) { #define NR_VPS_PER_BANK (HV_VPSET_BANK_SIZE * 8) + union hypercall_vpset *vpset = &this_cpu(hypercall_vpset); + struct hv_vpset *set = &vpset->set; + + *set = *in; switch ( set->format ) { @@ -643,6 +647,18 @@ static int hv_vpset_to_vpmask(const stru { uint64_t bank_mask; unsigned int vp, bank = 0; + size_t size = sizeof(*set->bank_contents) * hv_vpset_nr_banks(set); + + if ( offsetof(typeof(*vpset), set.bank_contents[0]) + size > + sizeof(*vpset) ) + { + ASSERT_UNREACHABLE(); + return -EINVAL; + } + + if ( hvm_copy_from_guest_phys(&set->bank_contents, bank_gpa, + size) != HVMTRANS_okay) + return -EINVAL; vpmask_empty(vpmask); for ( vp = 0, bank_mask = set->valid_bank_mask; @@ -774,31 +790,13 @@ static int hvcall_flush_ex(const union h vpmask_fill(vpmask); else { - union hypercall_vpset *vpset = &this_cpu(hypercall_vpset); - struct hv_vpset *set = &vpset->set; - int rc; - - *set = input_params.set; - if ( set->format == HV_GENERIC_SET_SPARSE_4K ) - { - unsigned long offset = offsetof(typeof(input_params), + unsigned int bank_offset = offsetof(typeof(input_params), set.bank_contents); - size_t size = sizeof(*set->bank_contents) * hv_vpset_nr_banks(set); - - if ( offsetof(typeof(*vpset), set.bank_contents[0]) + size > - sizeof(*vpset) ) - { - ASSERT_UNREACHABLE(); - return -EINVAL; - } - - if ( hvm_copy_from_guest_phys(&set->bank_contents[0], - input_params_gpa + offset, - size) != HVMTRANS_okay) - return -EINVAL; - } + int rc; - rc = hv_vpset_to_vpmask(set, vpmask); + rc = hv_vpset_to_vpmask(&input_params.set, + input_params_gpa + bank_offset, + vpmask); if ( rc ) return rc; } @@ -895,8 +893,8 @@ static int hvcall_ipi_ex(const union hyp uint8_t reserved_zero[3]; struct hv_vpset set; } input_params; - union hypercall_vpset *vpset = &this_cpu(hypercall_vpset); - struct hv_vpset *set = &vpset->set; + unsigned int bank_offset = offsetof(typeof(input_params), + set.bank_contents); int rc; /* These hypercalls should never use the fast-call convention. */ @@ -917,27 +915,8 @@ static int hvcall_ipi_ex(const union hyp if ( input_params.vector < 0x10 || input_params.vector > 0xff ) return -EINVAL; - *set = input_params.set; - if ( set->format == HV_GENERIC_SET_SPARSE_4K ) - { - unsigned long offset = offsetof(typeof(input_params), - set.bank_contents); - size_t size = sizeof(*set->bank_contents) * hv_vpset_nr_banks(set); - - if ( offsetof(typeof(*vpset), set.bank_contents[0]) + size > - sizeof(*vpset) ) - { - ASSERT_UNREACHABLE(); - return -EINVAL; - } - - if ( hvm_copy_from_guest_phys(&set->bank_contents, - input_params_gpa + offset, - size) != HVMTRANS_okay) - return -EINVAL; - } - - rc = hv_vpset_to_vpmask(set, vpmask); + rc = hv_vpset_to_vpmask(&input_params.set, input_params_gpa + bank_offset, + vpmask); if ( rc ) return rc;