summaryrefslogtreecommitdiff
path: root/usr/src
diff options
context:
space:
mode:
authorRobert Mustacchi <rm@joyent.com>2011-10-28 20:17:44 -0400
committerJohn Sonnenschein <johns@joyent.com>2011-11-04 00:07:42 +0000
commit7a02d09938d1b3b738aaae71ff562ea3e3c4ca70 (patch)
tree267d1e54de7650aca3e0b0d601179ad8fd701e15 /usr/src
parent4358025fc4ebd500d28d8ec5aa0433e96716c4bb (diff)
downloadillumos-joyent-7a02d09938d1b3b738aaae71ff562ea3e3c4ca70.tar.gz
1695 tcp_icmp_input sends packets with a closed connection
Reviewed by: Bryan Cantrill <bryan@joyent.com> Reviewed by: Richard Lowe <richlowe@richlowe.net> Reviewed by: Dan McDonald <danmcd@nexenta.com> Reviewed by: Garrett D'Amore <garrett@nexenta.com> Approved by: Richard Lowe <richlowe@richlowe.net>
Diffstat (limited to 'usr/src')
-rw-r--r--usr/src/uts/common/inet/tcp/tcp_input.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/usr/src/uts/common/inet/tcp/tcp_input.c b/usr/src/uts/common/inet/tcp/tcp_input.c
index ecd9052591..735ee4d08b 100644
--- a/usr/src/uts/common/inet/tcp/tcp_input.c
+++ b/usr/src/uts/common/inet/tcp/tcp_input.c
@@ -23,6 +23,7 @@
* Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2011, Joyent, Inc. All rights reserved.
* Copyright 2011 Nexenta Systems, Inc. All rights reserved.
+ * Copyright (c) 2011 Joyent, Inc. All rights reserved.
*/
/* This file contains all TCP input processing functions. */
@@ -5537,9 +5538,9 @@ tcp_icmp_input(void *arg1, mblk_t *mp, void *arg2, ip_recv_attr_t *ira)
ASSERT((MBLKL(mp) >= sizeof (ipha_t)));
/*
- * It's possible that we've gotten here, but the TCP state is closed and
- * we no longer have a conn_t. In that case, we should just drop the
- * icmp packet
+ * It's possible we have a closed, but not yet destroyed, TCP
+ * connection. Several fields (e.g. conn_ixa->ixa_ire) are invalid
+ * in the closed state, so don't take any chances and drop the packet.
*/
if (tcp->tcp_state == TCPS_CLOSED) {
freemsg(mp);