changeset 9045:bf5668c4b502

6791062 System panic in ip_tcp_input when a rule is added to ipfilter
author Venugopal Iyer <Venu.Iyer@Sun.COM>
date Mon, 16 Mar 2009 11:09:05 -0700
parents 7ef42831fa00
children a9168e702794
files usr/src/uts/common/inet/ip/ip.c
diffstat 1 files changed, 4 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/usr/src/uts/common/inet/ip/ip.c	Mon Mar 16 12:32:38 2009 -0400
+++ b/usr/src/uts/common/inet/ip/ip.c	Mon Mar 16 11:09:05 2009 -0700
@@ -15573,7 +15573,8 @@
 			UPDATE_MIB(ill->ill_ip_mib, ipIfStatsHCInOctets,
 			    pkt_len);
 
-			ire = ip_fast_forward(ire, dst, ill, mp);
+			if (mp != NULL)
+				ire = ip_fast_forward(ire, dst, ill, mp);
 			continue;
 		}
 
@@ -15632,7 +15633,8 @@
 		BUMP_MIB(ill->ill_ip_mib, ipIfStatsHCInReceives);
 		UPDATE_MIB(ill->ill_ip_mib, ipIfStatsHCInOctets, pkt_len);
 
-		if ((mp = ip_tcp_input(mp, ipha, ill, B_FALSE, ire, mp,
+		if (mp != NULL &&
+		    (mp = ip_tcp_input(mp, ipha, ill, B_FALSE, ire, mp,
 		    0, q, ip_ring)) != NULL) {
 			if ((curr_sqp = GET_SQUEUE(mp)) == target_sqp) {
 				ADD_TO_CHAIN(ahead, atail, acnt, mp);