diff options
author | Dan McDonald <danmcd@nexenta.com> | 2011-03-11 13:33:44 -0500 |
---|---|---|
committer | Dan McDonald <danmcd@nexenta.com> | 2011-03-11 13:33:44 -0500 |
commit | af10b639baae115471e7f1d9109bfe2eeb00d77e (patch) | |
tree | 71281c565e32202d26938142f7da1a3731f3dbc4 /usr/src | |
parent | 45bed6684dba85b27aec0314b1480daae9c7835c (diff) | |
download | illumos-joyent-af10b639baae115471e7f1d9109bfe2eeb00d77e.tar.gz |
787 Kernel panic in ip_input.c
Diffstat (limited to 'usr/src')
-rw-r--r-- | usr/src/uts/common/inet/ip/ip6_input.c | 6 | ||||
-rw-r--r-- | usr/src/uts/common/inet/ip/ip_input.c | 5 |
2 files changed, 7 insertions, 4 deletions
diff --git a/usr/src/uts/common/inet/ip/ip6_input.c b/usr/src/uts/common/inet/ip/ip6_input.c index 8a718dbc11..c7c241f944 100644 --- a/usr/src/uts/common/inet/ip/ip6_input.c +++ b/usr/src/uts/common/inet/ip/ip6_input.c @@ -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 @@ ill_input_short_v6(mblk_t *mp, void *iph_arg, void *nexthop_arg, 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 */ diff --git a/usr/src/uts/common/inet/ip/ip_input.c b/usr/src/uts/common/inet/ip/ip_input.c index 933bafd11a..6aa70b014a 100644 --- a/usr/src/uts/common/inet/ip/ip_input.c +++ b/usr/src/uts/common/inet/ip/ip_input.c @@ -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 @@ after_ilb: 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 */ |