changeset 13300:3ce8381e1103

787 Kernel panic in ip_input.c
author Dan McDonald <danmcd@nexenta.com>
date Fri, 11 Mar 2011 13:33:44 -0500
parents ad3f52808747
children 5f0d9ec296d9
files usr/src/uts/common/inet/ip/ip6_input.c usr/src/uts/common/inet/ip/ip_input.c
diffstat 2 files changed, 7 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- a/usr/src/uts/common/inet/ip/ip6_input.c	Wed Mar 09 09:02:25 2011 -0800
+++ b/usr/src/uts/common/inet/ip/ip6_input.c	Fri Mar 11 13:33:44 2011 -0500
@@ -21,6 +21,8 @@
 
 /*
  * Copyright (c) 2009, 2010, Oracle and/or its affiliates. All rights reserved
+ *
+ * Copyright 2011 Nexenta Systems, Inc. All rights reserved.
  */
 /* Copyright (c) 1990 Mentat Inc. */
 
@@ -780,9 +782,9 @@
 			ire_refrele(rtc->rtc_ire);
 		rtc->rtc_ire = ire;
 		rtc->rtc_ip6addr = nexthop;
-	} else if (IN6_ARE_ADDR_EQUAL(&nexthop, &rtc->rtc_ip6addr)) {
+	} else if (IN6_ARE_ADDR_EQUAL(&nexthop, &rtc->rtc_ip6addr) &&
+	    rtc->rtc_ire != NULL) {
 		/* Use the route cache */
-		ASSERT(rtc->rtc_ire != NULL);
 		ire = rtc->rtc_ire;
 	} else {
 		/* Update the route cache */
--- a/usr/src/uts/common/inet/ip/ip_input.c	Wed Mar 09 09:02:25 2011 -0800
+++ b/usr/src/uts/common/inet/ip/ip_input.c	Fri Mar 11 13:33:44 2011 -0500
@@ -21,6 +21,8 @@
 
 /*
  * Copyright (c) 2009, 2010, Oracle and/or its affiliates. All rights reserved.
+ *
+ * Copyright 2011 Nexenta Systems, Inc. All rights reserved.
  */
 /* Copyright (c) 1990 Mentat Inc. */
 
@@ -792,9 +794,8 @@
 			ire_refrele(rtc->rtc_ire);
 		rtc->rtc_ire = ire;
 		rtc->rtc_ipaddr = nexthop;
-	} else if (nexthop == rtc->rtc_ipaddr) {
+	} else if (nexthop == rtc->rtc_ipaddr && rtc->rtc_ire != NULL) {
 		/* Use the route cache */
-		ASSERT(rtc->rtc_ire != NULL);
 		ire = rtc->rtc_ire;
 	} else {
 		/* Update the route cache */