mbox series

[v5,0/5] vfio/pci: add denylist and disable qat

Message ID 20200724105600.10814-1-giovanni.cabiddu@intel.com
Headers show
Series vfio/pci: add denylist and disable qat | expand

Message

Giovanni Cabiddu July 24, 2020, 10:55 a.m. UTC
This patchset defines a denylist of devices in the vfio-pci module and adds
the current generation of Intel(R) QuickAssist devices to it as they are
not designed to run in an untrusted environment.

By default, if a device is in the denylist, the probe of vfio-pci fails.
If a user wants to use a device in the denylist, he needs to disable the
full denylist providing the option disable_denylist=1 at the load of
vfio-pci or specifying that parameter in a config file in /etc/modprobe.d.

This series also moves the device ids definitions present in the qat driver
to linux/pci_ids.h since they will be shared between the vfio-pci and the qat
drivers and replaces the custom ADF_SYSTEM_DEVICE macro with PCI_VDEVICE.

The series is applicable to Herbert's tree. Patches 1 to 3 apply also to
Alex's tree (next). Patches 4 and 5 are optional and can be applied at a later
stage.

Changes from v4:
 - Patch #2: added Reviewed-by tag from Cornelia Huck
 - Patch #5: added Suggested-by tag as this change was suggested internally
   by Andy Shevchenko
 - Patches 1-5: added Reviewed-by tag from Fiona Trahe

Changes from v3:
 - Patch #1: included Acked-by tag, after ack from Bjorn Helgaas
 - Patch #2: s/prevents/allows/ in module parameter description

Changes from v2:
 - Renamed blocklist in denylist
 - Patch #2: reworded module parameter description to clarify why a device is
   in the denylist
 - Patch #2: reworded warning that occurs when denylist is enabled and device
   is present in that list

Changes from v1:
 - Reworked commit messages:
   Patches #1, #2 and #3: capitalized first character after column to comply to
   subject line convention
   Patch #3: Capitalized QAT acronym and added link and doc number for document
   "Intel® QuickAssist Technology (Intel® QAT) Software for Linux"


Giovanni Cabiddu (5):
  PCI: Add Intel QuickAssist device IDs
  vfio/pci: Add device denylist
  vfio/pci: Add QAT devices to denylist
  crypto: qat - replace device ids defines
  crypto: qat - use PCI_VDEVICE

 drivers/crypto/qat/qat_c3xxx/adf_drv.c        | 11 ++---
 drivers/crypto/qat/qat_c3xxxvf/adf_drv.c      | 11 ++---
 drivers/crypto/qat/qat_c62x/adf_drv.c         | 11 ++---
 drivers/crypto/qat/qat_c62xvf/adf_drv.c       | 11 ++---
 .../crypto/qat/qat_common/adf_accel_devices.h |  6 ---
 drivers/crypto/qat/qat_common/qat_hal.c       |  7 +--
 drivers/crypto/qat/qat_common/qat_uclo.c      |  9 ++--
 drivers/crypto/qat/qat_dh895xcc/adf_drv.c     | 11 ++---
 drivers/crypto/qat/qat_dh895xccvf/adf_drv.c   | 11 ++---
 drivers/vfio/pci/vfio_pci.c                   | 48 +++++++++++++++++++
 include/linux/pci_ids.h                       |  6 +++
 11 files changed, 87 insertions(+), 55 deletions(-)

Comments

Andy Shevchenko July 24, 2020, 11:02 a.m. UTC | #1
On Fri, Jul 24, 2020 at 1:59 PM Giovanni Cabiddu
<giovanni.cabiddu@intel.com> wrote:
>
> This patchset defines a denylist of devices in the vfio-pci module and adds
> the current generation of Intel(R) QuickAssist devices to it as they are
> not designed to run in an untrusted environment.
>
> By default, if a device is in the denylist, the probe of vfio-pci fails.
> If a user wants to use a device in the denylist, he needs to disable the
> full denylist providing the option disable_denylist=1 at the load of
> vfio-pci or specifying that parameter in a config file in /etc/modprobe.d.
>
> This series also moves the device ids definitions present in the qat driver
> to linux/pci_ids.h since they will be shared between the vfio-pci and the qat
> drivers and replaces the custom ADF_SYSTEM_DEVICE macro with PCI_VDEVICE.
>
> The series is applicable to Herbert's tree. Patches 1 to 3 apply also to
> Alex's tree (next). Patches 4 and 5 are optional and can be applied at a later
> stage.

Thanks!
FWIW,
Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com>


> Changes from v4:
>  - Patch #2: added Reviewed-by tag from Cornelia Huck
>  - Patch #5: added Suggested-by tag as this change was suggested internally
>    by Andy Shevchenko
>  - Patches 1-5: added Reviewed-by tag from Fiona Trahe
>
> Changes from v3:
>  - Patch #1: included Acked-by tag, after ack from Bjorn Helgaas
>  - Patch #2: s/prevents/allows/ in module parameter description
>
> Changes from v2:
>  - Renamed blocklist in denylist
>  - Patch #2: reworded module parameter description to clarify why a device is
>    in the denylist
>  - Patch #2: reworded warning that occurs when denylist is enabled and device
>    is present in that list
>
> Changes from v1:
>  - Reworked commit messages:
>    Patches #1, #2 and #3: capitalized first character after column to comply to
>    subject line convention
>    Patch #3: Capitalized QAT acronym and added link and doc number for document
>    "Intel® QuickAssist Technology (Intel® QAT) Software for Linux"
>
>
> Giovanni Cabiddu (5):
>   PCI: Add Intel QuickAssist device IDs
>   vfio/pci: Add device denylist
>   vfio/pci: Add QAT devices to denylist
>   crypto: qat - replace device ids defines
>   crypto: qat - use PCI_VDEVICE
>
>  drivers/crypto/qat/qat_c3xxx/adf_drv.c        | 11 ++---
>  drivers/crypto/qat/qat_c3xxxvf/adf_drv.c      | 11 ++---
>  drivers/crypto/qat/qat_c62x/adf_drv.c         | 11 ++---
>  drivers/crypto/qat/qat_c62xvf/adf_drv.c       | 11 ++---
>  .../crypto/qat/qat_common/adf_accel_devices.h |  6 ---
>  drivers/crypto/qat/qat_common/qat_hal.c       |  7 +--
>  drivers/crypto/qat/qat_common/qat_uclo.c      |  9 ++--
>  drivers/crypto/qat/qat_dh895xcc/adf_drv.c     | 11 ++---
>  drivers/crypto/qat/qat_dh895xccvf/adf_drv.c   | 11 ++---
>  drivers/vfio/pci/vfio_pci.c                   | 48 +++++++++++++++++++
>  include/linux/pci_ids.h                       |  6 +++
>  11 files changed, 87 insertions(+), 55 deletions(-)
>
> --
> 2.26.2
>