Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 8 Dec 2014 07:26:00 +0000 (UTC)
From:      Craig Rodrigues <rodrigc@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r275599 - in head/sys/ofed/include: linux net
Message-ID:  <201412080726.sB87Q0Yw034908@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: rodrigc
Date: Mon Dec  8 07:25:59 2014
New Revision: 275599
URL: https://svnweb.freebsd.org/changeset/base/275599

Log:
  Use CURVNET macros inside inet_get_local_port_range() function.
  Without this fix, a kernel with VIMAGE + Infiniband will panic on bootup.
  
  Certain necessary #include statements require LIST_HEAD.
  Add these includes to ofed/include/linux/list.h, because
  LIST_HEAD is specifically overridden in this file.
  
  PR: 191468
  Differential Revision: D1279
  Reviewed by: hselasky

Modified:
  head/sys/ofed/include/linux/list.h
  head/sys/ofed/include/net/ip.h

Modified: head/sys/ofed/include/linux/list.h
==============================================================================
--- head/sys/ofed/include/linux/list.h	Mon Dec  8 07:14:25 2014	(r275598)
+++ head/sys/ofed/include/linux/list.h	Mon Dec  8 07:25:59 2014	(r275599)
@@ -40,6 +40,7 @@
 #include <sys/kernel.h>
 #include <sys/queue.h>
 #include <sys/cpuset.h>
+#include <sys/jail.h>
 #include <sys/lock.h>
 #include <sys/mutex.h>
 #include <sys/proc.h>
@@ -53,6 +54,7 @@
 #include <net/if_var.h>
 #include <net/if_types.h>
 #include <net/if_media.h>
+#include <net/vnet.h>
 
 #include <netinet/in.h>
 #include <netinet/in_pcb.h>

Modified: head/sys/ofed/include/net/ip.h
==============================================================================
--- head/sys/ofed/include/net/ip.h	Mon Dec  8 07:14:25 2014	(r275598)
+++ head/sys/ofed/include/net/ip.h	Mon Dec  8 07:25:59 2014	(r275599)
@@ -45,8 +45,10 @@
 #ifdef INET
 static inline void inet_get_local_port_range(int *low, int *high)
 {
+	CURVNET_SET_QUIET(TD_TO_VNET(curthread));
 	*low = V_ipport_firstauto;
 	*high = V_ipport_lastauto;
+	CURVNET_RESTORE();
 }
 
 static inline void



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