svn commit: r325652 - head/sys/dev/mlx5/mlx5_core
Hans Petter Selasky
hselasky at FreeBSD.org
Fri Nov 10 13:40:28 UTC 2017
Author: hselasky
Date: Fri Nov 10 13:40:27 2017
New Revision: 325652
URL: https://svnweb.freebsd.org/changeset/base/325652
Log:
Prevent mlx5 core from accessing host memory after shutdown by disabling
PCI busmaster.
Sponsored by: Mellanox Technologies
MFC after: 1 week
Modified:
head/sys/dev/mlx5/mlx5_core/mlx5_main.c
Modified: head/sys/dev/mlx5/mlx5_core/mlx5_main.c
==============================================================================
--- head/sys/dev/mlx5/mlx5_core/mlx5_main.c Fri Nov 10 13:38:43 2017 (r325651)
+++ head/sys/dev/mlx5/mlx5_core/mlx5_main.c Fri Nov 10 13:40:27 2017 (r325652)
@@ -1134,6 +1134,12 @@ static void remove_one(struct pci_dev *pdev)
kfree(dev);
}
+static void shutdown_one(struct pci_dev *pdev)
+{
+ /* prevent device from accessing host memory after shutdown */
+ pci_clear_master(pdev);
+}
+
static const struct pci_device_id mlx5_core_pci_table[] = {
{ PCI_VDEVICE(MELLANOX, 4113) }, /* Connect-IB */
{ PCI_VDEVICE(MELLANOX, 4114) }, /* Connect-IB VF */
@@ -1175,6 +1181,7 @@ MODULE_DEVICE_TABLE(pci, mlx5_core_pci_table);
static struct pci_driver mlx5_core_driver = {
.name = DRIVER_NAME,
.id_table = mlx5_core_pci_table,
+ .shutdown = shutdown_one,
.probe = init_one,
.remove = remove_one
};
More information about the svn-src-all
mailing list