diff options
author | Robert Mustacchi <rm@joyent.com> | 2011-10-28 20:17:44 -0400 |
---|---|---|
committer | John Sonnenschein <johns@joyent.com> | 2011-11-04 00:07:42 +0000 |
commit | 7a02d09938d1b3b738aaae71ff562ea3e3c4ca70 (patch) | |
tree | 267d1e54de7650aca3e0b0d601179ad8fd701e15 /usr/src | |
parent | 4358025fc4ebd500d28d8ec5aa0433e96716c4bb (diff) | |
download | illumos-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.c | 7 |
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); |