From owner-svn-src-all@freebsd.org Fri Apr 22 02:21:40 2016 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id B61D3B1895A; Fri, 22 Apr 2016 02:21:40 +0000 (UTC) (envelope-from jtl@freebsd.org) Received: from na01-by2-obe.outbound.protection.outlook.com (mail-by2on0106.outbound.protection.outlook.com [207.46.100.106]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (Client CN "mail.protection.outlook.com", Issuer "MSIT Machine Auth CA 2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 3DA2011A6; Fri, 22 Apr 2016 02:21:39 +0000 (UTC) (envelope-from jtl@freebsd.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=junipernetworks.onmicrosoft.com; s=selector1-junipernetworks-onmicrosoft-com; h=From:To:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=GnANqxYwjkeW67PI1U7vaaST73QzZiMO85ZD+/l6+rY=; b=b5u3yR1V1yqKD4aibXZA2YxB53diaFFjmKGYNweZfb7F3/944tH8KMMuGH8P7QlTHf6qoFLblmgysf4OyJ65TxVeblgwZy0RttGhxtaKhklCecME2hZOhQDRHEBKOci6cH0fYSKQYY2WLhxOAo8qZKrOjHHYfGGj+Y/j/6khMMA= Received: from SN1PR05CA0012.namprd05.prod.outlook.com (10.163.68.150) by SN2PR0501MB816.namprd05.prod.outlook.com (10.160.14.139) with Microsoft SMTP Server (TLS) id 15.1.466.19; Fri, 22 Apr 2016 02:21:33 +0000 Received: from BN1BFFO11FD037.protection.gbl (2a01:111:f400:7c10::1:198) by SN1PR05CA0012.outlook.office365.com (2a01:111:e400:5197::22) with Microsoft SMTP Server (TLS) id 15.1.466.19 via Frontend Transport; Fri, 22 Apr 2016 02:21:32 +0000 Authentication-Results: spf=softfail (sender IP is 66.129.239.19) smtp.mailfrom=freebsd.org; freebsd.org; dkim=none (message not signed) header.d=none;freebsd.org; dmarc=none action=none header.from=freebsd.org; Received-SPF: SoftFail (protection.outlook.com: domain of transitioning freebsd.org discourages use of 66.129.239.19 as permitted sender) Received: from P-EMFE01C-SAC.jnpr.net (66.129.239.19) by BN1BFFO11FD037.mail.protection.outlook.com (10.58.144.100) with Microsoft SMTP Server (TLS) id 15.1.472.8 via Frontend Transport; Fri, 22 Apr 2016 02:21:32 +0000 Received: from magenta.juniper.net (172.17.27.123) by P-EMFE01C-SAC.jnpr.net (172.24.192.21) with Microsoft SMTP Server (TLS) id 14.3.123.3; Thu, 21 Apr 2016 19:21:30 -0700 Received: from [172.29.34.127] (rcallon-sslvpn-nc.jnpr.net [172.29.34.127]) by magenta.juniper.net (8.11.3/8.11.3) with ESMTP id u3M2LPZ31130; Thu, 21 Apr 2016 19:21:25 -0700 (PDT) (envelope-from jtl@freebsd.org) User-Agent: Microsoft-MacOutlook/f.15.1.160411 Date: Thu, 21 Apr 2016 22:21:24 -0400 Subject: Re: svn commit: r298408 - head/sys/netinet From: "Jonathan T. Looney" Sender: Jonathan Looney To: "src-committers@freebsd.org" , "svn-src-all@freebsd.org" , "svn-src-head@freebsd.org" CC: Message-ID: <5E4878D9-56FC-41FA-8D06-EB2CB72097C6@juniper.net> Thread-Topic: svn commit: r298408 - head/sys/netinet References: <201604211506.u3LF6s9t017204@repo.freebsd.org> In-Reply-To: <201604211506.u3LF6s9t017204@repo.freebsd.org> MIME-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 7bit X-EOPAttributedMessage: 0 X-Forefront-Antispam-Report: CIP:66.129.239.19; IPV:NLI; CTRY:US; EFV:NLI; SFV:NSPM; SFS:(10019020)(6009001)(2980300002)(199003)(189002)(24454002)(13624006)(377454003)(2950100001)(16796002)(6806005)(230700001)(1096002)(76176999)(54356999)(1220700001)(50986999)(189998001)(23676002)(2501003)(586003)(19580405001)(19580395003)(92566002)(5820100001)(36756003)(2201001)(82746002)(87936001)(86362001)(11100500001)(5001770100001)(105596002)(106466001)(4001350100001)(4326007)(9686002)(50466002)(47776003)(15975445007)(33656002)(83716003)(77096005)(2906002)(83506001)(81166005)(42262002); DIR:OUT; SFP:1102; SCL:1; SRVR:SN2PR0501MB816; H:P-EMFE01C-SAC.jnpr.net; FPR:; SPF:SoftFail; MLV:sfv; A:1; MX:1; LANG:en; X-Microsoft-Exchange-Diagnostics: 1; BN1BFFO11FD037; 1:VOLMylGeXmmMielArPGooRzFU/nD1eJ0EKGiB1qXFVoc54PjHFqIMJ3oAVqcrq8roEGSVpPF5qKLwRTM0RcGxxUC7hJCQYA9YDR3MUGDPUY0VMIzf/mIuy96lk1Jyy9TEdADCvp66CEOjTXi90yJdBPQ3kMzFqLILQRuM+tjg64t9L0eDa38V0X7ZUHklyvjbkf8ZYb7V8mt4AN/bExdWj8drq93qP4P6oL6T22fhtmDunGqmnTMq3WY/XRhlnuZx3bIl+QjLkeFgUagNWwtsTXgOBXN9xmrAimdvDUrSTtudabKr3Vs784atzNNp+RGs2VcJ8Dgs4ZtR4SM66q2RhR4gUihKeAW/5jggLGcXCgJUsHbKrEdXUYg5E2OdisCZ0z3IyyChotze6LrNgtxuUBs74YvVN2CpH64MLCfY37A/W0wEht45KbmKXH4djPCjolE9lMbZZmpSVjAE5JFqgR3UMuEZow6ddYdGPtVsD/8c7+her/GzZGzbKlzVonivAL+4ccCwQCn5UFFOE9A0hyL4CkorJo+QOM+qU3KXgM= X-MS-Office365-Filtering-Correlation-Id: 328a5711-e066-45c5-e77f-08d36a54d235 X-Microsoft-Exchange-Diagnostics: 1; SN2PR0501MB816; 2:tveagSQdAgQN21QWLl9nw5WyhCcKnE+AYuwUqt2GwVrkZC000/v0qh3VluLKpr6Q4ReGlNNUlP+JXB9WqqhjuSIVdUhAJSU1CcTwy5Y3mOfku1ZOXQVO3jjJNkIp6mhQJ2r3+gqsQhba65h7W6pH+NNlaYx0n0RjbB1f7JKuYqwEx8OxKih5Db4ZRJp5ZY0r; 3:UJaZBS09JYTH4F01r/PSRun97+uIpQmgL5zti7SK/ZKV7XdrJpnyRNgxCKh2f9T8IoSYtlF8r0vX02SnklyprIq/hBu2DHlh/AmKouCYqEkw1s49am/zCHOB/RyW5fn/4QUSJSY4ieowDOuBjYsZ4yggVE3aTpe5oj53lisznZiPbnxrfZ13qORmRXc4TcJZy9O7KRCBAVMdaPAhadRtBxCdFtiQen2XB7AQP0CcYVY=; 25:B8vyeVCmt4Eb3da+/42gn3pIVtEfs9mYA6EwRuc95/vgnULnczsYCjejvsVMChVUeX3bHPhHH94lYvIRD8TRefd+rc/eKLq++96oiqP/SybUQeZcnphdNjcArsYWpovGHx77+o5xKsoph0DlsFI/+ftYesPvbPqMp+9jhOWow73R49IWLfbSjUAPRwT/P7Ac/Y1LTvLfRhUCMXY/AWaBpdOY2PrebEItBrsseKJf4feHJ6/Ssi3rAW0yyuAwkNfEFzUholx9pexfsGCFvF+Gsp9eq6QBKf6mHutb0WJwmRGBASRsh0Rxkb55OgrDezw4E9tg+D7iexR/o+teKQemaQ== X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:SN2PR0501MB816; X-JNPR-Received-From: outside X-Microsoft-Exchange-Diagnostics: 1; SN2PR0501MB816; 20:yYPC8Q8itUU5XFbhEEMtwRQzEC5hnjLHmdQjohNGwnneQv+u6i8fu1q1Grmu4XNa0yRMG2yzawuQY2VOZCfchQpYIc01JHZYilSBXGJ8EX1X7UhaRkOA5K8ygirUlLZrWe0OL4SOCoOC9P+3RVOPydXr6mh/DXcvuPLo7q47mOjGwPjMmvsErGqrMLR0TWKALkE8N3Jjq3+1ZobHHjmO2ndDgZhIfW5JoDQDADWnEjuyTdCv5Lc2Fh17L0twnt569SGIO22M340F1ldjRq6kEXxjWLHRHL6LRTQ7+xk2u//pqha5QSnoC4bprZP0WacqDQnwU7oVJF5f3Wu1rSA+T4iMBT67yWtrVpH0T3rRwRktLMK+tZ+aREv4S7vvn5UcNhfKzizYKTBYVx9qeeSr4YHzPJUmCpWjnrdN6DKMI/ne2gSLFO/vX1qPh+z5L2c3YB2Os6IrCVwEZKbwJn0c6XVPf1gyEiE8FyCKiX+I2HAXt1WqaQW66NcadbgUav2M X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(601004)(2401047)(13017025)(13024025)(13015025)(8121501046)(13018025)(5005006)(13023025)(10201501046)(3002001)(6055026); SRVR:SN2PR0501MB816; BCL:0; PCL:0; RULEID:; SRVR:SN2PR0501MB816; X-Microsoft-Exchange-Diagnostics: 1; SN2PR0501MB816; 4:JRqz2XxgNlMEl3adpFu6ivZYVwJTagvVZN/F3iTmq/DEqg6Wp5VeVOXIaZXsrOEnu1TLZnjJKn+6rHJL1UqlJ1vPfGFM9UhFqnr4DdCatt8iAsQLTq6BvQyFpYrLOwJIsIbLPQkhNrE3V3VhuYySSanVpHLpdZfKzJ/9araiP3aR+9+oxayq9zQFnbHoK2uyv/4LqnYSSxzuiAwHwyujRq/+3tMd8C8URXQ5X+I+OdGmmhXl2A4ua5h7rVVBYmw67dMuoVO5AM0DzNfznnmCP0iCFPy8whdpBjxkAr1g2SntqB4grUbtscvGqsAlYzlspIqicN4Z0IjGZBMZz/iGHas7iIbPvQRvsOSZdJY+EyVBQP7j17UNP1WKAM/CAaIaxUFi2Do25/9LPraItfjb4W5H2JIIlrclFNG+BIJsOLh7MSlygCDVxcDBGsakINmVzbCbpiil0/dSSERT3i8/wJR3u5dm1tcguRekQyGbu6U= X-Forefront-PRVS: 0920602B08 X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtTTjJQUjA1MDFNQjgxNjsyMzpsZHBkV1RJckNhdWNONjRkWUxYdW9hK0Jj?= =?utf-8?B?aWtibjdySVQzeVJScFZwT1paa3FhbHk2aGkvcTQrRFc3UUNic2tla0FFYklM?= =?utf-8?B?cVlMUVplQmRSYWVOZTRHNUh4SVpFeGRqL2d1VXJpMkQvUVlQQ3NPSlBteGUz?= =?utf-8?B?SjllRWpqVWVrVEJXVE1zVitub2o0cXVCYnZlU21vMXQrdnFCempJa251ektm?= =?utf-8?B?VFZJdkxIMU9pRkRwYzlna2NnWHZ5OFpHYWNKNzlBbGs1RmZyTjVUSHFMUTJv?= =?utf-8?B?QlJCWlFXRnlUeHlkR2NLSmlsanlsQzNLMlBwTG1oOUFtZGpzM3ZraytCdFVU?= =?utf-8?B?eG9qVklueHdxSzdNZllTRnkyUEEvVHE4ckE4Um1DVWtLMU9CbVJUSmpHb1FK?= =?utf-8?B?eEc2ZzJSQTFINkxpS05GT2gyZ0pSSDVHZEVzUExyOTJhS0JrVjFVUW1yNjVU?= =?utf-8?B?UjJ1TmpaTUFXSjJkWFJMZS90eVY4Z1lSYm12V25MaU5oNmZiY0xrRUQvT2ZZ?= =?utf-8?B?V3B0L0c5aFFvQVJ2YnBTcGkwMkxxUFczWFc3KzMrbmFsYnRuZ1QzWVU4Vzl1?= =?utf-8?B?Q1ZZZDFQZXd6MGVvMklOQVY3bWt4YWJWZ2hiV1hrUGIzR2VpTlJCSEh6ekw2?= =?utf-8?B?WVhGSEE0aFFOTERKQ00rUUdGaE9Ua1NFaVU3M3NsT01HcXd3dkRQRjgxbzVy?= =?utf-8?B?WHJoVWxJcUZVRVQwcU9EMytVQmdoUUFSODNtQXRQcnhWYUxqbkFRbnpVNDRh?= =?utf-8?B?QnlKWk9WdmE3bnFXNk9vTnhmc2dEcDA4UzhCU1VWVmZxWFJlVGk5TGFDb1JG?= =?utf-8?B?eDloVlV6ejlvSFIzNWRLSTB4aXNIdS9YZXRXZDlrd2t6bG1YSS9kMFJabTBa?= =?utf-8?B?M1orRzJWK2RnWnlFZjYvTzFHTjEydTFXUlJyQ1gwM3FTa2R4L1BRRHhZTFBX?= =?utf-8?B?MTJKKytXdkNUZkhwUjB6NDkzQnF6cElNdmFSaGFSci93WVhCck1ESS90UDNm?= =?utf-8?B?Z3lhd0hwVmxQd2VWWkkyTlZMQjdpeUxneThLWk1XaDAvV25qZTB2Qk5neXBR?= =?utf-8?B?UVBldElHQW1LekJRcC9QWitiUTZTanZmVHg0d2cwR2JXZ1ppUnQzYXpGbFU1?= =?utf-8?B?VnV2YnlMVkYwMUp5dnJBMkZ0RnM3b21tSlYrOFRZcjdPZTU5cVlBQmJSWmhQ?= =?utf-8?B?VXV6VW1abjlCZEw0MFNjWUJDMEF0TVZuUnFtblFHNmhkZjE2Q3VBRjZtNDVR?= =?utf-8?B?RkFSM3hpM1pNZHJIN2wvcDdKQUdDcmEwbnkzSlZCeFpHVDdoTnR0UnVJUXdC?= =?utf-8?B?Y1JHRmRaSmZPcWpmemNSWW8yZFlyRlVXRG8yNjcyM1Nsb2JzSHF5RUlTVUlH?= =?utf-8?B?SG5VUTFkRm83dURMUVJUb3JtRDR5eXl1LzFSZFpMcm9oOStQVXp3NUpabms1?= =?utf-8?B?TjFBMFlJSVVYVDlDOGk4dFhXOVZUdWpGa3VHNW8zbC85b0c5TEwyb3JlTXFV?= =?utf-8?B?RXlCYUtlMzFpYlhUU0VwbFNWcHVqS0JkYlJGdGJFTzl2K2lVM2RaR2l2ckNY?= =?utf-8?B?NmhiRGFXR2dwYVVpZWlVYlBmcURrSjVVVnFxbHVNTVBVdC8vT0lZMi85TVNN?= =?utf-8?Q?=3D?= X-Microsoft-Exchange-Diagnostics: 1; SN2PR0501MB816; 5:MkfQjpiPBUetmP5F2RyjpU9ScKE9f75PlNPSr401tSnst3sMoc/s6E8s7/94Z12pn1SIuWH5pqGzIoTi7o5tKq1rT3nW7O0jV/E7bKJvN6jGBHdJUQ4taIi9l3QIJTDSA8Z8vjzHR8Q8xLSoKoqLVDpm3e7Sdw0a7v0Dd9idlZE6m2QzzZGL8xPlxioZXRwD; 24:6knDpRJcDfTi+3pNFVCLmt8oaP5OxkVQ6Pmcqxd2zDjQaPGwu7kQYLvlePs2cV5rqXHXb2eVCihK1VRsYw+1/ICnuSfNk+gsaN11Lpnrp9w=; 7:ebF1eW06ktu4jfd0eQRSf0i9lsDT4vxtvyeI7E8dBy8zm82hrRxoOxDCx8dT4e8JQJQ+3pK5Kr80dcgT7p1T29xGdr60yV4Mph5e9Dy7jgIYU+a0z6rZQ/mOEmZKmYKecsciHATC8xTju4uEQToitxOho4M19fOhLlu8lO85ZAp+f4dGa6+1Lvt1IxmdKMIN7c5bWXGaP1+mZGJ9Kx33zMrTOXYPvYlNVyWcK98GcT4= SpamDiagnosticOutput: 1:23 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: juniper.net X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Apr 2016 02:21:32.2173 (UTC) X-MS-Exchange-CrossTenant-Id: bea78b3c-4cdb-4130-854a-1d193232e5f4 X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=bea78b3c-4cdb-4130-854a-1d193232e5f4; Ip=[66.129.239.19]; Helo=[P-EMFE01C-SAC.jnpr.net] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN2PR0501MB816 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 22 Apr 2016 02:21:40 -0000 On 4/21/16, 11:06 AM, "owner-src-committers@freebsd.org on behalf of Jonathan T. Looney" wrote: >Author: jtl >Date: Thu Apr 21 15:06:53 2016 >New Revision: 298408 >URL: https://svnweb.freebsd.org/changeset/base/298408 > >Log: > Prevent underflows in tp->snd_wnd if the remote side ACKs more than > tp->snd_wnd. This can happen, for example, when the remote side responds to > a window probe by ACKing the one byte it contains. > > Differential Revision: https://reviews.freebsd.org/D5625 > Reviewed by: hiren > Obtained from: Juniper Networks (earlier version) > MFC after: 2 weeks > Sponsored by: Juniper Networks This should also have said: Submitted by: srushti.gs14@gmail.com (earlier version) Jonathan > >Modified: > head/sys/netinet/tcp_input.c > >Modified: head/sys/netinet/tcp_input.c >============================================================================== >--- head/sys/netinet/tcp_input.c Thu Apr 21 15:02:57 2016 (r298407) >+++ head/sys/netinet/tcp_input.c Thu Apr 21 15:06:53 2016 (r298408) >@@ -2754,6 +2754,9 @@ process_ACK: > INP_WLOCK_ASSERT(tp->t_inpcb); > > acked = BYTES_THIS_ACK(tp, th); >+ KASSERT(acked >= 0, ("%s: acked unexepectedly negative " >+ "(tp->snd_una=%u, th->th_ack=%u, tp=%p, m=%p)", __func__, >+ tp->snd_una, th->th_ack, tp, m)); > TCPSTAT_INC(tcps_rcvackpack); > TCPSTAT_ADD(tcps_rcvackbyte, acked); > >@@ -2823,13 +2826,19 @@ process_ACK: > > SOCKBUF_LOCK(&so->so_snd); > if (acked > sbavail(&so->so_snd)) { >- tp->snd_wnd -= sbavail(&so->so_snd); >+ if (tp->snd_wnd >= sbavail(&so->so_snd)) >+ tp->snd_wnd -= sbavail(&so->so_snd); >+ else >+ tp->snd_wnd = 0; > mfree = sbcut_locked(&so->so_snd, > (int)sbavail(&so->so_snd)); > ourfinisacked = 1; > } else { > mfree = sbcut_locked(&so->so_snd, acked); >- tp->snd_wnd -= acked; >+ if (tp->snd_wnd >= (u_long) acked) >+ tp->snd_wnd -= acked; >+ else >+ tp->snd_wnd = 0; > ourfinisacked = 0; > } > /* NB: sowwakeup_locked() does an implicit unlock. */ > >