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