lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Date:   Thu, 15 Feb 2018 18:30:30 -0600
From:   Bjorn Helgaas <helgaas@...nel.org>
To:     Feng Kan <fkan@....com>
Cc:     linux-kernel@...r.kernel.org, linux-pci@...r.kernel.org,
        alex.williamson@...hat.com, bhelgaas@...gle.com
Subject: Re: [PATCH] pci: quirk: adding Ampere vendor id to ACS quirk list

On Thu, Jan 25, 2018 at 03:36:07PM -0800, Feng Kan wrote:
> Adding Ampere Computing vendor id to the ACS quirk list.

I assume these new devices provide isolation and source validation the
same way the X-Gene devices do:

  commit a0418aa262df
  Author: Feng Kan <fkan@....com>
  Date:   Thu Aug 10 16:06:33 2017 -0500

    PCI: Add ACS quirk for APM X-Gene devices
    
    The APM X-Gene PCIe root port does not support ACS at this point.  However,
    the hardware provides isolation and source validation through the SMMU.
    The stream ID generated by the PCIe ports contain both the bus/device/
    function number as well as the port ID in its 3 most significant bits.
    Turn on ACS but disable all the peer-to-peer features.

If so, please repost this patch with subject and changelog similar
to the above.  I want an explicit statement about how you provide
protection equivalent to ACS so it's clear this isn't a patch that
just makes things "work" at the expense of security.

> Signed-off-by: Feng Kan <fkan@....com>
> ---
>  Tanmay is no longer with us. After the email system is rebranded
>  to the new company. We will clean up the remaining legacy items.
> 
>  drivers/pci/quirks.c    | 9 +++++++++
>  include/linux/pci_ids.h | 1 +
>  2 files changed, 10 insertions(+)
> 
> diff --git a/drivers/pci/quirks.c b/drivers/pci/quirks.c
> index 10684b1..45d9187 100644
> --- a/drivers/pci/quirks.c
> +++ b/drivers/pci/quirks.c
> @@ -4512,6 +4512,15 @@ static const struct pci_dev_acs_enabled {
>  	{ PCI_VENDOR_ID_CAVIUM, PCI_ANY_ID, pci_quirk_cavium_acs },
>  	/* APM X-Gene */
>  	{ PCI_VENDOR_ID_AMCC, 0xE004, pci_quirk_xgene_acs },
> +	/* Ampere Computing */
> +	{ PCI_VENDOR_ID_AMPERE, 0xE005, pci_quirk_xgene_acs },
> +	{ PCI_VENDOR_ID_AMPERE, 0xE006, pci_quirk_xgene_acs },
> +	{ PCI_VENDOR_ID_AMPERE, 0xE007, pci_quirk_xgene_acs },
> +	{ PCI_VENDOR_ID_AMPERE, 0xE008, pci_quirk_xgene_acs },
> +	{ PCI_VENDOR_ID_AMPERE, 0xE009, pci_quirk_xgene_acs },
> +	{ PCI_VENDOR_ID_AMPERE, 0xE00A, pci_quirk_xgene_acs },
> +	{ PCI_VENDOR_ID_AMPERE, 0xE00B, pci_quirk_xgene_acs },
> +	{ PCI_VENDOR_ID_AMPERE, 0xE00C, pci_quirk_xgene_acs },
>  	{ 0 }
>  };
>  
> diff --git a/include/linux/pci_ids.h b/include/linux/pci_ids.h
> index ab20dc5..c21d1f8 100644
> --- a/include/linux/pci_ids.h
> +++ b/include/linux/pci_ids.h
> @@ -1331,6 +1331,7 @@
>  #define PCI_DEVICE_ID_IMS_TT3D		0x9135
>  
>  #define PCI_VENDOR_ID_AMCC		0x10e8
> +#define PCI_VENDOR_ID_AMPERE		0x1def
>  
>  #define PCI_VENDOR_ID_INTERG		0x10ea
>  #define PCI_DEVICE_ID_INTERG_1682	0x1682
> -- 
> 2.7.4
> 

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ