svn commit: r331791 - stable/11/sys/ofed/drivers/infiniband/core

Hans Petter Selasky hselasky at FreeBSD.org
Fri Mar 30 18:44:51 UTC 2018


Author: hselasky
Date: Fri Mar 30 18:44:51 2018
New Revision: 331791
URL: https://svnweb.freebsd.org/changeset/base/331791

Log:
  MFC r330586:
  Make sure VNET is set when calling sa6_recoverscope() in ibcore.
  
  Else panic will occur when VIMAGE is enabled.
  
  Sponsored by:	Mellanox Technologies

Modified:
  stable/11/sys/ofed/drivers/infiniband/core/ib_cma.c
Directory Properties:
  stable/11/   (props changed)

Modified: stable/11/sys/ofed/drivers/infiniband/core/ib_cma.c
==============================================================================
--- stable/11/sys/ofed/drivers/infiniband/core/ib_cma.c	Fri Mar 30 18:43:38 2018	(r331790)
+++ stable/11/sys/ofed/drivers/infiniband/core/ib_cma.c	Fri Mar 30 18:44:51 2018	(r331791)
@@ -3122,8 +3122,14 @@ static int cma_check_linklocal(struct rdma_dev_addr *d
 
 	if (IN6_IS_SCOPE_LINKLOCAL(&sin6.sin6_addr) ||
 	    IN6_IS_ADDR_MC_INTFACELOCAL(&sin6.sin6_addr)) {
-		/* check if IPv6 scope ID is set */
-		if (sa6_recoverscope(&sin6) || sin6.sin6_scope_id == 0)
+		bool failure;
+
+		CURVNET_SET_QUIET(dev_addr->net);
+		failure = sa6_recoverscope(&sin6) || sin6.sin6_scope_id == 0;
+		CURVNET_RESTORE();
+
+		/* check if IPv6 scope ID is not set */
+		if (failure)
 			return -EINVAL;
 		dev_addr->bound_dev_if = sin6.sin6_scope_id;
 	}


More information about the svn-src-all mailing list