[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[PATCH v2 2/3] VT-d: PCI segments are up to 16 bits wide


  • To: "xen-devel@xxxxxxxxxxxxxxxxxxxx" <xen-devel@xxxxxxxxxxxxxxxxxxxx>
  • From: Jan Beulich <jbeulich@xxxxxxxx>
  • Date: Fri, 17 Sep 2021 13:00:27 +0200
  • 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
  • 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; bh=BuyVlwQZ1n9cLvqfMjg3BbUkdLGOi0HDaN5Q34aqRMQ=; b=i5Me0uXErtVNAnAKKchHQHNN/ffI2xdc0wS+m3YraATuQCCiSpiefsr8/QwRDzkc/HEvMfghYBBSpXf6yrvlz28BJnLgfVO5oYAiNNL7UB8JAmU/iaqu/pRqAb38z8/6LnOm1jyrU66mHO7RS0O2xvCxntl/n1qxKAXHRXDb2m4K9IUABVMnE039y4Nh7ElcTCA+zRHK0ey5lD9Yz6kr0QVwyGc4Oz/irjGIZMI+iFQFASzZNRGxD6UwWIIjdKjDkb6LXWDnreMMDh8f+uWZWXoIh/y6dJLWgP/yNzBu5VUQQzkkgzsyjnkYKhENJQPjpxM1X/VK8BF1juXStIiPFA==
  • Arc-seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=BYJZ7k/9X7JNJ6/GnKJzg9BIvtA3j4USwP1Ex1TNefCsbHoP0NPKNR3ExXpLS1JVlbtxyISc0EpQ0PMctg1YiZLO+2SBpjTzf72u72Uzfcklu0hm6OZhtS3lMhb57gpkfRlMRoToofI8BClumvvSq4i/1DCUXoJ18BdZQ+5JOy3xDXEwIBv8dAZnrK7YV9Y4T7thzoUUVR0zzWQ7iZrM69Hmu7n6uQh6URtFxc4b00AqzuZ4YzwO8FSF0dF+IFftX5tT7we84/bLHwdJQozds2E8EwBZzP1OwtwNbe28FI8xH+BCO2TsiJ6mM9lSDdrY6jmZ/qw8/Qm7gAUFqwMm/g==
  • Authentication-results: intel.com; dkim=none (message not signed) header.d=none;intel.com; dmarc=none action=none header.from=suse.com;
  • Cc: Paul Durrant <paul@xxxxxxx>, Kevin Tian <kevin.tian@xxxxxxxxx>
  • Delivery-date: Fri, 17 Sep 2021 11:00:35 +0000
  • List-id: Xen developer discussion <xen-devel.lists.xenproject.org>

We shouldn't silently truncate respective values.

Signed-off-by: Jan Beulich <jbeulich@xxxxxxxx>
---
Strictly speaking we shouldn't use uint<N>_t here at all. I wasn't sure
though whether going straight to unsigned int wouldn't be viewed as
introducing inconsistencies.
---
v2: New.

--- a/xen/drivers/passthrough/vtd/iommu.c
+++ b/xen/drivers/passthrough/vtd/iommu.c
@@ -1462,7 +1462,8 @@ static int domain_context_mapping(struct
 {
     const struct acpi_drhd_unit *drhd = acpi_find_matched_drhd_unit(pdev);
     int ret = 0;
-    u8 seg = pdev->seg, bus = pdev->bus, secbus;
+    uint16_t seg = pdev->seg;
+    uint8_t bus = pdev->bus, secbus;
 
     /*
      * Generally we assume only devices from one node to get assigned to a
@@ -1677,7 +1678,8 @@ static int domain_context_unmap(struct d
     const struct acpi_drhd_unit *drhd = acpi_find_matched_drhd_unit(pdev);
     struct vtd_iommu *iommu = drhd ? drhd->iommu : NULL;
     int ret;
-    u8 seg = pdev->seg, bus = pdev->bus, tmp_bus, tmp_devfn, secbus;
+    uint16_t seg = pdev->seg;
+    uint8_t bus = pdev->bus, tmp_bus, tmp_devfn, secbus;
     bool found;
 
     switch ( pdev->type )




 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.