From mboxrd@z Thu Jan 1 00:00:00 1970 Authentication-Results: passt.top; dmarc=pass (p=none dis=none) header.from=redhat.com Authentication-Results: passt.top; dkim=pass (1024-bit key; unprotected) header.d=redhat.com header.i=@redhat.com header.a=rsa-sha256 header.s=mimecast20190719 header.b=GnAddpka; dkim-atps=neutral Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) by passt.top (Postfix) with ESMTPS id 8C6C25A0274 for ; Thu, 16 Jan 2025 03:29:41 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1736994580; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=0g05FZS9xO0hsMyQgcJsvv6V6loeOforXqwwl51OTcY=; b=GnAddpkacYky8kZGQMGNrZIcvTtYtHCrwRdExpJe2WZf8t7dN1Hkjw6YtpxdEFo+o2bHKL VtGnuJ8FA1mNSP0cUXdr7Ox3BLPTh+i8WPL6K9LHLneRZ1G0w29AK2SsvVzTI+QZ/8Bbzn 6BbGfmLgKHVSket8BxnfABT+F9//Y0s= Received: from mx-prod-mc-01.mail-002.prod.us-west-2.aws.redhat.com (ec2-54-186-198-63.us-west-2.compute.amazonaws.com [54.186.198.63]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-15-qfjrSIVsM82XZGozvXEG4g-1; Wed, 15 Jan 2025 21:29:38 -0500 X-MC-Unique: qfjrSIVsM82XZGozvXEG4g-1 X-Mimecast-MFC-AGG-ID: qfjrSIVsM82XZGozvXEG4g Received: from mx-prod-int-04.mail-002.prod.us-west-2.aws.redhat.com (mx-prod-int-04.mail-002.prod.us-west-2.aws.redhat.com [10.30.177.40]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by mx-prod-mc-01.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id 027031956050 for ; Thu, 16 Jan 2025 02:29:38 +0000 (UTC) Received: from jmaloy-thinkpadp16vgen1.rmtcaqc.csb (unknown [10.22.64.91]) by mx-prod-int-04.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTP id DF83E19560AA; Thu, 16 Jan 2025 02:29:35 +0000 (UTC) From: Jon Maloy To: passt-dev@passt.top, sbrivio@redhat.com, lvivier@redhat.com, dgibson@redhat.com, jmaloy@redhat.com Subject: [net, v2] tcp: correct handling of extreme memory squeeze Date: Wed, 15 Jan 2025 21:29:18 -0500 Message-ID: <20250116022918.2225785-1-jmaloy@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.0 on 10.30.177.40 X-Mimecast-Spam-Score: 0 X-Mimecast-MFC-PROC-ID: VP8hDn84NDdFr25mkOrc3Dy_pDb-1lvs81_tZ4tnqEU_1736994578 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Message-ID-Hash: BAISFZARUE4L6Z7AJVBJPK4TEWHRCEGB X-Message-ID-Hash: BAISFZARUE4L6Z7AJVBJPK4TEWHRCEGB X-MailFrom: jmaloy@redhat.com X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header X-Mailman-Version: 3.3.8 Precedence: list List-Id: Development discussion and patches for passt Archived-At: Archived-At: List-Archive: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: VGVzdGluZyB3aXRoIGlwZXJmMyB1c2luZyB0aGUgInBhc3RhIiBwcm90b2NvbCBzcGxpY2VyIGhh cyByZXZlYWxlZA0KYSBidWcgaW4gdGhlIHdheSB0Y3AgaGFuZGxlcyB3aW5kb3cgYWR2ZXJ0aXNp bmcgaW4gZXh0cmVtZSBtZW1vcnkNCnNxdWVlemUgc2l0dWF0aW9ucy4gVGhlIHByb2JsZW0gb2Nj dXJzIG9uIHRoZSBzZXJ2ZXIgc2lkZSwgYW5kDQp0aGUgc29ja2V0IGluIHF1ZXN0aW9uIGlzIGEg Y29tcGxldGVseSByZWd1bGFyIHNvY2tldCB3aXRoIHRoZQ0KZGVmYXVsdCBzZXR0aW5ncyBmb3Ig dGhlIGZlZG9yYTQwIGtlcm5lbC4gV2UgZG8gbm90IHVzZSBTT19QRUVLDQpvciBTT19SQ1ZfQlVG IG9uIHRoaXMgc29ja2V0Lg0KDQpUaGUgZm9sbG93aW5nIGV4Y2VycHQgb2YgYSBsb2dnaW5nIHNl c3Npb24sIHdpdGggb3duIGNvbW1lbnRzIGFkZGVkLA0Kc2hvd3Mgd2hhdCBpcyBoYXBwZW5pbmc6 DQoNCi8vICAgICAgICAgICAgICB0Y3BfdjRfcmN2KDwtKQ0KLy8gICAgICAgICAgICAgICAgdGNw X3Jjdl9lc3RhYmxpc2hlZCg8LSkNCls1MjAxPC0+MzkyMjJdOiAgICAgPT09PSBBY3RpdmF0aW5n IGxvZyBAIG5ldC9pcHY0L3RjcF9pbnB1dC5jL3RjcF9kYXRhX3F1ZXVlKCkvNTI1NyA9PT09DQpb NTIwMTwtPjM5MjIyXTogICAgIHRjcF9kYXRhX3F1ZXVlKC0+KQ0KWzUyMDE8LT4zOTIyMl06ICAg ICAgICBEUk9QUElORyBza2IgWzI2NTYwMDE2MC4uMjY1NjY1NjQwXSwgcmVhc29uOiBTS0JfRFJP UF9SRUFTT05fUFJPVE9fTUVNDQogICAgICAgICAgICAgICAgICAgICAgIFtyY3Zfbnh0IDI2NTYw MDE2MCwgcmN2X3duZCAyNjIxNDQsIHNudF9hY2sgMjY1NDY5MjAwICgwKSwgd2luX25vdyAxMzEx ODRdDQogICAgICAgICAgICAgICAgICAgICAgIFtjb3BpZWRfc2VxIDI1OTkwOTM5Mi0+MjYwMDM0 MzYwICgxMjQ5NjgpLCB1bnJlYWQgNTU2NTgwMCwgcWxlbiA4NSwgb2ZvcSAwXQ0KWzUyMDE8LT4z OTIyMl06ICAgICB0Y3BfZGF0YV9xdWV1ZSg8LSkgT0ZPIHF1ZXVlOiBnYXA6IDY1NDgwLCBsZW46 IDANCls1MjAxPC0+MzkyMjJdOiAgICAgX190Y3BfdHJhbnNtaXRfc2tiKC0+KQ0KWzUyMDE8LT4z OTIyMl06ICAgICAgIHRjcF9zZWxlY3Rfd2luZG93KC0+KSB0cC0+cmN2X3d1cDogMjY1NDY5MjAw LCB0cC0+cmN2X3duZDogMjYyMTQ0LCB0cC0+cmN2X254dCAyNjU2MDAxNjANCls1MjAxPC0+Mzky MjJdOiAgICAgICAgIChpbmV0X2NzayhzayktPmljc2tfYWNrLnBlbmRpbmcgJiBJQ1NLX0FDS19O T01FTSkgLS0+IFRSVUUNCls1MjAxPC0+MzkyMjJdOiAgICAgICB0Y3Bfc2VsZWN0X3dpbmRvdyg8 LSkgdHAtPnJjdl93dXA6IDI2NTQ2OTIwMCwgdHAtPnJjdl93bmQ6IDI2MjE0NCwgdHAtPnJjdl9u eHQgMjY1NjAwMTYwLCByZXR1cm5pbmcgMA0KWzUyMDE8LT4zOTIyMl06ICAgICAgIEFEVkVSVElT SU5HIFdJTiAwLCBBQ0tfU0VROiAyNjU2MDAxNjANCls1MjAxPC0+MzkyMjJdOiAgICAgX190Y3Bf dHJhbnNtaXRfc2tiKDwtKSB0cC0+cmN2X3d1cDogMjY1NDY5MjAwLCB0cC0+cmN2X3duZDogMjYy MTQ0LCB0cC0+cmN2X254dCAyNjU2MDAxNjANCls1MjAxPC0+MzkyMjJdOiAgIHRjcF9yY3ZfZXN0 YWJsaXNoZWQoPC0pDQpbNTIwMTwtPjM5MjIyXTogdGNwX3Y0X3Jjdig8LSkNCg0KLy8gUmVjZWl2 ZSBxdWV1ZSBpcyBhdCA4NSBidWZmZXJzIGFuZCB3ZSBhcmUgb3V0IG9mIG1lbW9yeS4NCi8vIFdl IGRyb3AgdGhlIGluY29taW5nIGJ1ZmZlciwgYWx0aG91Z2ggaXQgaXMgaW4gc2VxdWVuY2UsIGFu ZCBkZWNpZGUNCi8vIHRvIHNlbmQgYW4gYWR2ZXJ0aXNlbWVudCB3aXRoIGEgd2luZG93IG9mIHpl cm8uDQovLyBXZSBkb24ndCB1cGRhdGUgdHAtPnJjdl93bmQgYW5kIHRwLT5yY3Zfd3VwIGFjY29y ZGluZ2x5LCB3aGljaCBtZWFucw0KLy8gd2UgdW5jb25kaXRpb25hbGx5IHNocmluayB0aGUgd2lu ZG93Lg0KDQpbNTIwMTwtPjM5MjIyXTogdGNwX3JlY3Ztc2dfbG9ja2VkKC0+KQ0KWzUyMDE8LT4z OTIyMl06ICAgX190Y3BfY2xlYW51cF9yYnVmKC0+KSB0cC0+cmN2X3d1cDogMjY1NDY5MjAwLCB0 cC0+cmN2X3duZDogMjYyMTQ0LCB0cC0+cmN2X254dCAyNjU2MDAxNjANCls1MjAxPC0+MzkyMjJd OiAgICAgW25ld193aW4gPSAwLCB3aW5fbm93ID0gMTMxMTg0LCAyICogd2luX25vdyA9IDI2MjM2 OF0NCls1MjAxPC0+MzkyMjJdOiAgICAgW25ld193aW4gPj0gKDIgKiB3aW5fbm93KSA/IC0tPiB0 aW1lX3RvX2FjayA9IDBdDQpbNTIwMTwtPjM5MjIyXTogICAgIE5PVCBjYWxsaW5nIHRjcF9zZW5k X2FjaygpDQpbNTIwMTwtPjM5MjIyXTogICBfX3RjcF9jbGVhbnVwX3JidWYoPC0pIHRwLT5yY3Zf d3VwOiAyNjU0NjkyMDAsIHRwLT5yY3Zfd25kOiAyNjIxNDQsIHRwLT5yY3Zfbnh0IDI2NTYwMDE2 MA0KWzUyMDE8LT4zOTIyMl06IHRjcF9yZWN2bXNnX2xvY2tlZCg8LSkgcmV0dXJuaW5nIDYxMDQg Ynl0ZXMuDQogICAgICAgICAgICAgICAgW3Jjdl9ueHQgMjY1NjAwMTYwLCByY3Zfd25kIDI2MjE0 NCwgc250X2FjayAyNjU0NjkyMDAgKDApLCB3aW5fbm93IDEzMTE4NF0NCiAgICAgICAgICAgICAg ICBbY29waWVkX3NlcSAyNjAwNDA0NjQtPjI2MDA0MDQ2NCAoMCksIHVucmVhZCA1NTU5Njk2LCBx bGVuIDg1LCBvZm9xIDBdDQoNCi8vIEFmdGVyIGVhY2ggcmVhZCwgdGhlIGFsZ29yaXRobSBmb3Ig Y2FsY3VsYXRpbmcgdGhlIG5ldyByZWNlaXZlDQovLyB3aW5kb3cgaW4gX190Y3BfY2xlYW51cF9y YnVmKCkgZmluZHMgaXQgaXMgdG9vIHNtYWxsIHRvIGFkdmVydGlzZQ0KLy8gb3IgdG8gdXBkYXRl IHRwLT5yY3Zfd25kLg0KLy8gTWVhbndoaWxlLCB0aGUgcGVlciB0aGlua3MgdGhlIHdpbmRvdyBp cyB6ZXJvLCBhbmQgd2lsbCBub3Qgc2VuZA0KLy8gYW55IG1vcmUgZGF0YSB0byB0cmlnZ2VyIGFu IHVwZGF0ZSBmcm9tIHRoZSBpbnRlcnJ1cHQgbW9kZSBzaWRlLg0KDQpbNTIwMTwtPjM5MjIyXTog dGNwX3JlY3Ztc2dfbG9ja2VkKC0+KQ0KWzUyMDE8LT4zOTIyMl06ICAgX190Y3BfY2xlYW51cF9y YnVmKC0+KSB0cC0+cmN2X3d1cDogMjY1NDY5MjAwLCB0cC0+cmN2X3duZDogMjYyMTQ0LCB0cC0+ cmN2X254dCAyNjU2MDAxNjANCls1MjAxPC0+MzkyMjJdOiAgICAgW25ld193aW4gPSAyNjIxNDQs IHdpbl9ub3cgPSAxMzExODQsIDIgKiB3aW5fbm93ID0gMjYyMzY4XQ0KWzUyMDE8LT4zOTIyMl06 ICAgICBbbmV3X3dpbiA+PSAoMiAqIHdpbl9ub3cpID8gLS0+IHRpbWVfdG9fYWNrID0gMF0NCls1 MjAxPC0+MzkyMjJdOiAgICAgTk9UIGNhbGxpbmcgdGNwX3NlbmRfYWNrKCkNCls1MjAxPC0+Mzky MjJdOiAgIF9fdGNwX2NsZWFudXBfcmJ1Zig8LSkgdHAtPnJjdl93dXA6IDI2NTQ2OTIwMCwgdHAt PnJjdl93bmQ6IDI2MjE0NCwgdHAtPnJjdl9ueHQgMjY1NjAwMTYwDQpbNTIwMTwtPjM5MjIyXTog dGNwX3JlY3Ztc2dfbG9ja2VkKDwtKSByZXR1cm5pbmcgMTMxMDcyIGJ5dGVzLg0KICAgICAgICAg ICAgICAgIFtyY3Zfbnh0IDI2NTYwMDE2MCwgcmN2X3duZCAyNjIxNDQsIHNudF9hY2sgMjY1NDY5 MjAwICgwKSwgd2luX25vdyAxMzExODRdDQogICAgICAgICAgICAgICAgW2NvcGllZF9zZXEgMjYw MDk5ODQwLT4yNjAxNzE1MzYgKDcxNjk2KSwgdW5yZWFkIDU0Mjg2MjQsIHFsZW4gODMsIG9mb3Eg MF0NCg0KLy8gVGhlIGFib3ZlIHBhdHRlcm4gcmVwZWF0cyBhZ2FpbiBhbmQgYWdhaW4sIHNpbmNl IG5vdGhpbmcgY2hhbmdlcw0KLy8gYmV0d2VlbiB0aGUgcmVhZHMuDQoNClsuLi5dDQoNCls1MjAx PC0+MzkyMjJdOiB0Y3BfcmVjdm1zZ19sb2NrZWQoLT4pDQpbNTIwMTwtPjM5MjIyXTogICBfX3Rj cF9jbGVhbnVwX3JidWYoLT4pIHRwLT5yY3Zfd3VwOiAyNjU0NjkyMDAsIHRwLT5yY3Zfd25kOiAy NjIxNDQsIHRwLT5yY3Zfbnh0IDI2NTYwMDE2MA0KWzUyMDE8LT4zOTIyMl06ICAgICBbbmV3X3dp biA9IDI2MjE0NCwgd2luX25vdyA9IDEzMTE4NCwgMiAqIHdpbl9ub3cgPSAyNjIzNjhdDQpbNTIw MTwtPjM5MjIyXTogICAgIFtuZXdfd2luID49ICgyICogd2luX25vdykgPyAtLT4gdGltZV90b19h Y2sgPSAwXQ0KWzUyMDE8LT4zOTIyMl06ICAgICBOT1QgY2FsbGluZyB0Y3Bfc2VuZF9hY2soKQ0K WzUyMDE8LT4zOTIyMl06ICAgX190Y3BfY2xlYW51cF9yYnVmKDwtKSB0cC0+cmN2X3d1cDogMjY1 NDY5MjAwLCB0cC0+cmN2X3duZDogMjYyMTQ0LCB0cC0+cmN2X254dCAyNjU2MDAxNjANCls1MjAx PC0+MzkyMjJdOiB0Y3BfcmVjdm1zZ19sb2NrZWQoPC0pIHJldHVybmluZyAxMzEwNzIgYnl0ZXMu DQogICAgICAgICAgICAgICAgW3Jjdl9ueHQgMjY1NjAwMTYwLCByY3Zfd25kIDI2MjE0NCwgc250 X2FjayAyNjU0NjkyMDAgKDApLCB3aW5fbm93IDEzMTE4NF0NCiAgICAgICAgICAgICAgICBbY29w aWVkX3NlcSAyNjU0NjkyMDAtPjI2NTU0NTQ4OCAoNzYyODgpLCB1bnJlYWQgNTQ2NzIsIHFsZW4g MSwgb2ZvcSAwXQ0KDQpbNTIwMTwtPjM5MjIyXTogdGNwX3JlY3Ztc2dfbG9ja2VkKC0+KQ0KWzUy MDE8LT4zOTIyMl06ICAgX190Y3BfY2xlYW51cF9yYnVmKC0+KSB0cC0+cmN2X3d1cDogMjY1NDY5 MjAwLCB0cC0+cmN2X3duZDogMjYyMTQ0LCB0cC0+cmN2X254dCAyNjU2MDAxNjANCls1MjAxPC0+ MzkyMjJdOiAgICAgW25ld193aW4gPSAyNjIxNDQsIHdpbl9ub3cgPSAxMzExODQsIDIgKiB3aW5f bm93ID0gMjYyMzY4XQ0KWzUyMDE8LT4zOTIyMl06ICAgICBbbmV3X3dpbiA+PSAoMiAqIHdpbl9u b3cpID8gLS0+IHRpbWVfdG9fYWNrID0gMF0NCls1MjAxPC0+MzkyMjJdOiAgICAgTk9UIGNhbGxp bmcgdGNwX3NlbmRfYWNrKCkNCls1MjAxPC0+MzkyMjJdOiAgIF9fdGNwX2NsZWFudXBfcmJ1Zig8 LSkgdHAtPnJjdl93dXA6IDI2NTQ2OTIwMCwgdHAtPnJjdl93bmQ6IDI2MjE0NCwgdHAtPnJjdl9u eHQgMjY1NjAwMTYwDQpbNTIwMTwtPjM5MjIyXTogdGNwX3JlY3Ztc2dfbG9ja2VkKDwtKSByZXR1 cm5pbmcgNTQ2NzIgYnl0ZXMuDQogICAgICAgICAgICAgICAgW3Jjdl9ueHQgMjY1NjAwMTYwLCBy Y3Zfd25kIDI2MjE0NCwgc250X2FjayAyNjU0NjkyMDAgKDApLCB3aW5fbm93IDEzMTE4NF0NCiAg ICAgICAgICAgICAgICBbY29waWVkX3NlcSAyNjU2MDAxNjAtPjI2NTYwMDE2MCAoMCksIHVucmVh ZCAwLCBxbGVuIDAsIG9mb3EgMF0NCg0KLy8gVGhlIHJlY2VpdmUgcXVldWUgaXMgZW1wdHksIGJ1 dCBubyBuZXcgYWR2ZXJ0aXNlbWVudCBpcyBzZW50Lg0KLy8gVGhlIHBlZXIgc3RpbGwgdGhpbmtz IHRoZSByZWNlaXZlIHdpbmRvdyBpcyB6ZXJvLCBhbmQgc2VuZHMgbm90aGluZy4NCi8vIFdlIGhh dmUgZW5kZWQgdXAgaW4gYSBkZWFkbG9jayBzaXR1YXRpb24uDQoNCkZ1cnRoZXJtb3JlLCB3ZSBo YXZlIG9ic2VydmVkIHRoYXQgaW4gdGhlc2Ugc2l0dWF0aW9ucyB0aGlzIHNpZGUgbWF5DQpzZW5k IG91dCBhbiB1cGRhdGVkICd0aC0+YWNrX3NlccK0IHdoaWNoIGlzIG5vdCBzdG9yZWQgaW4gdHAt PnJjdl93dXANCmFzIGl0IHNob3VsZCBiZS4gQmFja2luZyBhY2tfc2VxIHNlZW1zIHRvIGJlIGhh cm1sZXNzLCBidXQgaXMgb2YNCmNvdXJzZSBzdGlsbCB3cm9uZyBmcm9tIGEgcHJvdG9jb2wgdmll d3BvaW50Lg0KDQpXZSBmaXggdGhpcyBieSBzZXR0aW5nIHRwLT5yY3Zfd25kIGFuZCB0cC0+cmN2 X3d1cCBldmVuIHdoZW4gYSBwYWNrZXQNCmhhcyBiZWVuIGRyb3BwZWQgYmVjYXVzZSBvZiBtZW1v cnkgZXhoYXVzdGlvbiBhbmQgd2UgaGF2ZSB0byBhZHZlcnRpemUNCmEgemVybyB3aW5kb3cuDQoN CkZ1cnRoZXIgdGVzdGluZyBzaG93cyB0aGF0IHRoZSBjb25uZWN0aW9uIHJlY292ZXJzIG5lYXRs eSBmcm9tIHRoZQ0Kc3F1ZWV6ZSBzaXR1YXRpb24sIGFuZCB0cmFmZmljIGNhbiBjb250aW51ZSBp bmRlZmluaXRlbHkuDQoNCkZpeGVzOiBlMjE0MjgyNWMxMjAgKCJuZXQ6IHRjcDogc2VuZCB6ZXJv LXdpbmRvdyBBQ0sgd2hlbiBubyBtZW1vcnkiKQ0KU2lnbmVkLW9mZi1ieTogSm9uIE1hbG95IDxq bWFsb3lAcmVkaGF0LmNvbT4NCg0KLS0tDQp2MTogLVBvc3RlZCBvbiBBcHIgNiwgMjAyNA0KdjI6 IC1JbXByb3ZlZCBjb21taXQgbG9nIHRvIGNsYXJpZnkgaG93IHdlIGVuZCB1cCBpbiB0aGlzIHNp dHVhdGlvbi4NCiAgICAtQWZ0ZXIgZmVlZGJhY2sgZnJvbSBFcmljIER1bWF6ZXQsIHJlbW92ZWQg cmVmZXJlbmNlcyB0byB1c2Ugb2YNCiAgICAgU09fUEVFSyBhbmQgU09fUEVFS19PRkYgd2hpY2gg bWF5IGxlYWQgdG8gYSBtaXN1bmRlcnN0YW5kaW5nDQogICAgIGFib3V0IGhvdyB0aGlzIHNpdHVh dGlvbiBvY2N1cnMuIFRob3NlIGZsYWdzIGFyZSB1c2VkIGF0IHRoZQ0KICAgICBwZWVyIHNpZGUn cyBpbmNvbWluZyBjb25uZWN0aW9uLCBhbmQgbm90IG9uIHRoaXMgb25lLg0KLS0tDQogbmV0L2lw djQvdGNwX291dHB1dC5jIHwgOCArKysrKy0tLQ0KIDEgZmlsZSBjaGFuZ2VkLCA1IGluc2VydGlv bnMoKyksIDMgZGVsZXRpb25zKC0pDQoNCmRpZmYgLS1naXQgYS9uZXQvaXB2NC90Y3Bfb3V0cHV0 LmMgYi9uZXQvaXB2NC90Y3Bfb3V0cHV0LmMNCmluZGV4IDBlNWI5YTY1NDI1NC4uYmEyOTVmNzk4 ZTVlIDEwMDY0NA0KLS0tIGEvbmV0L2lwdjQvdGNwX291dHB1dC5jDQorKysgYi9uZXQvaXB2NC90 Y3Bfb3V0cHV0LmMNCkBAIC0yNjUsMTEgKzI2NSwxMyBAQCBzdGF0aWMgdTE2IHRjcF9zZWxlY3Rf d2luZG93KHN0cnVjdCBzb2NrICpzaykNCiAJdTMyIGN1cl93aW4sIG5ld193aW47DQogDQogCS8q IE1ha2UgdGhlIHdpbmRvdyAwIGlmIHdlIGZhaWxlZCB0byBxdWV1ZSB0aGUgZGF0YSBiZWNhdXNl IHdlDQotCSAqIGFyZSBvdXQgb2YgbWVtb3J5LiBUaGUgd2luZG93IGlzIHRlbXBvcmFyeSwgc28g d2UgZG9uJ3Qgc3RvcmUNCi0JICogaXQgb24gdGhlIHNvY2tldC4NCisJICogYXJlIG91dCBvZiBt ZW1vcnkuDQogCSAqLw0KLQlpZiAodW5saWtlbHkoaW5ldF9jc2soc2spLT5pY3NrX2Fjay5wZW5k aW5nICYgSUNTS19BQ0tfTk9NRU0pKQ0KKwlpZiAodW5saWtlbHkoaW5ldF9jc2soc2spLT5pY3Nr X2Fjay5wZW5kaW5nICYgSUNTS19BQ0tfTk9NRU0pKSB7DQorCQl0cC0+cmN2X3duZCA9IDA7DQor CQl0cC0+cmN2X3d1cCA9IHRwLT5yY3Zfbnh0Ow0KIAkJcmV0dXJuIDA7DQorCX0NCiANCiAJY3Vy X3dpbiA9IHRjcF9yZWNlaXZlX3dpbmRvdyh0cCk7DQogCW5ld193aW4gPSBfX3RjcF9zZWxlY3Rf d2luZG93KHNrKTsNCi0tIA0KMi40OC4wDQoNCg==