From nobody Sat May 18 14:25:20 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) client-ip=192.237.175.120; envelope-from=xen-devel-bounces@lists.xenproject.org; helo=lists.xenproject.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; arc=pass (i=1 dmarc=pass fromdomain=citrix.com); dmarc=pass(p=reject dis=none) header.from=citrix.com ARC-Seal: i=2; a=rsa-sha256; t=1666709123; cv=pass; d=zohomail.com; s=zohoarc; b=LzKyUEuv50DKLfVG5yUPtI3FqgoQPLAq/uV0FeADATdmpejZPcGKRq/kyhwkBxcKwLi3U2AZPj9YfDib34xuS1/WfbHECVbMdTM5oM2QNpDZfVsHzNJqv1zNavC2YBMR99zcq90LBg/7wS5/TMvzmVXmHGXMI4JRN5pHZAjVVWI= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1666709123; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=E+gHaCnlEGM0dyPAS/K0/1cQ1iwF7mXhMFtAy5CGtoo=; b=iakDaPIPsF0i6hwzupFNYX/vCkuXxBGwUvlidV3bdy0U5qo9bmS1LJhndz+2uAVJpYOW+00gVvro5Vo9IgnqFqq7rX9BJXogNRBDiYDfICDAC0L9z+zKGCQHZtWrWIOMDRSH9/0zebnFv7uRulnaOY8zFdWAUyvWVpOsNjdH6/4= ARC-Authentication-Results: i=2; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; arc=pass (i=1 dmarc=pass fromdomain=citrix.com); dmarc=pass header.from= (p=reject dis=none) Return-Path: Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) by mx.zohomail.com with SMTPS id 1666709123018942.3115035829625; Tue, 25 Oct 2022 07:45:23 -0700 (PDT) Received: from list by lists.xenproject.org with outflank-mailman.429877.681175 (Exim 4.92) (envelope-from ) id 1onLAg-0003i0-NX; Tue, 25 Oct 2022 14:44:50 +0000 Received: by outflank-mailman (output) from mailman id 429877.681175; Tue, 25 Oct 2022 14:44:50 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1onLAg-0003ht-If; Tue, 25 Oct 2022 14:44:50 +0000 Received: by outflank-mailman (input) for mailman id 429877; Tue, 25 Oct 2022 14:44:49 +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 1onLAe-0003SJ-S3 for xen-devel@lists.xenproject.org; Tue, 25 Oct 2022 14:44:49 +0000 Received: from esa5.hc3370-68.iphmx.com (esa5.hc3370-68.iphmx.com [216.71.155.168]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS id 928cace9-5473-11ed-91b5-6bf2151ebd3b; Tue, 25 Oct 2022 16:44:47 +0200 (CEST) Received: from mail-mw2nam12lp2045.outbound.protection.outlook.com (HELO NAM12-MW2-obe.outbound.protection.outlook.com) ([104.47.66.45]) by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256; 25 Oct 2022 10:44:42 -0400 Received: from SJ0PR03MB6360.namprd03.prod.outlook.com (2603:10b6:a03:395::11) by SJ0PR03MB5808.namprd03.prod.outlook.com (2603:10b6:a03:2dd::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5746.28; Tue, 25 Oct 2022 14:44:40 +0000 Received: from SJ0PR03MB6360.namprd03.prod.outlook.com ([fe80::9f90:6ba5:5b44:c254]) by SJ0PR03MB6360.namprd03.prod.outlook.com ([fe80::9f90:6ba5:5b44:c254%3]) with mapi id 15.20.5746.028; Tue, 25 Oct 2022 14:44:40 +0000 X-Outflank-Mailman: Message body and most headers restored to incoming version 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: 928cace9-5473-11ed-91b5-6bf2151ebd3b DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=citrix.com; s=securemail; t=1666709087; h=from:to:cc:subject:date:message-id:in-reply-to: references:content-transfer-encoding:mime-version; bh=DOkJEnD0h6trHJXhBif37jv2pfl7nFk1KQQXgU7n2N8=; b=ITdCE3bimAHrwaCxXV1Q9YieNySMc3aOeU181wO/crkbB6+zZ8XRjkBN V59GMnxGThWuTThYVLBGc0gAFcfTloowF2LLEC9hDsom5GJd/WI+jmp84 /NvDJQeAIcD9/dcU95qwAEe29Kj+ukZ30Nv1gU53kITfvpHBrCTvllkYh A=; X-IronPort-RemoteIP: 104.47.66.45 X-IronPort-MID: 82566521 X-IronPort-Reputation: None X-IronPort-Listener: OutboundMail X-IronPort-SenderGroup: RELAY_O365 X-IronPort-MailFlowPolicy: $RELAYED IronPort-Data: A9a23:X6ABna1BRykFQ35BaPbD5fNwkn2cJEfYwER7XKvMYLTBsI5bpzJUn zROXTyGaPfeazb9c91ya4mx80wE6MTSz9AyQQo5pC1hF35El5HIVI+TRqvS04F+DeWYFR46s J9OAjXkBJppJpMJjk71atANlVEliefSAOKU5NfsYkhZXRVjRDoqlSVtkus4hp8AqdWiCkaGt MiaT/f3YTdJ4BYpdDNJg06/gEk35q6r4GlF5gZWic1j5zcyqVFEVPrzGonpR5fIatE8NvK3Q e/F0Ia48gvxl/v6Ior4+lpTWhRiro/6ZWBiuFIPM0SRqkEqShgJ+rQ6LJIhhXJ/0F1lqTzTJ OJl7vRcQS9xVkHFdX90vxNwS0mSNoUekFPLzOTWXWV+ACQqflO1q8iCAn3aMqUc5stxXkJr3 sU5DzAnMxqhmry4nZi0H7wEasQLdKEHPas5k1Q5l3T8MqxjRprOBaLX+dVfwTE8wNhUGurTb NYYbjwpawncZxpIOREcD5dWcOWA3yGjNWEH7gzL4/Zqi4TQ5FUZPLzFKt3ad8bMXcxItk2Zu njH7yLyBRRy2Nm3mWDYrCzx3LancSXTYJkvNry8x69TukTI/EZMWR8tXlSKrqzs4qK5c5cFQ 6AOwQI+oK53+EG1Q93VWxyjvGXCrhMaQ8BXEeAx9EeK0KW8yyaUAHIVCAFIbtMOvdUzAzct0 zehndnkGDhuu729Um+G+/GfqjbaBMQOBWoLZCtBSBRf5dDm+ds3lkiXEoslF7OphNroHz222 yqNsCU1m7QUi4gMyrm/+lfExTmro/AlUzII2+keZUr9hisRWWJvT9fABYTzhRqYELukcw== IronPort-HdrOrdr: A9a23:HsPeFaEZY+5VymBSpLqFc5HXdLJyesId70hD6qkvc3Fom52j/f xGws5x6faVslkssb8b6LK90c67MAnhHP9OkPIs1NKZMDUO11HYSL2KgbGD/9SkIVyGygc/79 YeT0EBMqyWMbESt6+TjmiF+pQbsaG6GciT9JvjJhxWPGRXgs9bnmRE4lHxKDwKeOAKP+tOKL Osou584xawc3Ueacq2QlEDQuj4vtXO0LbrewQPCRIL4BSHyWrA0s+zLzGomjMlFx9fy7Yr9m bI1yT/+6WYqvm+jjvRzXXa4Zh6kMbojvFDGMuPoM4ILSiEsHfgWK1RH5m5+BwlquCm71gn1P HKvhcbJsx2r0jce2mkyCGdrjXI4XIL0TvP2FWYiXzsrYjSXzQhEfdMgopfb1/w91cglMsU6t MG40up875sST/QliX04NbFEztwkFCvnHYkmekPy1RCTIolbqNLp4B3xjIZLH45JlO11GkbKp guMCmFj8wmMW9yLkqp9FWH+ebcEUjaRXy9Mws/Us/86UkloJk29Tpb+CUlpAZxyHsMceg72w 36CNUYqFg3dL5xUUtcPpZ0fSLlMB27fTv8dESvHH/AKIYrf1rwlr+f2sRH2AjtQu1C8KcP X-IronPort-AV: E=Sophos;i="5.95,212,1661832000"; d="scan'208";a="82566521" ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=ToKV/J6BjCbhqJKfpmfdeKTdUhCF67A3FTTifpiATNcFaV9+2AqG762hAdqnjjMZ7d7njv8vrRX3DkvRWS9bt1rPvzXDr7a04swA0yE+P98vAnqDRzZCG63/IByQn7jC/h2Bmv7UUy8ynpkQLCnc1/OJjN1bP9pZ7nRcHdHsDXC+6DMYIOEYX7Vig1h4nEBw6WQm3/t7VA2ginz1Ue+FcPsIpAq99dYYxIp1tEbmSLXNCjNH+R6NuVZ9X0Gc5IW7KIu8FgfENTubmFRWO4sslGk0IAJCEI7cRD1fck7GS73Ov8b3gjW1YfiX5Jrk1sSItAT8bhuFuiEWWEScEQbknA== 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=E+gHaCnlEGM0dyPAS/K0/1cQ1iwF7mXhMFtAy5CGtoo=; b=Xcig0Ec5GNqxmoMTvVrqPXGdoo3dOCx0jnsxQCRrdpCftmVW0y1fdBvzcCp2oo+pX2uFda4I2ngHzNYhii2CBsE34GBlnlrh5YRf2+aIvlIHtmJivfGWgcEO9S5i2WlPdoXCJe2lmHmBfYqNYgPtzsgCgLMNFv20JFGW3/jRrrngnRom3lS7T6BEFD3vw++ShERN0TAIILe8pHseGziDM8CoKyarYHPIrNwdMhtPKxHjKWNWk3WaSSYVLjs0cTwqw7b3Oahg4VU139YRrpIbWWKvTYCdwAIKMwAPitngndKAq+YX0mqhtyd5PJ936Pjbn7MCDU+ASzn8LqBbMSig9Q== 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=E+gHaCnlEGM0dyPAS/K0/1cQ1iwF7mXhMFtAy5CGtoo=; b=wwjG1KuVIr5XA2Bz7Hrbxnq2rf4ycBc/3+lQuNFCocPiaqI2kVmScfCB370GOs2POYT3wU/VdSf0ykB94NfD0hmmyw3TGaRwO+xWg0PBWwTEK2KLIPHTr69a00ur+EL5DxdWIvct+/7nKjVLi0469l/JXOC8Ah0XhYRi0MiNLsQ= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=citrix.com; From: Roger Pau Monne To: xen-devel@lists.xenproject.org Cc: Henry.Wang@arm.com, Roger Pau Monne , Jan Beulich Subject: [PATCH for-4.17 v2 1/5] vpci: don't assume that vpci per-device data exists unconditionally Date: Tue, 25 Oct 2022 16:44:14 +0200 Message-Id: <20221025144418.66800-2-roger.pau@citrix.com> X-Mailer: git-send-email 2.37.3 In-Reply-To: <20221025144418.66800-1-roger.pau@citrix.com> References: <20221025144418.66800-1-roger.pau@citrix.com> Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: LO4P265CA0187.GBRP265.PROD.OUTLOOK.COM (2603:10a6:600:311::16) To SJ0PR03MB6360.namprd03.prod.outlook.com (2603:10b6:a03:395::11) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SJ0PR03MB6360:EE_|SJ0PR03MB5808:EE_ X-MS-Office365-Filtering-Correlation-Id: 1e955c7d-ab52-4a75-7a85-08dab6977233 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: JBQaGP3AuzUPiCNJsQt5iIlakGRNJPSGlyUBLs9FgM5GRCY3EiczpiWIkmyh+x6nw97tJDjxGXgcsyNnTXU+Bd7ub+WQGL0CgfHdjIllNdKDLaPlOzbb2qPWC6czyXtOjD8hZ05Th0lKkQdGMWH3geNFIfYWuDShfPOT2RzLwqlBEUwCM0RSgZUyhW9VKxViRaLbmPGbIOD4FcJz+Qn1kLUNrs3CJJdFwYP6LSLRr1uNms/xihrBgEmKOVLfDmoEijAddg6bdkw1tXb5oco8JZUrM6of3uFMv8ajtTVyENwp3zS5qQ0l1HuR69UgyliGn5RiLZgh9aaSMtcPGWiebk71fQbpAubaKHOtpYJiqwrx5v8/zaKR+lGTDpJTxWjeL0XlAFEYDeiCIhNahXKtdUcYuThZdQV0rmb+P25UOlkr0HNVWQjG7QCnhn6U/b3LHuAfjFq8xJbVAt21VoJT5kKQkRxg4F931/PzihxPphwKonuzjGgQbq/2XwbVs15EbhUujlkmbgExcIykJ4lHBE8gGaiYUukqn5ImOVAQKpT88N3HUAVIVb2iE58PdODrc+JENteR9zsk9H8jcF+3S0yADnH1BidWMWnj6bT+JIJDU8OmdAK87uEPRFNWIj9cmAHUJsUHNjSAbf8TBwTHVxOsVVm4TIJgex9dbrdXKxk3v5sLTkw6FDJVDDobtKnIaqsE76vCdca4TmaXGhlSCg== X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SJ0PR03MB6360.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(4636009)(366004)(346002)(376002)(396003)(39860400002)(136003)(451199015)(83380400001)(316002)(54906003)(6916009)(5660300002)(41300700001)(6512007)(8936002)(26005)(4326008)(66556008)(8676002)(66476007)(66946007)(86362001)(6666004)(36756003)(6506007)(2616005)(478600001)(6486002)(82960400001)(186003)(1076003)(38100700002)(2906002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?ZnpUY3BRdDdIUUNhSEVDeFZTOFNEWTladXZ0Rm94NmozU3pDWmovaEE2d0dm?= =?utf-8?B?ZXh4QUM0dVNSN3l4UFBnV05ZYUx1Q3E0VWFjZGd1ZlMrVURjOGpOYVRuTWMv?= =?utf-8?B?NkJ3aVhaQkR4YisxOHFDVUhYRXRSREtKVlBPcGdrV1Fjby9ITTcyZXVnS1ZM?= =?utf-8?B?MFJuSEZQamtzbUtRSmtzMnJhaTdNeDYyd1JMdnlZR25qdHpvOXFPMkkyRTZx?= =?utf-8?B?aUlSQWdiZ0UxZVVROUllaFh2czRPMWNuVVYzQ0E4bm1BYjlxUGV0S2VEVThj?= =?utf-8?B?R0thb0tYcFpSekU3UjJ0cS9IZTl5bUd4dkdzWWxveWFXbjNZWWtmTVUyQTdM?= =?utf-8?B?ZTM5K3JzeGhjS2drajZ0KzFMMmMyQUdPdi9FZlhYaFRCejNsTWM2bzlzOXJC?= =?utf-8?B?T1VQTUR2UFhEL2VHNS9uOWsyY1BjR3ZPcFQwUzQ0TldUYittWkdNRGVuZ211?= =?utf-8?B?cU5GV3haaXRTb3JCRHJJL3VBS2RST29MSmsyZ08yL0h4S0JtWE5rWGIxUTRV?= =?utf-8?B?WnZManlLWkp4UkhBemFvanlDWmw3eGdocTIrVEZ1clB2UGhpZjlsM3pGRVpl?= =?utf-8?B?LzZmV2dDMnBHOTlhUHFKcVdhUFdTamZReVQ0TVM3Q0Y4VXUrVXZlYk1uOTQ4?= =?utf-8?B?NEwwRFFMWkZnRVdmSS9PaVpnN0JXNE9wenpUQ05FVDY4eHo1cUM2Ym8rWFZw?= =?utf-8?B?UEhBZ2Ztb2NYZFd1ZDNzbm9kUS9yQUswSzhsdkk5TTRFNUViT2FhQitKWFRV?= =?utf-8?B?cFJGcGhvRDdzOGYwaXJOQ3plQW5kUlcrWksvVVlTSVpINFdsUWpZTE9UWjFm?= =?utf-8?B?QkFTaFdXWjRWa3cvdm1ReUpjRnhHRTZ6a0hUenNodXNuQVh6TU8xdGpzdlVj?= =?utf-8?B?TnAxRFZLZndpdFNqak4xTDduV2syOXd3aXl6MDAxNnZvYjBFS0E5emxaWnJs?= =?utf-8?B?eG1YdktuVWNEWFZleHBCOFUwY0pQakI0a1pkb05xaUQ4UDVrZGRxcHpNZmtB?= =?utf-8?B?VUVPa2V0QmxDaHNjWHN3T01WdnRKM2srQmRhWlFaajFBbGRjQWxoWFNFSEZ0?= =?utf-8?B?TDI3dGQ5aUxVWFErb0RmSnJqZDd1Uyt6aDEvbDFaR1ZuWXhSMHdhbjd1bHd2?= =?utf-8?B?K2t1dFRQUExvOEw5Y1lmaDZUd0EzTjFBdWY1VWxDMUpZcHZpYkVhZmJBSEY2?= =?utf-8?B?OGwvRXNPK1RmY3FOcWcvU3VncnY4aGx2WHhSWlg5a1hNaGc4aGZkcWc5OFNh?= =?utf-8?B?S0RZRjFYUVRxNjhKMGViT1FzYTNJUURrOE5sdElYbFhzSFdkUUhOclROalpQ?= =?utf-8?B?K3k5VlBLbEJiaU03VERYNlZnSnBFMTZjU1dlOEo1bU10b2xVd0Uxc1N6Um9o?= =?utf-8?B?OUZZYkFQV1dOZ0E5ZEVCSE81TjNEUzhqRU1ySUZTYVVMT0NvRzBpUElReW1p?= =?utf-8?B?a3FROGtCT2FmT0dza1hSZnk2a2ZWcmFZMkFHek1IdmgyMGR1YzFHb2dueHdV?= =?utf-8?B?TDRuOTg5R1pXZ2VTaGFLY2ZmcERGeWgyNi9OOGdvRkR2WkhwakRlQUtucWRY?= =?utf-8?B?amw4WkNEYjMzai92U2Z1Y1MwR21BRCtrQ3ZORDJxbVJEK3ovblBRR0VhdVY5?= =?utf-8?B?U2FTYWQxeld3Q1JSSGtxNlZRVVFjQkJuKzZuY0ptWEQyOHQ4VHVHc3hLVEVS?= =?utf-8?B?ZjFPSkJ2eUJvNDRIc21zTUpWY2Fhd3REbHZ5dkkxamF6Njh2cXNOUXhNQ0Mx?= =?utf-8?B?MnBpSU0ra3BWNXJTejZSZ2lXWjQzWW9GTWNqdGtDR3YwbEhWSWovU0tjUitO?= =?utf-8?B?Q2tMc1hIM2hzMTJ4Y1laUzRtRHYyUnFlQ0UwNDhMRkcwZnRhcHVxeXp1KzFC?= =?utf-8?B?cHk3b3d1V0twNzhJeXFEYnZLZ21RSTVJZzVmWHQveGlpazh6TTZvQmp3cGpX?= =?utf-8?B?NThBaDBMa1pyakhlM1pVbmlROHZMOHhaWXZITVBjYUxWbGZkSFVHdXRrTUt5?= =?utf-8?B?L3lKbGNPdldmS1dHNjdhaXUwR241Q1ZJVDNqT3lCNU5kQnBMUXpBZVdHV3Az?= =?utf-8?B?ZUJnUDZ0SDNycnFUQ2hKSzZaUFBuN2VkRzNVT2NJWEJ4Y0FGa1YyM3E4dXVt?= =?utf-8?B?UXFEdEo1aUZSbVF3aEJrOThKZlNYWEpHeEdpc2dRQXdBT0l4MVFSdmJ6UGg5?= =?utf-8?B?VHc9PQ==?= X-OriginatorOrg: citrix.com X-MS-Exchange-CrossTenant-Network-Message-Id: 1e955c7d-ab52-4a75-7a85-08dab6977233 X-MS-Exchange-CrossTenant-AuthSource: SJ0PR03MB6360.namprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Oct 2022 14:44:40.1621 (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: ju/+8MQ+B2nAzHHq1+FIq8d2eYJ3HEALWhO+d8H2eHCBopZz2eQvAYeAc/KlT3kyUurpQGn3iLxuRzoJskXASg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR03MB5808 X-ZohoMail-DKIM: pass (identity @citrix.com) X-ZM-MESSAGEID: 1666709124109100005 It's possible for a device to be assigned to a domain but have no vpci structure if vpci_process_pending() failed and called vpci_remove_device() as a result. The unconditional accesses done by vpci_{read,write}() and vpci_remove_device() to pdev->vpci would then trigger a NULL pointer dereference. Add checks for pdev->vpci presence in the affected functions. Fixes: 9c244fdef7 ('vpci: add header handlers') Signed-off-by: Roger Pau Monn=C3=A9 Reviewed-by: Jan Beulich --- xen/drivers/vpci/vpci.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/xen/drivers/vpci/vpci.c b/xen/drivers/vpci/vpci.c index 3467c0de86..647f7af679 100644 --- a/xen/drivers/vpci/vpci.c +++ b/xen/drivers/vpci/vpci.c @@ -37,7 +37,7 @@ extern vpci_register_init_t *const __end_vpci_array[]; =20 void vpci_remove_device(struct pci_dev *pdev) { - if ( !has_vpci(pdev->domain) ) + if ( !has_vpci(pdev->domain) || !pdev->vpci ) return; =20 spin_lock(&pdev->vpci->lock); @@ -326,7 +326,7 @@ uint32_t vpci_read(pci_sbdf_t sbdf, unsigned int reg, u= nsigned int size) =20 /* Find the PCI dev matching the address. */ pdev =3D pci_get_pdev(d, sbdf); - if ( !pdev ) + if ( !pdev || !pdev->vpci ) return vpci_read_hw(sbdf, reg, size); =20 spin_lock(&pdev->vpci->lock); @@ -436,7 +436,7 @@ void vpci_write(pci_sbdf_t sbdf, unsigned int reg, unsi= gned int size, * Passthrough everything that's not trapped. */ pdev =3D pci_get_pdev(d, sbdf); - if ( !pdev ) + if ( !pdev || !pdev->vpci ) { vpci_write_hw(sbdf, reg, size, data); return; --=20 2.37.3 From nobody Sat May 18 14:25:20 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) client-ip=192.237.175.120; envelope-from=xen-devel-bounces@lists.xenproject.org; helo=lists.xenproject.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; arc=pass (i=1 dmarc=pass fromdomain=citrix.com); dmarc=pass(p=reject dis=none) header.from=citrix.com ARC-Seal: i=2; a=rsa-sha256; t=1666709120; cv=pass; d=zohomail.com; s=zohoarc; b=kO2lKVRBR7W43BqgOk6ZGMm3la3KHaEDSgTJXxsZ9L3FXTtmNk4+LTqlzCVmlxr581FhDHw6H9EWfyJ6qsb1X6Eeo04pvo9V6Xb0hjxRZKn8AajAeXjsmdHqYtugFOq4CYs/pOJAkC/RKSikaQaU+PmVvL7jhtM0FGL5h/Ws4QQ= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1666709120; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=0Y6+G/P0SSRWP2XYjLdchAyuuRyJ+VKYBcPw6vHLtIQ=; b=LyGAQkwlau8t+2N/u4nrLVKbCvTViwze8hQPm+Prjg4jtIjq79akrILCJuzE0AqjBGlITrAPp3VQrfads4wLLAM4gviGoQN8aRIDV5vpnuo4Cr+p2/2T4IItlYiZt3aB7EjF1nQv+EYKkEET8z0S5uvxEtGL4OJskKYknMDnPt8= ARC-Authentication-Results: i=2; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; arc=pass (i=1 dmarc=pass fromdomain=citrix.com); dmarc=pass header.from= (p=reject dis=none) Return-Path: Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) by mx.zohomail.com with SMTPS id 1666709120778474.5459127105945; Tue, 25 Oct 2022 07:45:20 -0700 (PDT) Received: from list by lists.xenproject.org with outflank-mailman.429878.681186 (Exim 4.92) (envelope-from ) id 1onLAm-00040R-Uf; Tue, 25 Oct 2022 14:44:56 +0000 Received: by outflank-mailman (output) from mailman id 429878.681186; Tue, 25 Oct 2022 14:44:56 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1onLAm-00040D-Qf; Tue, 25 Oct 2022 14:44:56 +0000 Received: by outflank-mailman (input) for mailman id 429878; Tue, 25 Oct 2022 14:44:55 +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 1onLAl-0003SJ-3n for xen-devel@lists.xenproject.org; Tue, 25 Oct 2022 14:44:55 +0000 Received: from esa6.hc3370-68.iphmx.com (esa6.hc3370-68.iphmx.com [216.71.155.175]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS id 955942b2-5473-11ed-91b5-6bf2151ebd3b; Tue, 25 Oct 2022 16:44:53 +0200 (CEST) Received: from mail-co1nam11lp2174.outbound.protection.outlook.com (HELO NAM11-CO1-obe.outbound.protection.outlook.com) ([104.47.56.174]) by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256; 25 Oct 2022 10:44:48 -0400 Received: from SJ0PR03MB6360.namprd03.prod.outlook.com (2603:10b6:a03:395::11) by BL1PR03MB6118.namprd03.prod.outlook.com (2603:10b6:208:31c::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5746.26; Tue, 25 Oct 2022 14:44:46 +0000 Received: from SJ0PR03MB6360.namprd03.prod.outlook.com ([fe80::9f90:6ba5:5b44:c254]) by SJ0PR03MB6360.namprd03.prod.outlook.com ([fe80::9f90:6ba5:5b44:c254%3]) with mapi id 15.20.5746.028; Tue, 25 Oct 2022 14:44:46 +0000 X-Outflank-Mailman: Message body and most headers restored to incoming version 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: 955942b2-5473-11ed-91b5-6bf2151ebd3b DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=citrix.com; s=securemail; t=1666709093; h=from:to:cc:subject:date:message-id:in-reply-to: references:content-transfer-encoding:mime-version; bh=kZ1OYvSe2vZ67jkOMLmPoYcVQSX4fKFKr8Ey1iCTYIQ=; b=hOMjDavmMX9lGIlCXK0oWZGzhViGr1dc6P8/6lv+FC473HW0p+x1DHxz jJKqX47RGWue+JBhf7JJnoUbJWqmwxVgEahj6M+trRhHF4N6sxhhPSFii uCFNje6Cs/2llnYAMJbLGy0Lgn0mBLy5Prp9dgLDW7qVvr+DgC6WCK2ah k=; X-IronPort-RemoteIP: 104.47.56.174 X-IronPort-MID: 83085556 X-IronPort-Reputation: None X-IronPort-Listener: OutboundMail X-IronPort-SenderGroup: RELAY_O365 X-IronPort-MailFlowPolicy: $RELAYED IronPort-Data: A9a23:xOH9Xqo5/MKMidM6h63nSCxLRvxeBmI7ZBIvgKrLsJaIsI4StFCzt garIBmHaKyNNmL9Kdh/YYu0ph4C7MWAzdIxHgc6rXw1FH8Vo5uZCYyVIHmrMnLJJKUvbq7FA +Y2MYCccZ9uHhcwgj/3b9ANeFEljfngqoLUUbKCYGYpLeNdYH9JoQp5nOIkiZJfj9G8Agec0 fv/uMSaM1K+s9JOGjt8B5mr9VU+4ZwehBtC5gZkPKgR4QeE/5UoJMl3yZ+ZfiOQrrZ8RoZWd 86bpJml82XQ+QsaC9/Nut4XpWVTH9Y+lSDX4pZnc/DKbipq/0Te4Y5iXBYoUm9Fii3hojxE4 I4lWapc6+seFvakdOw1C3G0GszlVEFM0OevzXOX6aR/w6BaGpdFLjoH4EweZOUlFuhL7W5m+ a0hDxNSURC6uOuN7L/mSK4rl+c9FZy+VG8fkikIITDxK98DGMmGaIKToNhS0XE3m9xEGuvYa 4wBcz1zYR/cYhpJfFAKFJY5m+TujX76G9FagAvN+exrvC6Okkooj+SF3Nn9I7RmQe1PmUmVv CTe9nnRCRAGLt2PjzGC9xpAg8efxnurBd9PStVU8NZ730KdxTcTAic5bgKgm9qdq3GXAOBAf hl8Fi0G6PJaGFaQZsnwWVi0rWCJujYYWsFMCKsq5QeV0K3W7g2FQG8eQVZpSNEgrt5wejUs2 XeAhdavDjtq2JWXQ3+A8rafrRupJDMYa2QFYEc5oRAt5tDipMQ4iUvJR9M6Saqt1ISqRXf33 iyAqzU4i/MLl8kX2q6n/FfBxTWxupzOSQ1z7QLSNo640j5EiEeeT9TAwTDmATxode51knHpU KA4pvWj IronPort-HdrOrdr: A9a23:B2essq6eqLyaBZfNoQPXwVOBI+orL9Y04lQ7vn2ZFiY5TiXIra qTdaogviMc6Ax/ZJjvo6HjBEDmewKnyXcV2/hrAV7GZmXbUQSTXeVfBOfZowEIXheOj9K1tp 0QDJSWdueAamSS5PySiGfYLz9j+qj+zEnBv5aj854Hd3AOV0gP1XYbNu7NeXcGOTWuSKBJYq a0145inX6NaH4XZsO0Cj0sWPXCncTCkNbDbQQdDxAqxQGShXfwgYSKWySw71M7aXdi0L0i+W /Kn0jQ4biiieiyzlv523XI55pbtdP9wp9oBdCKiOISNjLw4zzYLbhJavmnhnQYseuv4FElnJ 3lpAohBd167zfrcmS8sXLWqnzd+Qdrz0Wn5U6TgHPlr8C8bik9EdB9iYVQdQacw1Y8vflnuZ g7k16xht5yN1ftjS7979/HW1VBjUyvu0cvluYVkjh2TZYeUrlMtoYSlXklXavoJBiKprzPLd MeTf01vJ1tABOnhjHizyNSKeWXLzsO9kzseDlAhiSXuwIm7kyRgXFohvD3pU1whK7Ve6M0md gsDZ4Y5Y2mNvVmC56VJN1xNfdfWVa9Ni7kASa1HWnNMp0hFjbkl6PXiY9Fl91CPqZ4h6cPpA == X-IronPort-AV: E=Sophos;i="5.95,212,1661832000"; d="scan'208";a="83085556" ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=AG5xutlvRldI7Rvf6M+d+N9NmqH1+K1cHsck6v7k3Owuz/OreM7V4m0775B1s1/TuDrs6JkhBd9dFK0HmEUwsVH5FOmxM52668eA/UnL0gC6ED7Lt9i2UbBYlNj8vtOtDavmUK+bJuZiaHAaN6QV1aUMEF6zdR9GO2AFIYwJSVtwdj6N9JfObSNlwxFh6ZOKB1Iz73jAU5kcll8DUwrO0MfcbHoKZIJH+FFPhFW+kH6ULS8lry4cqEVEe9w4MQHVpOtpy8mqxYz4G1zZYUayLAKJdWyAAsfegAEY6HQXIb213durgHYZtkLw8HSGCok7KVQzrxeLfOMk8EcztoowYg== 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=0Y6+G/P0SSRWP2XYjLdchAyuuRyJ+VKYBcPw6vHLtIQ=; b=I8B+zYP/nl/9JGepU4yBqnHhlAtE6w/Q2X0HtQdQDsp3wdMbX1NTU+GpRiKDAW7UA2KRtHEwLJOzFiTL4bUNyIH4pq03X4PlyXI7dKit/HLVivuGYqS+TqNKnsM/KVGn2LAMePWbGQO9e+ZYWUib35vzaet6TvDu1u3GMZpd7EYkcH3YlRSWN2cCLfxp2GBpQAvxIqqmtLyDSxV4pl9I65b+5ja0EXP8h2St+j7EmwdmIAAXijladLhIz47AZaBQxgzC/hi8novzofelfXidRT8OS767O3yxmVM0WtxzFd0TOQBvNJGPunG/+XiSHEiq5iiuVoFAglkLmVh7fTqwAA== 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=0Y6+G/P0SSRWP2XYjLdchAyuuRyJ+VKYBcPw6vHLtIQ=; b=BN4MFw96t7OvEu429E3dwdQU1qc6FCMSCfWLlPRcjAOLTYtwWdAjohhOInNssx9MpZOie00tahKRtgS9xNSngANK42aWBaoL4PgBq79QfXaEo+Rd2odxk0H7n+grSRoFiydbyCsrNdJTHgbVaeHDEuftU+URasNNmLHNBzxFEZA= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=citrix.com; From: Roger Pau Monne To: xen-devel@lists.xenproject.org Cc: Henry.Wang@arm.com, Roger Pau Monne , Jan Beulich Subject: [PATCH for-4.17 v2 2/5] vpci/msix: remove from table list on detach Date: Tue, 25 Oct 2022 16:44:15 +0200 Message-Id: <20221025144418.66800-3-roger.pau@citrix.com> X-Mailer: git-send-email 2.37.3 In-Reply-To: <20221025144418.66800-1-roger.pau@citrix.com> References: <20221025144418.66800-1-roger.pau@citrix.com> Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: LO4P123CA0563.GBRP123.PROD.OUTLOOK.COM (2603:10a6:600:33b::11) To SJ0PR03MB6360.namprd03.prod.outlook.com (2603:10b6:a03:395::11) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SJ0PR03MB6360:EE_|BL1PR03MB6118:EE_ X-MS-Office365-Filtering-Correlation-Id: fbf9dd58-09bc-4ab2-cb1f-08dab69775f4 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: ICAfH3NlN7QfGZyxH56JPVtR0KHNRF/YaHkOW+V+WJ+acK7vAWr8JTZXdD11wWJ+WpFESNxaXKG0dYGb1PJI86BjpXbf+x974czLU3E2yK16b7YuWTu+ijB8eg4cs6z9y7sJiNz+wS/hkujK6fK2amqsPdAFb1bCqmy5q45mfRscFhkXN/+YUJ68WH5XZIm2TkNre+40W7ly97Fo9vE1CEJHX/rpQtlVTHufRmGAvtg/Z1ZDwloOCDMshPIAwE7uX9Kd09kAtpRRZhlKHUKEuXAQ6KKK+HdYWGR9vTN7LuCyaE//gXE8zjEQhRDEcKkizAcLZ7OL5dYGQtkk8sAr4kETljrgUIlGhVj+NKuC/UZwtMxjgN42EWzAdsGHKrN4EkxKvYen2LaYRCCfhYw0tJ4hqow8tvIGR6ylB/nWWvqA79F/otI7vzbnjxuSEA61Jy6Oq4tLtR1doXLIl1KQA4XCJldJlsfUKaKEM3gVXRANIzXhxlUqd8lPYDtEow8a0Uh24KTcrSC9/jMFM7AKyT0f9I0zTw8VozTOOBNnOfS+KS+ofk1rZOKOb1BQCSXJ2gwrdVZG44U82SI+ZVZNVdf4VQb3tiQaqSwfnx3H2GeRrWSemtev7nszmTmd98GKcwYU9WvNGxdP18E8C6y3RdEZKZeBl1khr8d7IyWVtfyx581QXANLVxoeutRNtmjwiED4UUqNjEWIjrnDXssmbg== X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SJ0PR03MB6360.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(4636009)(376002)(346002)(366004)(136003)(396003)(39860400002)(451199015)(36756003)(66946007)(83380400001)(316002)(4326008)(66556008)(6506007)(66476007)(8936002)(8676002)(54906003)(6666004)(6916009)(2616005)(1076003)(186003)(26005)(86362001)(6512007)(5660300002)(41300700001)(2906002)(478600001)(6486002)(82960400001)(38100700002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?Mlg0V0dBTG9QZ2ExbDNjT3lzeHVtYTJqUVhSU0JMMUMzYm41b1AyQU9UYjBS?= =?utf-8?B?UktWWTNwT0QveXNiUmV6bWM5bzBMT0FhZ2I3QzFQeHN5cVJ2REhwNHN5UTNX?= =?utf-8?B?dC9GS1lPT1o4OUlhM1pZQnlwVzhhN2p6aTRTU09XSktVdnMyZ3B4ZDRqUkd4?= =?utf-8?B?ZFM0VndEU2VnTmpxSzhJbDRkMkFZelNVVG1aRGcweDJ1eGJidDNhUXNMQVAy?= =?utf-8?B?dFRvblpudS9LUzhjb25TODJsR2dxMyt3WDc0SUJkVTJGS2F2ZU9MV1RKREV1?= =?utf-8?B?WTd2SlBvQkM1S2VhV0tpanNjaTcvSFJpdjE1Q2U3VllvYk80bEU2US82Qnow?= =?utf-8?B?YWc3czNteDkzbzBlMGlFOTJtRGhyOUc2NDJ5OEdGYlpTRTVHT21hdlJ4eWtN?= =?utf-8?B?bTdINnZHWnJON2NEMzJuRkF4V2hRc1NSdjVvaHIwWGlQcTd2ZGxsclBGRDdF?= =?utf-8?B?QzhhdklKR2VWT0JHWERIWU1iWlB5d0cxNjI3MVhQT0pRMWRSa1dIeFFubUg4?= =?utf-8?B?NWVuaFBkRnRvTVYrdkVDeHVQVGZrYWR1V1VsWjI4VFFibldQT3Y4VEZldnpW?= =?utf-8?B?VTVpS1NkZG9Fa3NhS1ZoUWhIK3c0M2EvTkZyM2IzTTAxMjBJL1VvdnRkZXR6?= =?utf-8?B?Y28vUmtUR0NIQ1I1enlNcmhJOVR2Wk1yNHlwWU84S1JPcjdoUWpjVkxZdFV2?= =?utf-8?B?dDB5cE5wREJjRzdOcWdRcTVsZU96TWcraWVxdWx1UGxUL0NJRUQ1dWtYclQz?= =?utf-8?B?anBtcEdCNjQzS1ExSC9TTER4Y1c0aCs0Tm5rWnlZVkU1UXhmcFNzaDVVaE5I?= =?utf-8?B?NEExN2FQY1MxdnNsdUVGZFRtUWFTQmxZdEpUMk1NZ29tQmtjZmZNNmNRMDV0?= =?utf-8?B?QmRyaXBpbzZ6MWpMMlVEZEl4dlc0RFZWQ0FsRTlWd1pTd21GaXB4Rkpkc0cr?= =?utf-8?B?TDlUR0pRL0FQTVdjcHI3cDdjNElmS1lxOE5LaUpJWVFUeHBzWUZRMEZSNExD?= =?utf-8?B?dW1kdFJRZDBqV2JtbXJyVkF0TkdUcVUxb0ZqRkdGQTNXSGo4b3lWNG9kengy?= =?utf-8?B?Y25GbEhzV3JiVjRrdHZOSWF1bnd5Tm94YkF1UEg4LzZta0Z3RWIzUTVPVlVh?= =?utf-8?B?aUtiNXFXVjJKMHZzejd3c2wvY0w4bEZ5MjhlNURiaFg0TXhNNWY5M0V5a2NK?= =?utf-8?B?L1ZFWkN6K0pmcXUxWW1nSGVRS0xzTlJyMGpRRlNCM2FJZDh5YkVHYUUzWE96?= =?utf-8?B?SXNaazVwSmhhTkd4czdyc3MwQVUxQzlVenFpeTUxb29lT3gzSC9JbHQzblJv?= =?utf-8?B?STB0TkVjclkvZHJTdmxtbkNTUk5MUlMxbmtsVEpodmJqdUdxdzVHZFQ5ZklJ?= =?utf-8?B?Ylc3blRHbEVuNTB5TGtXZk1DcjdMWTBERUdjT1BvRlliWjI1NGJGZ2NaZGNo?= =?utf-8?B?eFNOYXgrTDNvMjBhTkh6OFRUV2g0YTNQd0g4OXBBWmVQVmY5WEpWekd1WmJ1?= =?utf-8?B?Rmx2eUEzbldDM3cxUEQvbGhSMXN1VjJlSGN2MGJDT2ZJaFlzWGNkZi9SbjZJ?= =?utf-8?B?eUVkV2NrNWh3cEVkUzA3ejNiTU92MkVhdW5QQkt6NnVUaDZxZkRWQ2ZsVG0r?= =?utf-8?B?UkN0SzVoRmdDeXpkOEpUSWhiekpNOG9zVDlrRXo1a2k4MU5KaGRtaDlYRnNC?= =?utf-8?B?bUNlYm5pNCtoSWtLMlpHWGhxVEJCWWZ0NENxYjZXNXNwcWY4UW5wemk2bnJx?= =?utf-8?B?MGtKY2xLMHJzeEFkMCtIdmhDSnVTWjR3K1lwMGxkTnhUcjZPWXRqMmVCR3Zn?= =?utf-8?B?N1dsMkFjYTFGb0MxN3Y3WUp4S0RXTWF3WlJwd3p3Q2Fjb1EyL0NwWHloM2hp?= =?utf-8?B?RlRabzRLTzJ3VFhLVFhhVzFuMFJZWmU4TVlJbDZTQndJUHFmR2ZMdWxFZitJ?= =?utf-8?B?b3JzMkdCN2dKOVY2U0ZYWnpkdTRUMGJIckFWT2ZaNUZoU0NiekMwWjR1VTd0?= =?utf-8?B?SVp3aWdBM016RWJZZXI5czc3RFJTRzRJTFNjMlgwV290dUVVbm1Ob1AvcnBI?= =?utf-8?B?cDN1ZEFsN3FjbFZaaG5nTk4waVBDSlJmNkY2UWl5M0ZuTWprMTRxSllQUHZu?= =?utf-8?B?S0h2b0Y1RVQwRnVrUTlBc1VaLzVQb2daZXB2c1l0RE1CcTQyQzJqcWhWdGQv?= =?utf-8?B?QXc9PQ==?= X-OriginatorOrg: citrix.com X-MS-Exchange-CrossTenant-Network-Message-Id: fbf9dd58-09bc-4ab2-cb1f-08dab69775f4 X-MS-Exchange-CrossTenant-AuthSource: SJ0PR03MB6360.namprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Oct 2022 14:44:46.4296 (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: BhSehKPihtWP5topdIBJlsD38OihTVkZOWKAlPs8lPiTuS9lJ4z2kdUODIOtsIDvuElaedzzaLElIdT4cekIjQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BL1PR03MB6118 X-ZohoMail-DKIM: pass (identity @citrix.com) X-ZM-MESSAGEID: 1666709122304100001 Teardown of MSIX vPCI related data doesn't currently remove the MSIX device data from the list of MSIX tables handled by the domain, leading to a use-after-free of the data in the msix structure. Remove the structure from the list before freeing in order to solve it. Reported-by: Jan Beulich Fixes: d6281be9d0 ('vpci/msix: add MSI-X handlers') Signed-off-by: Roger Pau Monn=C3=A9 Reviewed-by: Jan Beulich --- xen/drivers/vpci/vpci.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/xen/drivers/vpci/vpci.c b/xen/drivers/vpci/vpci.c index 647f7af679..98198dc2c9 100644 --- a/xen/drivers/vpci/vpci.c +++ b/xen/drivers/vpci/vpci.c @@ -51,8 +51,12 @@ void vpci_remove_device(struct pci_dev *pdev) xfree(r); } spin_unlock(&pdev->vpci->lock); - if ( pdev->vpci->msix && pdev->vpci->msix->pba ) - iounmap(pdev->vpci->msix->pba); + if ( pdev->vpci->msix ) + { + list_del(&pdev->vpci->msix->next); + if ( pdev->vpci->msix->pba ) + iounmap(pdev->vpci->msix->pba); + } xfree(pdev->vpci->msix); xfree(pdev->vpci->msi); xfree(pdev->vpci); --=20 2.37.3 From nobody Sat May 18 14:25:20 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) client-ip=192.237.175.120; envelope-from=xen-devel-bounces@lists.xenproject.org; helo=lists.xenproject.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; arc=pass (i=1 dmarc=pass fromdomain=citrix.com); dmarc=pass(p=reject dis=none) header.from=citrix.com ARC-Seal: i=2; a=rsa-sha256; t=1666709122; cv=pass; d=zohomail.com; s=zohoarc; b=RhW1sfxIO1MaPPkASZLEIqdT/UGAK3pTGHl71RJFjvMjEgJ2wmV6fenAtLvwAPqBWIdIU5E8MAjhZZsQ+9/SSVgscZM8Lho3AKkSc8wijx5I5eJUaqKCadCKTKc1m/XW3mWOo0aC63kJ+HhcIPFhJt/ERzdJSeadI/rLpG5iNJw= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1666709122; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=XzCg1pMR0cq2iQiX6KNWMZbBy7hPZyi/638lZv3TX6Y=; b=iCi/xld4/V27l9htk4yM0iJt8NcdyulTF+pKIWu80pMoK8kvyHIgVEjsBz1nJf4rMzXXM9ubCwLpT78qv0pCk2Chkgh1lkZov2lTNi3Ol7JamuzClG51fBgHPWjzF8nysxreSv5SvnUx85NxXV7qViBL2hxSrR5X5OcBHbBoUT4= ARC-Authentication-Results: i=2; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; arc=pass (i=1 dmarc=pass fromdomain=citrix.com); dmarc=pass header.from= (p=reject dis=none) Return-Path: Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) by mx.zohomail.com with SMTPS id 1666709122626424.80617964368764; Tue, 25 Oct 2022 07:45:22 -0700 (PDT) Received: from list by lists.xenproject.org with outflank-mailman.429879.681197 (Exim 4.92) (envelope-from ) id 1onLAo-0004Gj-5s; Tue, 25 Oct 2022 14:44:58 +0000 Received: by outflank-mailman (output) from mailman id 429879.681197; Tue, 25 Oct 2022 14:44:58 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1onLAo-0004Gc-2r; Tue, 25 Oct 2022 14:44:58 +0000 Received: by outflank-mailman (input) for mailman id 429879; Tue, 25 Oct 2022 14:44:56 +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 1onLAm-0003SJ-7l for xen-devel@lists.xenproject.org; Tue, 25 Oct 2022 14:44:56 +0000 Received: from esa6.hc3370-68.iphmx.com (esa6.hc3370-68.iphmx.com [216.71.155.175]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS id 96f48f0d-5473-11ed-91b5-6bf2151ebd3b; Tue, 25 Oct 2022 16:44:55 +0200 (CEST) Received: from mail-co1nam11lp2170.outbound.protection.outlook.com (HELO NAM11-CO1-obe.outbound.protection.outlook.com) ([104.47.56.170]) by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256; 25 Oct 2022 10:44:53 -0400 Received: from SJ0PR03MB6360.namprd03.prod.outlook.com (2603:10b6:a03:395::11) by BL1PR03MB6118.namprd03.prod.outlook.com (2603:10b6:208:31c::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5746.26; Tue, 25 Oct 2022 14:44:51 +0000 Received: from SJ0PR03MB6360.namprd03.prod.outlook.com ([fe80::9f90:6ba5:5b44:c254]) by SJ0PR03MB6360.namprd03.prod.outlook.com ([fe80::9f90:6ba5:5b44:c254%3]) with mapi id 15.20.5746.028; Tue, 25 Oct 2022 14:44:51 +0000 X-Outflank-Mailman: Message body and most headers restored to incoming version 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: 96f48f0d-5473-11ed-91b5-6bf2151ebd3b DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=citrix.com; s=securemail; t=1666709094; h=from:to:cc:subject:date:message-id:in-reply-to: references:content-transfer-encoding:mime-version; bh=lK5sCkafKTg60/tnmYLI+7xQSzr6OWS0/h/M8T5Wwd8=; b=MfiHlO+c5Li3mT3kQY21PgNmtnZLKiQ7PedNBrMJRhltf+Xl2avlV1BM KVoMfH7OOfT6SExN+cm3UwZt1z57oYJd5ARFEGBt0qqYpRLfqVsGfPMFk moE5ioo9TzbH3fd9hCH9meMSg3zY/G+/47yyMVQHH0svDANC4/XHPTVo6 I=; X-IronPort-RemoteIP: 104.47.56.170 X-IronPort-MID: 83085569 X-IronPort-Reputation: None X-IronPort-Listener: OutboundMail X-IronPort-SenderGroup: RELAY_O365 X-IronPort-MailFlowPolicy: $RELAYED IronPort-Data: A9a23:LuUh+6NLkB4Un2bvrR2GlsFynXyQoLVcMsEvi/4bfWQNrUongTFRn 2oeWjrVM62NMzDzcohyYIzi9UMDv5CDm9VgHAto+SlhQUwRpJueD7x1DKtS0wC6dZSfER09v 63yTvGacajYm1eF/k/F3oDJ9CU6j+fQLlbFILasEjhrQgN5QzsWhxtmmuoo6qZlmtH8CA6W0 T/Ii5S31GSNhnglbwr414rZ8Ek15ayo5WtC1rADTasjUGH2xiF94K03fcldH1OgKqFIE+izQ fr0zb3R1gs1KD90V7tJOp6iGqE7aua60Tqm0xK6aID76vR2nQQg075TCRYpQRw/ZwNlPTxG4 I4lWZSYEW/FN0BX8QgXe0Ew/ypWZcWq9FJbSJQWXAP6I0DuKhPRL/tS4E4eJ44cxsxtG2ty0 9MUJS4wYkGZn8Gq+efuIgVsrpxLwMjDGqo64ygl5haASPEsTNbEXrnA4sJe0HEonMdSEP3CZ s0fLz1ycBDHZB4JMVASYH48tL7w2j+jLHsF9hTM+vJfD2v7lWSd1JD3N9XYYJqSTNh9lUeEv GPWuW/+B3n2MfTPkmLVry/y14cjmwv0eYZNM4eZ3MRajQaS3Eg/VEArSEGk9KzRZkmWHog3x 1Yv0jojq+0++VKmSvH5XgakuziUsxgEQd1SHuYmrgaXxcL8wwufHHlCcTdHZ/QvrspwTjsvv neLld70AT1ksJWOVGmQsLyTqFuP1TM9KGYDYWoPSlID6ty6+YUr1EuQFpBkDbK/icDzFXfo2 TeWoSMihrIVy8kWy6G8+lOBiDWpznTUcjMICszsdjrNxmtEiESNPeRENXCzAS58Ebuk IronPort-HdrOrdr: A9a23:tZdbLqpaqphIasjB9ksx3REaV5uhL9V00zEX/kB9WHVpm5Oj+v xGzc5w6farsl0ssSkb6Ku90KnpewK+yXcH2/hqAV7CZnivhILMFu1fBOTZslrd8kHFl9K1kJ 0QC5SWa+eARmSS7/yKhjVQeuxIqLbozEnrv5am854Hd3AJV0gU1XYcNu/tKDwSeOApP/oEPa vZwvACiyureHwRYMj+LGICRfL/q9rCk4+jSQIaBjY8gTP+wA+A2frfKVy1zx0eWzRAzfMJ6m 7eiTH04a2lrrWS1gLc7WnO9J5b8eGRhuerRfb8xfT9GA+cyzpAV74RG4FqewpF491H3Wxa3u UkZS1QffibpUmhO11d6iGdpjUImAxel0MKj2Xoy0cL6PaJOw4SGo5Pg5lUfQDe7FdltNZg0L hT12bcrJZPCwjc9R6NkOQgeisa43Zcm0BS5dI7njhaS88TebVRpYsQ8AdcF4oBBjvz7MQiHP N1BM/R6f5KeRfCBkqp91VH0ZipRDA+Dx2GSk8Ntoic1CVXhmlwyw8dyNYElnkN+ZohQ91P5v jCMK5viLZSJ/VmG55VFaMEW4+6G2bNSRXDPCabJknmDrgOPzbXp5v+8NwOlZOXkVwzvegPcb j6ISNlXDQJCjzT4OW1rex2ziw= X-IronPort-AV: E=Sophos;i="5.95,212,1661832000"; d="scan'208";a="83085569" ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=MXC1HwZlbb0htukKNOx1rt5In+5eddZUigIsEz+JkeRzbwXG8h1zQ7DI+ZLjF6v10m94mQXGEizXqL8NNUtupTOxYb7FnkscPK3VhIEJfodW6A1Sp2Jy9cBwSSL7LsiWt+Xv9+ouA3TrsSB7qW3PX3K3RqzycDrZ2/wC7pI44qYNxFUvLhbke8pPl+WP1riiHq0FD4DIL0cXPMLvl2Z4bpyy9/ClM8Agf0+dNpZoO+Y9BCB79IONEyJhFpCrm3+oeNuMJdXmtocVXQ8X/0cq/5+n60mFJzb3jzi8VShRL3CMQe/JjUXJlM03M2HfNsmErEt/V6ek6l2Rx8kWJQ4nGQ== 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=XzCg1pMR0cq2iQiX6KNWMZbBy7hPZyi/638lZv3TX6Y=; b=PER7v8ikKMrvr1BOAo7Uh47RuN64KzzULnayJHmFtD5dzCMPogdtjQRhOypdgZdLZRCgp6gSZQhqimr/0lMOhqTNK7SdD7wY7zyHmg03mg5Tfb9SPFxEV0F7qvJ9PAwsnaNSe3KHU+HoWiIsSNYlZIntWP1ZaLxzYxjDC5LRpxS1EhdUYvQNvNgsVdCBzRc+GpnpU8lrsOz30lFgv4MXI4fM6XbzEi1zSPQUgJnolT4cf49dGPLgBdBeeZkWGLGFq6y2S9dxHWEpOEAfgugUZIgisrG/zkiyhcupHDAnIgKHy35U/1gh+XhiV6lO1RFqIB+TEv0wD2PAKo14uf4TYQ== 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=XzCg1pMR0cq2iQiX6KNWMZbBy7hPZyi/638lZv3TX6Y=; b=PB4fpUKo3sL3ap9klgZgUl+Rkif6jTUN2VuzEk8pgnUpPehkZQASi8H+OfbciVwWb0oKq8tm0ecmynSq3Q071ulP0zg6U65XC0cRX3g953EeZTPy0oYCoZ5NTxKVZhkW89AcIFYDgtJhZ5XBsiUMFwh5QJv+do7doIkE6kGXh9Y= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=citrix.com; From: Roger Pau Monne To: xen-devel@lists.xenproject.org Cc: Henry.Wang@arm.com, Roger Pau Monne , Jan Beulich Subject: [PATCH for-4.17 v2 3/5] vpci: introduce a local vpci_bar variable to modify_decoding() Date: Tue, 25 Oct 2022 16:44:16 +0200 Message-Id: <20221025144418.66800-4-roger.pau@citrix.com> X-Mailer: git-send-email 2.37.3 In-Reply-To: <20221025144418.66800-1-roger.pau@citrix.com> References: <20221025144418.66800-1-roger.pau@citrix.com> Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: LO2P265CA0427.GBRP265.PROD.OUTLOOK.COM (2603:10a6:600:a0::31) To SJ0PR03MB6360.namprd03.prod.outlook.com (2603:10b6:a03:395::11) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SJ0PR03MB6360:EE_|BL1PR03MB6118:EE_ X-MS-Office365-Filtering-Correlation-Id: 678bf55e-af45-4dd2-3c56-08dab6977929 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: LuDMlMCi9vJI9bN0Rpq/wYtD4xp0RMgI2jemhjmM/L6rxeo5Y4AHY14+s6EE0na/T7cS1ugSK6Qk4y41Tis8I0K2PNdqwSSqI+Q5ujagfFeU63hjxKBoJLfYk66mWGKNYsiGfaiYbF8cnaj+Yxf3I3O80yct+xum8I+nusQc7HDhfRNqdMdX3+BzQVIzNvIUoybrTHA2nnryjHrWVqx4p9hiRS+oFO3PfRetsnd2iw+/N3hSrrUzcbd1E0waWyt51YQG2UMvi6jK9Rs2ygsLUn7MSwWH2/yxbPibqZWHxPDt4j/2ECOL+7BA3EPScR1CE9vD33WWnQAft7Q8jxWCq11l6Eow8jI2d+bkj8zvg0vmqFWnvTMpRPlwGrV2UmyXk3wsoV/WV1ClOiTWrYamzDL1yrtnEQ61TYL3/BqBXFvXjUON4l+bU+TQUwmwI7kshKfMtLrSU+gisCnK0asmzmFhuw69DbYaQL9ZVPsNmCpUSm18yd1mAp4BjTyOeESwLrcUQP7gRvbp383wapAnnKOckh+I/ssG7l6oA4jZ5TNTk8DAPLanQeaBJ73D8Yzm+YsaJRcrACVl2wYhJFWFmHnTGFfMQPHoLZBhyiDZa5HJEKGjshPxvgLcZ6d6/pUBaPtTmx8bZNManJJoL4yQ9jXxCr+fToJo3jWboKqmnc034PQstoVCqBTIDaxHzDWnSgSj33YDqz76aoN0oJLjiA== X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SJ0PR03MB6360.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(4636009)(376002)(346002)(366004)(136003)(396003)(39860400002)(451199015)(36756003)(66946007)(83380400001)(316002)(4326008)(66556008)(6506007)(66476007)(8936002)(8676002)(54906003)(6666004)(6916009)(2616005)(1076003)(186003)(26005)(86362001)(6512007)(5660300002)(41300700001)(2906002)(478600001)(6486002)(82960400001)(38100700002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?YTd3OEREUVg1dFhSc3M2VHlNcHNObmZGUmQ4bWs3YitqRE1ZdUwxaDhib2dT?= =?utf-8?B?Nnhjb3cyVVZuOEMzTVhpVE1zcnYvRjdDdG5VMUZ4VFFldmFETnRLdFRob2ZB?= =?utf-8?B?V01URmpDOUJrZk1oQnd5VXlkcldqK3NwYzgzZW1GUEluTHdhL29ISWZTRFFp?= =?utf-8?B?T3N5dm5xVng2bFJzL3dsSzlOelR3TjMzaGdOQzlqby9xS3d1S2pYTlVxaFF2?= =?utf-8?B?cGxjSVNIQkdlYUpSczRFSyswais3L2xZcEdVK0l4Y0hEWVZRRkZZMXNGYkt5?= =?utf-8?B?dFF3T0JacUhUa1RDWU5YRkJoWENWaW9wY2V5b3lEbHBnK1JycllkUHZ6c1ha?= =?utf-8?B?ZW5uSzVud1ZSV2RxV2puNEdvbVhjdVhYdWxBTlhSVCsxVUduZGxGL01RSG85?= =?utf-8?B?eHVxSWNsMFRSRG95R01nc09NdjlvcHpob0IrRWdydko0QkFzY3B4ay8xa0RD?= =?utf-8?B?eDFNSVBSbVdnN2dIZFhMQ2VhNUFIRHhYTnpVY0FpUXZLekFmWElVOVc2dzl1?= =?utf-8?B?UGJCay9CaDlQbmNvbkJUaEFWTW5VNTN2c3QzR2kwdUhBZzc1L0dLOG1PQnNq?= =?utf-8?B?SVIxZWRWYWNCYURzZEF2SDJOZUdvNk9wVS91OXdsYWNmdjhXWFVhSjk5bFd6?= =?utf-8?B?MEkzbkRjUlcwY1NrbkJ2VkxxQVZIVjQvTHJIclRnTm1sNUVhbGRKWE9USTN3?= =?utf-8?B?dS96YVFqeDJZTUlpbGNYbElQam1JSkFQeVFLWkVVRmkzMVVyTE9tdlFRL1dL?= =?utf-8?B?RkFodjBEOUp5d3ZZbHFjdVhDOFFHVzRvOEE3ejF5ZjQyQ2gzM2tycFd3anpI?= =?utf-8?B?L2M3a0k5OHdxS0k5bGdVWnlOWE1LRWFKOFlRdTBOblhRVXdyOHNtZ1k3cUo4?= =?utf-8?B?ZVVSZFNMNFVtY0M3WVB3WTdtaDlkZHF2U1dYdWFiUTQydzBXUG5yWmI1MUsz?= =?utf-8?B?T0N6Q2s1UlNxbk9kYmNnYU5Wbi9EZlcvcXM5UGh5M01SZnVlNnozNytIY1oz?= =?utf-8?B?bkxlY1BQNlFWN0JUTnIvcXczVEY3TEVUUUZmMnNIV0hsZWhFY0ZVZXJjY1lR?= =?utf-8?B?VyswT2FxdkhkM09HRUY2QWQxNkQ3R3pJSXZOWUxiZXFJYW5HdHg0RmxFYWFI?= =?utf-8?B?TkpGdk13VytlenM5M3pKbjhrSXdsQjd6NmNZVEdPTERtUGV3ekU5ZjRGSDJF?= =?utf-8?B?WEE4NDA4Z1lWSVZ0WDVvUXdHQ3dxTUtXN0JFeEZ5cHFtSEhrLzBUVnlMNmNp?= =?utf-8?B?eXhtOENlNGl3anI2dGl0Z1dLYUJVT2I4VER2RDJJTkN4a1dQODdpNTl3bmkx?= =?utf-8?B?a08yQ3JRUTBIUXk2Wm5Lb1Y4WWdjRlZ4UWZhUW9Dc0I2aGFOR2RRT0F5Ni9a?= =?utf-8?B?b25NTEl4d2UwTUZpcW4wczZKQjhFQnhieVFQWXl0VWtHZktuUzJab3Q3anpi?= =?utf-8?B?Z0dUelFmMk5FOW1vS3M4OWVNNUFXM3ZoTndMa3pjbW1sQmRPYkpUbUQxZnlU?= =?utf-8?B?aC8vWmhhbWEyRUEwUUkzaU53c3ZPZUh5RVIrUEU0cWNTZ0EzZXJ0OHBQQi85?= =?utf-8?B?M3RxNFRVUzVNUFNWdytpS1Z1U1Q2L29FNVBoZktVeEEvR2FCMCtXajhNUVFY?= =?utf-8?B?TUpLaWpvWXY3UlZSVmJjMUdvM1ZGeFhTM2s0OW9rMzNNNUhSMkQwb3FvVjJB?= =?utf-8?B?bllyV09NYXV0WVdCMGVrRDcrbDhYUkUxcVdGVUVkOUtXVCtlbllUUlJGNFZr?= =?utf-8?B?Rk9oZkNzQ1lPV29Tbk1SVTlQRXgraXNrKzBLeGlFVytXU1A1dCtxYWcvNHN0?= =?utf-8?B?dkV0eVVKVEI5QURZZnVsS2xkaWgzM1dSdkZUT3BOODdScnZBUXRSRmxGZitx?= =?utf-8?B?WDhxd3BPQ01zRFJJTFl0ZXByeHFLZWkrd0dSUjRQcTdmZENMeXdPcXFaZFpo?= =?utf-8?B?NFJsUlZKUHkwN1NCZFZxNGs1bTNVb2hIRElSVEhnMFovMVlFaFRXQ0xDVFhl?= =?utf-8?B?ZmFQcUxWdUNtV2MwUDFTcXM0dkpRbFpGY29sSzNzOUhsWllGbGEyaGlBQnBI?= =?utf-8?B?dWkrRDJUZE5MSVNrNHJua0ppVU5ENkZPakNzRkxFbXY5QjFwZnZVemhVMlYx?= =?utf-8?B?aUV4cEROdG1yaWcvYlkvcmkydkNBcWJZUW9OYU0xTmNYemE3UGN5S1dDbXov?= =?utf-8?B?bHc9PQ==?= X-OriginatorOrg: citrix.com X-MS-Exchange-CrossTenant-Network-Message-Id: 678bf55e-af45-4dd2-3c56-08dab6977929 X-MS-Exchange-CrossTenant-AuthSource: SJ0PR03MB6360.namprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Oct 2022 14:44:51.8377 (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: MqasveXXwllgnazI6Mup0IB/B9Fuv0O2O11Pqz6kP6Kc2QbZlsf94zq6D8QzEOH00pLM2eHsG26pA6lDIkVPBg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BL1PR03MB6118 X-ZohoMail-DKIM: pass (identity @citrix.com) X-ZM-MESSAGEID: 1666709124066100003 This is done to shorten line length in the function in preparation for adding further usages of the vpci_bar data structure. No functional change. Signed-off-by: Roger Pau Monn=C3=A9 Reviewed-by: Jan Beulich --- xen/drivers/vpci/header.c | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/xen/drivers/vpci/header.c b/xen/drivers/vpci/header.c index a1c928a0d2..eb9219a49a 100644 --- a/xen/drivers/vpci/header.c +++ b/xen/drivers/vpci/header.c @@ -103,24 +103,26 @@ static void modify_decoding(const struct pci_dev *pde= v, uint16_t cmd, =20 for ( i =3D 0; i < ARRAY_SIZE(header->bars); i++ ) { - if ( !MAPPABLE_BAR(&header->bars[i]) ) + struct vpci_bar *bar =3D &header->bars[i]; + + if ( !MAPPABLE_BAR(bar) ) continue; =20 - if ( rom_only && header->bars[i].type =3D=3D VPCI_BAR_ROM ) + if ( rom_only && bar->type =3D=3D VPCI_BAR_ROM ) { unsigned int rom_pos =3D (i =3D=3D PCI_HEADER_NORMAL_NR_BARS) ? PCI_ROM_ADDRESS : PCI_ROM_ADDRESS1; - uint32_t val =3D header->bars[i].addr | + uint32_t val =3D bar->addr | (map ? PCI_ROM_ADDRESS_ENABLE : 0); =20 - header->bars[i].enabled =3D header->rom_enabled =3D map; + bar->enabled =3D header->rom_enabled =3D map; pci_conf_write32(pdev->sbdf, rom_pos, val); return; } =20 if ( !rom_only && - (header->bars[i].type !=3D VPCI_BAR_ROM || header->rom_enable= d) ) - header->bars[i].enabled =3D map; + (bar->type !=3D VPCI_BAR_ROM || header->rom_enabled) ) + bar->enabled =3D map; } =20 if ( !rom_only ) --=20 2.37.3 From nobody Sat May 18 14:25:20 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) client-ip=192.237.175.120; envelope-from=xen-devel-bounces@lists.xenproject.org; helo=lists.xenproject.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; arc=pass (i=1 dmarc=pass fromdomain=citrix.com); dmarc=pass(p=reject dis=none) header.from=citrix.com ARC-Seal: i=2; a=rsa-sha256; t=1666709127; cv=pass; d=zohomail.com; s=zohoarc; b=j/km/829QYmPHOf4Pd+Ra1+osfDr5Yk1QTTP/RFYQTAyl3cswqUlG5EGEYHY6nH0APPCNQ7WhZfBE2ukRvD68TwikCQlhAUrZiI71JVf++s4XzCvapQ107fXqow3pYK/PmeUlivvSIayGesw+0EEOTEkgRgSAQyIVYSHqoh1Y2M= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1666709127; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=9VZPXsMkn9fam+VCRpitzkT4VDEDmOwmP7P5aKFDPN0=; b=do0Un2ovshpeegaS9uORBkbzvUXkICklLUPjnqyCivMbBPllnSMCFkhPuRvxcvRRykinlLxiIyj6gkeH7flHc0EPHXa0sco0pbpzRJS7rDitDj3nBqxZ3bD/LWauMjx3DRirvfilgyX6zLYqIoiwGTbuDmC0hzpfgjpOfxvFREM= ARC-Authentication-Results: i=2; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; arc=pass (i=1 dmarc=pass fromdomain=citrix.com); dmarc=pass header.from= (p=reject dis=none) Return-Path: Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) by mx.zohomail.com with SMTPS id 1666709127234660.1063378572586; Tue, 25 Oct 2022 07:45:27 -0700 (PDT) Received: from list by lists.xenproject.org with outflank-mailman.429880.681208 (Exim 4.92) (envelope-from ) id 1onLAt-0004eF-II; Tue, 25 Oct 2022 14:45:03 +0000 Received: by outflank-mailman (output) from mailman id 429880.681208; Tue, 25 Oct 2022 14:45:03 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1onLAt-0004e4-Eh; Tue, 25 Oct 2022 14:45:03 +0000 Received: by outflank-mailman (input) for mailman id 429880; Tue, 25 Oct 2022 14:45:02 +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 1onLAs-0003SJ-BF for xen-devel@lists.xenproject.org; Tue, 25 Oct 2022 14:45:02 +0000 Received: from esa1.hc3370-68.iphmx.com (esa1.hc3370-68.iphmx.com [216.71.145.142]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS id 9964d07b-5473-11ed-91b5-6bf2151ebd3b; Tue, 25 Oct 2022 16:45:00 +0200 (CEST) Received: from mail-mw2nam12lp2044.outbound.protection.outlook.com (HELO NAM12-MW2-obe.outbound.protection.outlook.com) ([104.47.66.44]) by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256; 25 Oct 2022 10:44:58 -0400 Received: from SJ0PR03MB6360.namprd03.prod.outlook.com (2603:10b6:a03:395::11) by SJ0PR03MB5808.namprd03.prod.outlook.com (2603:10b6:a03:2dd::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5746.28; Tue, 25 Oct 2022 14:44:56 +0000 Received: from SJ0PR03MB6360.namprd03.prod.outlook.com ([fe80::9f90:6ba5:5b44:c254]) by SJ0PR03MB6360.namprd03.prod.outlook.com ([fe80::9f90:6ba5:5b44:c254%3]) with mapi id 15.20.5746.028; Tue, 25 Oct 2022 14:44:56 +0000 X-Outflank-Mailman: Message body and most headers restored to incoming version 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: 9964d07b-5473-11ed-91b5-6bf2151ebd3b DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=citrix.com; s=securemail; t=1666709100; h=from:to:cc:subject:date:message-id:in-reply-to: references:content-transfer-encoding:mime-version; bh=kAAdyrIBV5b3v2jo4pvSozj+LaxTfiauFnyu5tTM1Vc=; b=DLqrMperFyoT35zJA53FUubjbMqiZZzbbjQuOUwWsQ4Xp1Ob2w0enkhc WdjdShsNKlNgm6P/172dwFVmzrpj7jcc/Lqoqg4rJ/2WjQrycM3/KdpWe W+MGdqS79Osglor+9J2uyoRli2eY4lL5RLXRmFzikMYGOBq8Sqr0jbLv0 w=; X-IronPort-RemoteIP: 104.47.66.44 X-IronPort-MID: 83892324 X-IronPort-Reputation: None X-IronPort-Listener: OutboundMail X-IronPort-SenderGroup: RELAY_O365 X-IronPort-MailFlowPolicy: $RELAYED IronPort-Data: A9a23:GrTWkalU8/w2SaLnMBoeeuPo5gy3J0RdPkR7XQ2eYbSJt1+Wr1Gzt xJOX2mOafvYYWDyeIx1Yd6y9kgHvpLTzNNjT1A6pHg8ESMWpZLJC+rCIxarNUt+DCFhoGFPt JxCN4aafKjYaleG+39B55C49SEUOZmgH+a6UqicUsxIbVcMYD87jh5+kPIOjIdtgNyoayuAo tq3qMDEULOf82cc3lk8tuTS9XuDgNyo4GlC5wRkOKgR1LPjvyJ94Kw3dPnZw0TQGuG4LsbiL 87fwbew+H/u/htFIrtJRZ6iLyXm6paLVeS/oiI+t5qK23CulQRrukoPD9IOaF8/ttm8t4sZJ OOhF3CHYVxB0qXkwIzxWvTDes10FfUuFLTveRBTvSEPpqFvnrSFL/hGVSkL0YMkFulfGXxe1 KRbDxU3cEqxpuuW0aijda5qv5F2RCXrFNt3VnBI6xj8VKxjZK+ZBqLA6JlfwSs6gd1IEbDGf c0FZDFzbRPGJRpSJlMQD5F4l+Ct7pX9W2QA9BTJ+uxpvS6PkGSd05C0WDbRUsaNSshP2F6Ru 0rN/njjAwFcP9uaodaA2iL31r6VxnmnMG4UPLS30P5hn3G2/1MsJDgtEkW1gKa61kHrDrqzL GRRoELCt5Ma5EGtC9XwQRC8iHqFpQIHHcpdFfUg7wOAwbaS5ByWbkAkQzhbeZoZvck5bTUw0 xmCmNaBLT5lvaCRSHmd3qyJtj70Mi8QRUcabDIAZRsI5Z/kuo5bs/7UZtNqEarwi8KvHzj1m mqOtHJm2+lVitMX3aKm+1yBmyirupXCUg8y4EPQQ36h6QR6IoWiYuRE9GTm0BqJF67BJnHpg ZTOs5H2ADwmZX1VqBGwfQ== IronPort-HdrOrdr: A9a23:ttY1oajIy5hpiP4ByAOPyAnOUnBQX0F13DAbv31ZSRFFG/FwyP rCoB1L73XJYWgqM03I+eruBEBPewK/yXcT2/hqAV7CZnichILMFu1fBOTZslnd8kHFltK1kJ 0QCpSWa+eAcmSS8/yKhzVQeuxIqLfnzEnrv5an854Ed3AXV0gK1XYdNu/0KDwUeOEQbqBJaa Z0q/A30QaISDAyVICWF3MFV+/Mq5nik4/nWwcPA1oC5BOVhT2lxbbmG1zAty1uGw9n8PMHyy zoggb57qKsv7WSzQLd7Xba69BzlMH6wtVOKcSQgow+KynqiCyveIN9Mofy9QwdkaWK0hIHgd PMqxAvM4Ba7G7QRHi8pV/X1wzpwF8Vmgrf4G7dpUGmjd3yRTo8BcYEr5leaAHl500pu8w5+L 5X3kqC3qAnQS/orWDY3ZzlRhtqnk27rT4JiugIlUFSVoMYdft4sZEfxkVIC50NdRiKpbzPKN MeQv002cwmMG9zNxvizylSKZ2XLz4O9y69Mwc/Upf/6UkUoJh7p3FotvD30E1wtq7VcKM0l9 gsAp4Y6o2mcfVmHJ6VfN1xJ/dfKla9NS4kY1jiVmjPJeUgB0/njaLRzfEc2NyKEaZ4v6fa3q 6xG29liQ== X-IronPort-AV: E=Sophos;i="5.95,212,1661832000"; d="scan'208";a="83892324" ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=ddaiAYIhXwakw0LKgOAWdPyzFGWgZbgHtsD4Bu9Y9F74omlc6Y1+5pTFBoaC9H1x/QkebCtr2PV/Og6Rgw3lc/ubLkcDJU4zPvSGiz2NF5g/o1LsmE+NMZkCkksuf6ts7I7bGpsJDAkBbb4CR2Szut/Tsx1EogtroUI9d1yAqrl02pTv9QCPCpDhTMUBrWc+lUQcSOEcyG9z0Kmcv5B7OCAbfGr15e2W1NFwmAH4S3wKrdHtc8tptfH1ttSg9qRqh2Jsh10IV8+6AHFt/VX7RGDJV9WAJpNNHxHN5E4j1KHzcLpEiYWsTPfZqDe1rXtslVW2Ce8a/4HimzP6W5DYYg== 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=9VZPXsMkn9fam+VCRpitzkT4VDEDmOwmP7P5aKFDPN0=; b=nqxLUVl3imGNgKUZCMFNpumn9fQ9nTHuEcvnsvLFVdKKSxLUm0KQeMeCajqxRwW4WLzulFAl1iSt64hoeAMt+GTuRAAbtQA7p3h+uU+kmEO6pUo0T9QGpOyKL2UFe1HrUkfVWV9qI3kqzdeUu3zZyqZOaTCzcGQON/ckiyWOdmSPDP+8vvdTWet4IE/B94YvgoxFSL0Zd2U+wXPI6FS0ARiw2K1OmirUJL/Q5PtpAZAsQS95MqkFQLfa/KgAId2fProMtfdAL2PONbVD/qmxKQfsbSDpY1Vnrf3Asrqg10rBwJPYwnlLyPFKFavTVLkhjxISoOuCdjl0eT2lEADCMA== 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=9VZPXsMkn9fam+VCRpitzkT4VDEDmOwmP7P5aKFDPN0=; b=hoNer72MTBxE+546k55+LMnfvswn8Zv1HHQeJ/mq8ArSIl/1xiKC4u3HFFhhw/vlg59xN0wWpveLuy7iA64D8JG0gh5e0gNKtIMGOJbmzWSBRxL+z7zFl0ovA9f3X8sdcWXADK7aBEC2tmLjMIOVJtsTm7fFO0owDXlhZ9XbQ9k= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=citrix.com; From: Roger Pau Monne To: xen-devel@lists.xenproject.org Cc: Henry.Wang@arm.com, Roger Pau Monne , Jan Beulich , Paul Durrant Subject: [PATCH for-4.17 v2 4/5] pci: do not disable memory decoding for devices Date: Tue, 25 Oct 2022 16:44:17 +0200 Message-Id: <20221025144418.66800-5-roger.pau@citrix.com> X-Mailer: git-send-email 2.37.3 In-Reply-To: <20221025144418.66800-1-roger.pau@citrix.com> References: <20221025144418.66800-1-roger.pau@citrix.com> Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: LO4P265CA0174.GBRP265.PROD.OUTLOOK.COM (2603:10a6:600:312::19) To SJ0PR03MB6360.namprd03.prod.outlook.com (2603:10b6:a03:395::11) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SJ0PR03MB6360:EE_|SJ0PR03MB5808:EE_ X-MS-Office365-Filtering-Correlation-Id: 21544477-07fb-4242-fe22-08dab6977bd0 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: aZpEGhq5xuM7SfX+0toQZIbMZjAw3nMbAzpwytrsUPe7qj1Jupibv/k3D+k31c9hPW84NizZUXmq3bC+LeRGSB+2HQh/TZpz3ICvNY/Q0AVCl5vxQ6cRPGT+0TyZkj3caSi9dOuEqe//FoVMPUCbwbddt9nt69bPyJJjs0G/5KTz0mDGsup4OxbdF5HtgWYTqINAhE8qdtRXu+fHQQj02kASQFzp+B1iK3IjAp9ae94oDFZnSm0EW0Kgwse/OGEpXNl7AA7BN6ji39mmR+wandvb/tkapVnWJravvLar5ovC5Bgl0IYbB7438GHN1vY7C7AhNE1pcTOVAD9p6CfaWWt2oZptCpkxn2/yh52G6ajZipuhfcZA5YV10aQgY3qsZ9yTCCia9gmrYlG5K7Ig+/dIbKXK+4//Cx/jWjD9eUZaMWwrZWEqoNevl0eXGqp7Q/LjanXRtMpddiQDHBB5s2Mzlua0dvAyDWepdV6sXWoK2vHMlcguYXsU+SBzKTTbjpXXoANK+reZhrx2FjQu/RGk5VjfkGxPYVE7XP1jcDx9xYna1khrsJaUY4+tAoD6WmsMQxS0MADxNvKrUxM5XvoQxEVMhWXbvNbN9iYBMPxj8g2MDNny0kbK9gFm4OJPVEsyIskL7QCc6yVyoMAtHONuAISd0HQvKP0VpNfEsJyXHZZwxAzsrWoTrG1NEYjOBA9HTwheyc3P1wXp84rUaA== X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SJ0PR03MB6360.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(4636009)(366004)(346002)(376002)(396003)(39860400002)(136003)(451199015)(83380400001)(316002)(54906003)(6916009)(5660300002)(41300700001)(6512007)(8936002)(26005)(4326008)(66556008)(8676002)(66476007)(66946007)(86362001)(6666004)(36756003)(6506007)(2616005)(478600001)(6486002)(82960400001)(186003)(1076003)(38100700002)(2906002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?UE9OSnBBWSt2MWd2dkYwWU03dUpuWll3aG01anpYRzFDeCtONndUVFF3M2o0?= =?utf-8?B?Uyt3UXdRcjBhc3NXNm9Md1ZiNFBncVh1OGFmcTBjNkQwRFQyUzlyTVB2b1FV?= =?utf-8?B?YzM1czRxaUhOb2VBVmJQd25ITXJsekVxWjVPT0xzZklyT3h6c3JwRUpwcFhJ?= =?utf-8?B?TEZOSnVjVlRxTC9zRVUvaTR1K2oyS3JhYnZSR1BTa20wYnJMbTJpRVBib2lv?= =?utf-8?B?LzJqa1BoSnFvR3NiWkt5RXhNVGh3ZFl3aGtSY3JvT2tZbTRTU0JYUk1mZS9y?= =?utf-8?B?YVlCWkl4b1Rva0kxTTlWZFRxMExsczB4WmxIRlM1a3N6bVYwdnhpYTdpZUNs?= =?utf-8?B?QTEzUzNZY2pXQkRLQWdkUldBb1RPR0xCMnd2YmhiSFFwWSsxMEUrTGJMblhk?= =?utf-8?B?OWdhSk54VlQybXZsUDFoaHQwdDU2cGcyKzZZd1d4TlpFRFkyb2IwckRyQUtj?= =?utf-8?B?L3pkTS9lVkJJTGFQdDQwQURramwrM2liZkowMUVwT2JYSjhISXhBY0lYUzJ5?= =?utf-8?B?TDZCVTdJZllLT2dYU3g0T0FjR0NuVDJSSzFXU3MzOVFXQ1Zib3k4cFRqWExi?= =?utf-8?B?a3U5RXg3eVpTSUd5ZTBRYTUzMy9TVUVPbzh0bVArcThCSUh4bUdmZWxRblBn?= =?utf-8?B?R2srUFJJK2ZGbGYwN2RhRjY3Vy9YUmdwSm5uZFFEdnFLTWoxNGpLR3FianUy?= =?utf-8?B?ZXM4T01jcjRHSGpNNk1kTUVvL3RyMEZBaTJKck5GREpjblpNRGtvK0VYZ3BX?= =?utf-8?B?UzZBVkY1WTQwRCtZQmtiYk1GOXpmSG9JVGRuc3NyTVR6SG1GNjFuTFByVjVq?= =?utf-8?B?RGRIbHFoLzQ4U2VhOXdnWUFRL3RwZTdPU3BrL25UQUZhUkhMK2VCMGdLN3Fh?= =?utf-8?B?Ri9wdDJOQ21YUXU4WENIQjZ4cWZFN3FmdkRzdlV6THVUYW9Femd2c2crWnly?= =?utf-8?B?MnVVYXcxcWxGVmRQeE1IdWtJQk8xNnBmZVFTbVRPSzhmelJPTWdtU1hlRUVR?= =?utf-8?B?M0YrRmFjZTNPdFpHdWNwdzNGZG1aa0VhbFBaRk9kUk82dGx1QWZQeVQ1Z2t4?= =?utf-8?B?TVJxNEFST3lzOHdLUlhIMXgvekd5VzVENHJxOTdyNDdXRmIxS29CclNaQWY1?= =?utf-8?B?TE50Vnl4NGF1dzNYVkVvQlRRQXdTdHIrVmk2aTNrUjhEdlBBenV5OUpCR25L?= =?utf-8?B?MksxSnNyYW5pcDdLZnQ1Vk1tRDhRM0xkZGhtQzh4VHU2SVRoNnE1UjVHcU4v?= =?utf-8?B?Z0lFZVZ2SXZKWjBOOFZLU203VkdaZThlOHA2NHlrWEJ4Z21QcHpDK1NZVnJp?= =?utf-8?B?bmlpMThmejcwVGxxQTlodFNqNWVFMjArdmErbDJKM1FEaC9CbnJZRTRDZjYy?= =?utf-8?B?SG8zNUlzRWhiSWZOWHFVN3BXQTN5MjRXdXo5ZkpNQmxFc013TXNjTElqdkU3?= =?utf-8?B?enVuZlloV0YzN2VKM3hKeDBsN2NObUpOM0Y2STduUldZdHdOb2VBRjgvL25O?= =?utf-8?B?d3ZpSDZBRllhM0pzcGRFOGIwWmJIOFRNSlBsUzlTbDhEZ000VXQ2cWFBODRH?= =?utf-8?B?eVF0NXVHQSt3TWg5MmRiWE5ub0JYbUtKUU5JOE1wWGxVdTdhbzZmRWJxT2hw?= =?utf-8?B?KzNDQVJrWFRwSzk3akJ5Rmt0djJYZ1grVFJUK2QrRlFLd1dtWi9DS3JORzZx?= =?utf-8?B?V1FVcnJVV1hoTS9uMlRodEszOXVsckVDR0MyTDBsMDhsM1psRDZGQkpWd21z?= =?utf-8?B?ZHZhaG5uVFlxRG9YRGI1SnVHTjJEU1VkamlKdGN2OS9GM00wb1hLaytmN1Zl?= =?utf-8?B?amJORmlrYTduWGtjNHBaeGhPMThrekJINnBjSmdTTXg1TmVZTThYT2tRWG5s?= =?utf-8?B?SHdNbjFVaDBXSk0rV1FYdnczcStVOWVOY25ScHJHZVJzeFhGdllVRmgrZyta?= =?utf-8?B?VGRBSXpDSlZkUmxobFdJUFBVb01DalNPSFQ1OElUc2h6Q1NrUFRsbk55dExM?= =?utf-8?B?RjR3bmsvTC9WWVh5emNNVjM5dkdWMWM4QWZoMU5WK3hFcTgyQUFaUjlRSzNr?= =?utf-8?B?RjFvVGZiUVlyVnUyUEJHODFieEtsWlpaRStnNzhDRk5YdXRnQWF1Zk82YUly?= =?utf-8?B?M3dPcDVUNlRVdHZaMHZueXdSVUlHbUZGOHg1ZTVlQ20wUFUwOHV2TjQxbWF5?= =?utf-8?B?Y1E9PQ==?= X-OriginatorOrg: citrix.com X-MS-Exchange-CrossTenant-Network-Message-Id: 21544477-07fb-4242-fe22-08dab6977bd0 X-MS-Exchange-CrossTenant-AuthSource: SJ0PR03MB6360.namprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Oct 2022 14:44:56.2626 (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: kXQKxf7/VNw4V5BFWPtqP6rzxdrXdPLONEElawKQtu3Cn6ZSMxawMSpbyTgA3o/TBswShrKyZl06LgHQc87qmw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR03MB5808 X-ZohoMail-DKIM: pass (identity @citrix.com) X-ZM-MESSAGEID: 1666709128082100001 Commit 75cc460a1b added checks to ensure the position of the BARs from PCI devices don't overlap with regions defined on the memory map. When there's a collision memory decoding is left disabled for the device, assuming that dom0 will reposition the BAR if necessary and enable memory decoding. While this would be the case for devices being used by dom0, devices being used by the firmware itself that have no driver would usually be left with memory decoding disabled by dom0 if that's the state dom0 found them in, and thus firmware trying to make use of them will not function correctly. The initial intent of 75cc460a1b was to prevent vPCI from creating MMIO mappings on the dom0 p2m over regions that would otherwise already have mappings established. It's my view now that we likely went too far with 75cc460a1b, and Xen disabling memory decoding of devices (as buggy as they might be) is harmful, and reduces the set of hardware on which Xen works. This commits reverts most of 75cc460a1b, and instead adds checks to vPCI in order to prevent misplaced BARs from being added to the hardware domain p2m. Signaling on whether BARs are mapped is tracked in the vpci structure, so that misplaced BARs are not mapped, and thus Xen won't attempt to unmap them when memory decoding is disabled. This restores the behavior of Xen for PV dom0 to the state it was previous to 75cc460a1b, while also introducing a more contained fix for the vPCI BAR mapping issues. Fixes: 75cc460a1b ('xen/pci: detect when BARs are not suitably positioned') Signed-off-by: Roger Pau Monn=C3=A9 --- AT Citrix we have a system with a device with the following BARs: BAR [0xfe010, 0xfe010] -> in a EfiMemoryMappedIO region BAR [0, 0x1fff] -> not positioned, outside host bridge window And memory decoding enabled by the firmware. With the current code (or any of the previous fix proposals), Xen would still disable memory decoding for the device, and the system will freeze when attempting to set EFI vars. I'm afraid the best solution to avoid regressions caused by 75cc460a1b is the proposal here. --- xen/drivers/passthrough/pci.c | 69 ----------------------------------- xen/drivers/vpci/header.c | 22 ++++++++++- 2 files changed, 20 insertions(+), 71 deletions(-) diff --git a/xen/drivers/passthrough/pci.c b/xen/drivers/passthrough/pci.c index 149f68bb6e..b42acb8d7c 100644 --- a/xen/drivers/passthrough/pci.c +++ b/xen/drivers/passthrough/pci.c @@ -233,9 +233,6 @@ static void check_pdev(const struct pci_dev *pdev) PCI_STATUS_REC_TARGET_ABORT | PCI_STATUS_REC_MASTER_ABORT | \ PCI_STATUS_SIG_SYSTEM_ERROR | PCI_STATUS_DETECTED_PARITY) u16 val; - unsigned int nbars =3D 0, rom_pos =3D 0, i; - static const char warn[] =3D XENLOG_WARNING - "%pp disabled: %sBAR [%#lx, %#lx] overlaps with memory map\n"; =20 if ( command_mask ) { @@ -254,8 +251,6 @@ static void check_pdev(const struct pci_dev *pdev) switch ( pci_conf_read8(pdev->sbdf, PCI_HEADER_TYPE) & 0x7f ) { case PCI_HEADER_TYPE_BRIDGE: - nbars =3D PCI_HEADER_BRIDGE_NR_BARS; - rom_pos =3D PCI_ROM_ADDRESS1; if ( !bridge_ctl_mask ) break; val =3D pci_conf_read16(pdev->sbdf, PCI_BRIDGE_CONTROL); @@ -272,75 +267,11 @@ static void check_pdev(const struct pci_dev *pdev) } break; =20 - case PCI_HEADER_TYPE_NORMAL: - nbars =3D PCI_HEADER_NORMAL_NR_BARS; - rom_pos =3D PCI_ROM_ADDRESS; - break; - case PCI_HEADER_TYPE_CARDBUS: /* TODO */ break; } #undef PCI_STATUS_CHECK - - /* Check if BARs overlap with other memory regions. */ - val =3D pci_conf_read16(pdev->sbdf, PCI_COMMAND); - if ( !(val & PCI_COMMAND_MEMORY) || pdev->ignore_bars ) - return; - - pci_conf_write16(pdev->sbdf, PCI_COMMAND, val & ~PCI_COMMAND_MEMORY); - for ( i =3D 0; i < nbars; ) - { - uint64_t addr, size; - unsigned int reg =3D PCI_BASE_ADDRESS_0 + i * 4; - int rc =3D 1; - - if ( (pci_conf_read32(pdev->sbdf, reg) & PCI_BASE_ADDRESS_SPACE) != =3D - PCI_BASE_ADDRESS_SPACE_MEMORY ) - goto next; - - rc =3D pci_size_mem_bar(pdev->sbdf, reg, &addr, &size, - (i =3D=3D nbars - 1) ? PCI_BAR_LAST : 0); - if ( rc < 0 ) - /* Unable to size, better leave memory decoding disabled. */ - return; - if ( size && !pci_check_bar(pdev, maddr_to_mfn(addr), - maddr_to_mfn(addr + size - 1)) ) - { - /* - * Return without enabling memory decoding if BAR position is = not - * in IO suitable memory. Let the hardware domain re-position = the - * BAR. - */ - printk(warn, - &pdev->sbdf, "", PFN_DOWN(addr), PFN_DOWN(addr + size -= 1)); - return; - } - - next: - ASSERT(rc > 0); - i +=3D rc; - } - - if ( rom_pos && - (pci_conf_read32(pdev->sbdf, rom_pos) & PCI_ROM_ADDRESS_ENABLE) ) - { - uint64_t addr, size; - int rc =3D pci_size_mem_bar(pdev->sbdf, rom_pos, &addr, &size, - PCI_BAR_ROM); - - if ( rc < 0 ) - return; - if ( size && !pci_check_bar(pdev, maddr_to_mfn(addr), - maddr_to_mfn(addr + size - 1)) ) - { - printk(warn, &pdev->sbdf, "ROM ", PFN_DOWN(addr), - PFN_DOWN(addr + size - 1)); - return; - } - } - - pci_conf_write16(pdev->sbdf, PCI_COMMAND, val); } =20 static void apply_quirks(struct pci_dev *pdev) diff --git a/xen/drivers/vpci/header.c b/xen/drivers/vpci/header.c index eb9219a49a..4d7f8f4a30 100644 --- a/xen/drivers/vpci/header.c +++ b/xen/drivers/vpci/header.c @@ -121,7 +121,9 @@ static void modify_decoding(const struct pci_dev *pdev,= uint16_t cmd, } =20 if ( !rom_only && - (bar->type !=3D VPCI_BAR_ROM || header->rom_enabled) ) + (bar->type !=3D VPCI_BAR_ROM || header->rom_enabled) && + pci_check_bar(pdev, _mfn(PFN_DOWN(bar->addr)), + _mfn(PFN_DOWN(bar->addr + bar->size - 1))) ) bar->enabled =3D map; } =20 @@ -234,9 +236,25 @@ static int modify_bars(const struct pci_dev *pdev, uin= t16_t cmd, bool rom_only) =20 if ( !MAPPABLE_BAR(bar) || (rom_only ? bar->type !=3D VPCI_BAR_ROM - : (bar->type =3D=3D VPCI_BAR_ROM && !header->rom_en= abled)) ) + : (bar->type =3D=3D VPCI_BAR_ROM && !header->rom_en= abled)) || + /* Skip BARs already in the requested state. */ + bar->enabled =3D=3D !!(cmd & PCI_COMMAND_MEMORY) ) continue; =20 + /* + * Only do BAR position checks for the hardware domain, for guests= it's + * assumed that the hardware domain has changed the position of any + * problematic BARs. + */ + if ( is_hardware_domain(pdev->domain) && + !pci_check_bar(pdev, _mfn(start), _mfn(end)) ) + { + printk(XENLOG_G_WARNING + "%pp: not mapping BAR [%lx, %lx] invalid position\n", + &pdev->sbdf, start, end); + continue; + } + rc =3D rangeset_add_range(mem, start, end); if ( rc ) { --=20 2.37.3 From nobody Sat May 18 14:25:20 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) client-ip=192.237.175.120; envelope-from=xen-devel-bounces@lists.xenproject.org; helo=lists.xenproject.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; arc=pass (i=1 dmarc=pass fromdomain=citrix.com); dmarc=pass(p=reject dis=none) header.from=citrix.com ARC-Seal: i=2; a=rsa-sha256; t=1666709129; cv=pass; d=zohomail.com; s=zohoarc; b=JWNbwUStSVNk+spWLCgXsFS850Cb+UkiFQ5uMl5/gMcfoJ60L3kNU95nH876Ae/L5T8bUc2J/74rapdfyEFOUbgOsYMweX/E4m2tR1iScRKEQ/8Pofr5ZEgCB1R6S0h+Tkf6u/DBt1K1trSHK9BgVICa/vfMGnOO+3q5Vk5MkT4= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1666709129; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=Ni/1RlXrdeaGMkzCL+CI7189B9RbrNPyY4w069aWnxk=; b=Ty25jZkuiCYGNQw1qBp5jfn66onGtVDTibG++MFSjgZkjTc9ck0qOXB/3zDoIChMepf1ZZLOGL2AIcGPGFMayvTfIW9CaEXlgzlxkSTnm6Zr+/3sjGGVw/LhDfTEk7ycjvFh2HYoG4wfYxlPTe9JxGDvBXmaN7AQw0hPSJfpMYw= ARC-Authentication-Results: i=2; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; arc=pass (i=1 dmarc=pass fromdomain=citrix.com); dmarc=pass header.from= (p=reject dis=none) Return-Path: Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) by mx.zohomail.com with SMTPS id 1666709129925645.2547349138458; Tue, 25 Oct 2022 07:45:29 -0700 (PDT) Received: from list by lists.xenproject.org with outflank-mailman.429881.681219 (Exim 4.92) (envelope-from ) id 1onLAy-00055u-U8; Tue, 25 Oct 2022 14:45:08 +0000 Received: by outflank-mailman (output) from mailman id 429881.681219; Tue, 25 Oct 2022 14:45:08 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1onLAy-00055M-Q3; Tue, 25 Oct 2022 14:45:08 +0000 Received: by outflank-mailman (input) for mailman id 429881; Tue, 25 Oct 2022 14:45:07 +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 1onLAx-0004yW-8q for xen-devel@lists.xenproject.org; Tue, 25 Oct 2022 14:45:07 +0000 Received: from esa5.hc3370-68.iphmx.com (esa5.hc3370-68.iphmx.com [216.71.155.168]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS id 9c669ac6-5473-11ed-8fd0-01056ac49cbb; Tue, 25 Oct 2022 16:45:05 +0200 (CEST) Received: from mail-dm6nam10lp2107.outbound.protection.outlook.com (HELO NAM10-DM6-obe.outbound.protection.outlook.com) ([104.47.58.107]) by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256; 25 Oct 2022 10:45:03 -0400 Received: from SJ0PR03MB6360.namprd03.prod.outlook.com (2603:10b6:a03:395::11) by SJ0PR03MB5808.namprd03.prod.outlook.com (2603:10b6:a03:2dd::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5746.28; Tue, 25 Oct 2022 14:45:01 +0000 Received: from SJ0PR03MB6360.namprd03.prod.outlook.com ([fe80::9f90:6ba5:5b44:c254]) by SJ0PR03MB6360.namprd03.prod.outlook.com ([fe80::9f90:6ba5:5b44:c254%3]) with mapi id 15.20.5746.028; Tue, 25 Oct 2022 14:45:01 +0000 X-Outflank-Mailman: Message body and most headers restored to incoming version 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: 9c669ac6-5473-11ed-8fd0-01056ac49cbb DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=citrix.com; s=securemail; t=1666709105; h=from:to:cc:subject:date:message-id:in-reply-to: references:content-transfer-encoding:mime-version; bh=XRI3mzs1B0cmEFtJwKBPVRLdZTaKuGUCgVHbs3Soa7U=; b=EM0xehqGjqvbqGd3haR3mn1TOOPUQWNC1aZr6UkT0/Al1qAtw5jsjhCy 3rgZZp58EyFnhMLIekOtZSt9bHBsV4l21SSkQhJ4x/YX6sifPyUozVfX1 Alp7LF/enlWPuiIdMJ89GOcld+9grf7ypTA6WPPhvoVJlEkp8KQYM/DQw w=; X-IronPort-RemoteIP: 104.47.58.107 X-IronPort-MID: 82566550 X-IronPort-Reputation: None X-IronPort-Listener: OutboundMail X-IronPort-SenderGroup: RELAY_O365 X-IronPort-MailFlowPolicy: $RELAYED IronPort-Data: A9a23:3M4ubaDMYicRkBVW/z/iw5YqxClBgxIJ4kV8jS/XYbTApGl00mdRy GAbWzyHb/+DMWfycoona4yzphwPuJ7UnIVmQQY4rX1jcSlH+JHPbTi7wuUcHAvJd5GeExg3h yk6QoOdRCzhZiaE/n9BCpC48T8mk/ngqoPUUIbsIjp2SRJvVBAvgBdin/9RqoNziJ2yDhjlV ena+qUzA3f4nW8pWo4ow/jb8kk25K6v4GlwUmEWPpingnePzxH5M7pHTU2BByOQapVZGOe8W 9HCwNmRlo8O105wYj8Nuu+TnnwiGtY+DyDX4pZlc/HKbix5jj4zys4G2M80Mi+7vdkrc+dZk 72hvbToIesg0zaldO41C3G0GAkmVUFKFSOuzdFSfqV/wmWfG0YAzcmCA2ltA7wEpcVXJ1pJ9 OUZA2gzdB/A3ryPlefTpulE3qzPLeHNFaZG4jRM6G+cCvwrB5feX6/N+NlUmi8qgdxDFurfY MxfbidzaBPHYFtEPVJ/5JAWxb/0wCWgNWAI7gvN+sLb4ECKpOB1+KLqP9fPPMSDWO1en1qCp 3KA9GP8av0fHIzFlGTbry/07gPJtQ2mYKsdG4+Hysdnw2ON5H4oJh8PS1Tu9JFVjWb7AbqzM Xc86ico6KQ/6kGvZt38RAGj5m6JuAYGXNhdGPF87xuCooL07gCDFy47RzhOQNU8sYk9QjlC6 7OSt9bgBDgqvLjLT3uYr++QtWnrYXdTKnIebygZSwdD+8PkvIw4khPISJBkDbKxidr2Xzr3x lhmsRQDulnatuZTv43TwLwNq2jESkThJuLt2jjqYw== IronPort-HdrOrdr: A9a23:MqZOMa29Kg6sIWeKguO/OAqjBSlyeYIsimQD101hICG9Lfb0qy n+pp4mPEHP4wr5OEtOpTlPAtjjfZq6z+8O3WBxB8bYYOCCggeVxe5ZnO/fKlHbexEWs9QtrJ uIEJIOd+EYc2IK6voSiTPQe7hA/DDEytHRuQ639QYQcegAUdAE0+4WMHf5LqUgLzM2eKbRWa DskPZvln6FQzA6f867Dn4KU6zqoMDKrovvZVojCwQ84AeDoDu04PqieiLolis2Yndq+/MP4G LFmwv26uGKtOy68AbV0yv2445NkNXs59NfDIini9QTKB/rlgG0Db4REoGqjXQQmqWC+VwqmN 7Dr1MJONly0WrYeiWPrR7ky2DboUMTwk6n7WXdrWrooMT/Sj5/IdFGn5hlfhzQ7FdllM1g0Y pQtljp+6Z/PFflpmDQ9tLIXxZlmg6funw5i9MeiHRZTM83dKJRl4oC50lYea1wUR4S0LpXXt WGMfuspcq/KTihHjDkVyhUsZaRt00Ib1i7qhNogL3X79BU9EoJvXfwivZv3Evoz6hNO6Ws19 60TJiAq4s+P/P+FZgNYtvpYfHHflAlEii8R166EBDAKJwtHU7rhtre3IgVjdvaC6DgiqFC06 j8bA== X-IronPort-AV: E=Sophos;i="5.95,212,1661832000"; d="scan'208";a="82566550" ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=ELLtw+na07llVQnb4nJkroVA71UKIZDDO+cBTjhbp0MtsRSMFo/FGhm+tDFtRw4S26a/Ge8gATBhGzTNICaCi5hLpTkavGrAnlTyKNuc9uCzEEOogTJWHTGcf1dyy9/Qy5bKyQ3oqUmmk36jhKBYs9OAtYvR+KHZSRXoA/yjdapfN6+oeGxMyBHP1jO92Df1LAxdvsgiKvjERiGg2TOlhEso4/zOI5rgOhoEhHN+VBxfck3Nm15di5EybkOCjIzZLyw7BzylMOAF0Tndp30quiKcQLMSLqla/Lz4HMm+Ve9SWNyCFYcxeQWkOYUvbayIIdEuHb2twHJC980oe51Klw== 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=Ni/1RlXrdeaGMkzCL+CI7189B9RbrNPyY4w069aWnxk=; b=VvoPitA9rmo13uc7WoZFrvPvMSvHWbS6AbeNZqDTpDAIVPDuMHFqqrNR8FsdGEANixv1WjIMSMhPC6BquiYIwh/p2UV6PO/zEAjTfhFfHk2sGFrj+txcZQ7818/UnG5G220fi9vNfWfHz9cIsNzulBeWIEHTPoL2QGeDO35NCvu11DOm1awAZY4oIM/TsD9LOcqlXDLa0PzUMpOAb9NkDdasbbjKVRjGosERb86nssYtC0R63PF8o+HCarEvo2llCp2vky0NM6ELUCTTC3Qc1k0My15XHVc/KEVtlNcETfRZ6odm/UgbPT8Ws74BGcHRWbiBFVOloWO29pdKKZffBw== 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=Ni/1RlXrdeaGMkzCL+CI7189B9RbrNPyY4w069aWnxk=; b=CJTG2obLQsBpThHFipsusmFksY2bADfO5b/AUkSoWC2l5pFtYlw58spK0b1TrCzPbRnvZ8VFVlZSGfji/1EWQZVEdtNvlTbFJqyck7Bjzb9P2P30d+qpw7kWq/e7zswPtM/dQkjCS5H6S/FqbR6YrzasrhxWRN48BfW1iAIkA20= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=citrix.com; From: Roger Pau Monne To: xen-devel@lists.xenproject.org Cc: Henry.Wang@arm.com, Roger Pau Monne Subject: [PATCH for-4.17 v2 5/5] vpci: refuse BAR writes only if the BAR is mapped Date: Tue, 25 Oct 2022 16:44:18 +0200 Message-Id: <20221025144418.66800-6-roger.pau@citrix.com> X-Mailer: git-send-email 2.37.3 In-Reply-To: <20221025144418.66800-1-roger.pau@citrix.com> References: <20221025144418.66800-1-roger.pau@citrix.com> Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: LO4P123CA0568.GBRP123.PROD.OUTLOOK.COM (2603:10a6:600:276::18) To SJ0PR03MB6360.namprd03.prod.outlook.com (2603:10b6:a03:395::11) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SJ0PR03MB6360:EE_|SJ0PR03MB5808:EE_ X-MS-Office365-Filtering-Correlation-Id: 52e45150-27d1-49ff-d095-08dab6977ec5 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 4gg6rX80hMu6WjtWG/gThsz47QgWVQ60DUalK2JpM6DykUZExCQAvwXTEPO5Lu3WOQXgwuJ9yrZ6LiXNgboXBykGoqrwCs+2TVgUdwGaDaH92zjNvRPcSj4OaSWSiEN9asP7aI60KNOv4usGY9GiFp/veMwdvylk0eQ6CgCqOh5XeQUuDJ7cTL4LHbHkLcOLrnRSAp/BrXBzQ/WqRtwynm6c/912xzn7yXV4M/cxY4q2NmRB+08wri177daC8S8TRcauV3B477NM+M+3e4hGgVdpgAsf0j3SHDIRvpCUnVeShSBALieUZPUdKXJ++SNXqv/0WjzGp7mcd/yt/D4XoUaw8odZvmsKWpj1Pie1Jf/tUjCv7zN6NWILsXJcbqzR+ZqFTCRJas8iphHU6ryuLgaUP2NtiKFGMsaYM75ePx2Ul1GuFdieFQFI/jfmyIB603Hy2MtNXmnalGyGDeTVqlq4JnzLP4q0U77stQjPaRyxunkwAn0VdA+CmTpfeWgnsLpQVq8toAkH+FbW61R3xZdxComNEfrbfhZywmlAfZxBxkSxkYc7GatWVV9DKy+iWsQVM1qhy9axHxD950rzEtNYmPzLn2i8+NxLSTnyDPnysMZzeEJ+Vxyx4UdiapwSgLM5VN6GRD7EP+hSn38zJ5pewqKKAfuP8/mu5bCibYXFiJqgkJQtwB6/nF/xXBBKNtk0G7NlWobXbdfSN2RUSQ== X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SJ0PR03MB6360.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(4636009)(366004)(346002)(376002)(396003)(39860400002)(136003)(451199015)(83380400001)(316002)(6916009)(5660300002)(41300700001)(6512007)(8936002)(26005)(4326008)(66556008)(8676002)(66476007)(66946007)(86362001)(107886003)(6666004)(36756003)(6506007)(2616005)(478600001)(6486002)(82960400001)(186003)(1076003)(38100700002)(2906002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?UWx6NVRPS1JleThGNnBMbGRxY0FrSkdBK3M2R3U4UW1XRmRxcENBTm1VaVg4?= =?utf-8?B?aEFSN0lzcitxaGNnM3dCNCtnVHFzU3MxdWhGelh6UGx5VElRUXRKeEU3Q1Ev?= =?utf-8?B?YlV3RWFqOHRnSUJ6alUvK09mNzY4VVdGcWFIYzJtcVpudzl6YXluZDd3YWFU?= =?utf-8?B?YlphaEdZWDcwYk8vUlBNUjFjTGJLQW53NzZ4MFZoR0djNG1LNUMwM0xMd251?= =?utf-8?B?RnVyUWhVMnNSZ2FxTDRFV2lBU25tUEFSeG9TQnpjK0hFc1FNMU13eXorSmEr?= =?utf-8?B?aEkwNkJjNjRKSHhmYmwwZGlVOFhBOE5kNHRHV1pOZ2V6eHdLcmR6bnZSWGFC?= =?utf-8?B?ekVkOG5ZQy84WW9jeGhaRVh4Y1kxYWxYREE4QS9uTUlVMk9uamFWUFREdW5G?= =?utf-8?B?RjZOZFhyaG83SS9FVW1Ma3g4ZU9PWG1oQ1pFTUN4Sm83WVZNZGRFQlI1UVBN?= =?utf-8?B?b1J3UFJOdTIvWDJUaW14TWVjNmNmSTgwTkpYRnd0K3NCTmhyRFpLdUFGc1Iv?= =?utf-8?B?b0tNc3RtWjBwd3hqRFlFWUhJQk5aSVVwN0c2SVFUSHo1WndoS1VJK1VxaHhi?= =?utf-8?B?ZVh4MitIc1p2Y2RFSGVqT2lUbFR6Z085TllsRG95L0VXdm8zSHRpUERTckdR?= =?utf-8?B?MCtPTnNkL1B1SVBDZUJXK1VZc0xuUlZqQWZBM3NmeG92TGZQckIwMnIyeFBw?= =?utf-8?B?dnZqaGJsYWlQenRMK1JuMStxZ2JkUFdBRnc0b0dnYmU1cEtkZVdRQUdLWEcy?= =?utf-8?B?VDc4dzdWTHU2SkF0YlNhZ3JBSk9BQjFOUkVaWTJEeGJBM1IzbXRTM2JaZkM4?= =?utf-8?B?UXZESzQrMUJkMzFUVUR3d0RoMSsrQ283c2VLb2x1cTNkZ2x3SVAyTVJsRVBi?= =?utf-8?B?Z1dvRDB6VDB0cXdVUG9GUVNxeU5kOFdhT1BqeW9BYjlVOFRLN3BENmg3YWlj?= =?utf-8?B?ZGxoZkdDOURaUWk1c1l5T3VCNVRRODZPdWFpMGUwT09Dd09YK1RVRjlwNjRZ?= =?utf-8?B?a0o2QVo2U2JYT2ZJTHRTQWZSSzhocTNuNnFpN2hzcS9lZXZaMGVleE1rU0pm?= =?utf-8?B?Y1VISXo1L2lHWnFHTmlGSEpkWGVXVm9CWTFpb1dPSFVwQmtYL2kzcjU3Uks5?= =?utf-8?B?VW5kY0JPVnp0OVlSL0lKTSsvdFRBQkg5enRFRGhpZUxPdlZ6ZTdYLy9GZ28r?= =?utf-8?B?TXFBckFsQTluQnJPVDgwMDhvMDVCYjlhN2ZmTjY1NjRPQWZBcHA0ZTdXc2du?= =?utf-8?B?ZVNaWWhLcHBXV3hZcmlWdjdyOGJCeDZBakp3UzJHSlpmVVdOa3REQkFURVNO?= =?utf-8?B?WnhmK2tSKzlTeEFINzU2RGdtekxScVdEdzBUOGVpbGVhZzlXUEQxMU96clpR?= =?utf-8?B?L3RuS0Jaa3Z4RXVFd2YrRkdtYVplZFM4YW9PYnNVUDFUMHVSNFRKeUdTd2xi?= =?utf-8?B?SFdwbWp5N0Y4WmR1MG42eVorblc3bmJhZXJkaXBZakJLTmlIZGErMko5RWlM?= =?utf-8?B?bjZOZzBVVjgwYnhFa0xQcFpSZnJ4Y3ZPalU0RVEvNkRTYmt2anI0cE01a2pK?= =?utf-8?B?VU84UGszZ1RDdFRSTFprZ2Jwa2ROSDFrOW1lQlptaVY2RlpRS1V5Z3IwNjZq?= =?utf-8?B?S2UvKytuUmpueWZWYVRSaE50d0g3SnhFT2RHNVo5TCt2M0xxYXg0NzVDaWJi?= =?utf-8?B?Yi8vSDlXQWxwQmxEMW9DYzNaL2pWdHlyczJ2alQ4enc3WVhjL05ZS3BwTHZQ?= =?utf-8?B?cmpydFAzOHgvRlhyWmZxS3hPR1pYcW51Sm93cXFINmpjaUJTMk4xWGRyVWlE?= =?utf-8?B?NDhxcllnTUw3eTdlV1RXRzc2a0xiS1RhaHJvQVRBRU5hVUdwdm5RNzlWWXY4?= =?utf-8?B?cjZZL0dQY2cvSG9ZUElza2p5NEc3WCtLTng1Mk5lR1BkamVBdk42OEVjY3pU?= =?utf-8?B?YjRiMy9qQk1odVdsNEtEUndEenlRbHk4UFd1TGh6bzB5RWZrSFE4bmJrTzlI?= =?utf-8?B?LzFxczllNWo1ZEhub3JBSVh1SklKTmJNWkg4bWdLT0hXbm9JbXRlc0NJcFVi?= =?utf-8?B?YzRMTnE1WTAvYjgyc1NMTGo2Yko0TnNpamlKcXBxeWY5MWtic3BnK3RtdVlR?= =?utf-8?B?ZEZNc1MybUdOSHVOME96WDkwbHl6ZXB6Y0dkREJ3blpvNnJKMVZGWFNDV0Fy?= =?utf-8?B?VkE9PQ==?= X-OriginatorOrg: citrix.com X-MS-Exchange-CrossTenant-Network-Message-Id: 52e45150-27d1-49ff-d095-08dab6977ec5 X-MS-Exchange-CrossTenant-AuthSource: SJ0PR03MB6360.namprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Oct 2022 14:45:01.2524 (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: inIno9macsuacieyc2E06qK6/4MhRwFXRusPqLZj64olJSk7RBABwmQgYCqLV5hf66tJUDyfLTRvMsJZgl1wgA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR03MB5808 X-ZohoMail-DKIM: pass (identity @citrix.com) X-ZM-MESSAGEID: 1666709132193100001 Writes to the BARs are ignored if memory decoding is enabled for the device, and the same happen with ROM BARs if the write is an attempt to change the position of the BAR without disabling it first. The reason of ignoring such writes is a limitation in Xen, as it would need to unmap the BAR, change the address, and remap the BAR at the new position, which the current logic doesn't support. Some devices however seem to (wrongly) have the memory decoding bit hardcoded to enabled, and attempts to disable it don't get reflected on the command register. This causes issues for well behaved guests that disable memory decoding and then try to size the BARs, as vPCI will think memory decoding is still enabled and ignore the write. Since vPCI doesn't explicitly care about whether the memory decoding bit is disabled as long as the BAR is not mapped in the guest p2m use the information in the vpci_bar to check whether the BAR is mapped, and refuse writes only based on that information. This workarounds the issue, and allows guests to size and reposition the BARs properly. Signed-off-by: Roger Pau Monn=C3=A9 --- Changes since v1: - Cache setting of memory decoding in command register. - Reword some log messages. --- xen/drivers/vpci/header.c | 18 ++++++++++-------- xen/include/xen/vpci.h | 6 ++++++ 2 files changed, 16 insertions(+), 8 deletions(-) diff --git a/xen/drivers/vpci/header.c b/xen/drivers/vpci/header.c index 4d7f8f4a30..ecd95059b2 100644 --- a/xen/drivers/vpci/header.c +++ b/xen/drivers/vpci/header.c @@ -128,7 +128,10 @@ static void modify_decoding(const struct pci_dev *pdev= , uint16_t cmd, } =20 if ( !rom_only ) + { pci_conf_write16(pdev->sbdf, PCI_COMMAND, cmd); + header->bars_mapped =3D map; + } else ASSERT_UNREACHABLE(); } @@ -355,13 +358,13 @@ static int modify_bars(const struct pci_dev *pdev, ui= nt16_t cmd, bool rom_only) static void cf_check cmd_write( const struct pci_dev *pdev, unsigned int reg, uint32_t cmd, void *data) { - uint16_t current_cmd =3D pci_conf_read16(pdev->sbdf, reg); + struct vpci_header *header =3D data; =20 /* * Let Dom0 play with all the bits directly except for the memory * decoding one. */ - if ( (cmd ^ current_cmd) & PCI_COMMAND_MEMORY ) + if ( header->bars_mapped !=3D !!(cmd & PCI_COMMAND_MEMORY) ) /* * Ignore the error. No memory has been added or removed from the = p2m * (because the actual p2m changes are deferred in defer_map) and = the @@ -388,12 +391,12 @@ static void cf_check bar_write( else val &=3D PCI_BASE_ADDRESS_MEM_MASK; =20 - if ( pci_conf_read16(pdev->sbdf, PCI_COMMAND) & PCI_COMMAND_MEMORY ) + if ( bar->enabled ) { /* If the value written is the current one avoid printing a warnin= g. */ if ( val !=3D (uint32_t)(bar->addr >> (hi ? 32 : 0)) ) gprintk(XENLOG_WARNING, - "%pp: ignored BAR %zu write with memory decoding enabl= ed\n", + "%pp: ignored BAR %zu write while mapped\n", &pdev->sbdf, bar - pdev->vpci->header.bars + hi); return; } @@ -422,13 +425,12 @@ static void cf_check rom_write( { struct vpci_header *header =3D &pdev->vpci->header; struct vpci_bar *rom =3D data; - uint16_t cmd =3D pci_conf_read16(pdev->sbdf, PCI_COMMAND); bool new_enabled =3D val & PCI_ROM_ADDRESS_ENABLE; =20 - if ( (cmd & PCI_COMMAND_MEMORY) && header->rom_enabled && new_enabled ) + if ( header->bars_mapped && header->rom_enabled && new_enabled ) { gprintk(XENLOG_WARNING, - "%pp: ignored ROM BAR write with memory decoding enabled\n= ", + "%pp: ignored ROM BAR write while mapped\n", &pdev->sbdf); return; } @@ -440,7 +442,7 @@ static void cf_check rom_write( */ rom->addr =3D val & PCI_ROM_ADDRESS_MASK; =20 - if ( !(cmd & PCI_COMMAND_MEMORY) || header->rom_enabled =3D=3D new_ena= bled ) + if ( !header->bars_mapped || header->rom_enabled =3D=3D new_enabled ) { /* Just update the ROM BAR field. */ header->rom_enabled =3D new_enabled; diff --git a/xen/include/xen/vpci.h b/xen/include/xen/vpci.h index 67c9a0c631..d8acfeba8a 100644 --- a/xen/include/xen/vpci.h +++ b/xen/include/xen/vpci.h @@ -88,6 +88,12 @@ struct vpci { * is mapped into guest p2m) if there's a ROM BAR on the device. */ bool rom_enabled : 1; + /* + * Cache whether memory decoding is enabled from our PoV. + * Some devices have a sticky memory decoding so that can't be rel= ied + * upon to know whether BARs are mapped into the guest p2m. + */ + bool bars_mapped : 1; /* FIXME: currently there's no support for SR-IOV. */ } header; =20 --=20 2.37.3