Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 10 Nov 2017 13:40:27 +0000 (UTC)
From:      Hans Petter Selasky <hselasky@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r325652 - head/sys/dev/mlx5/mlx5_core
Message-ID:  <201711101340.vAADeRjI005536@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
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
 };



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201711101340.vAADeRjI005536>