From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from conssluserg-02.nifty.com (conssluserg-02.nifty.com [210.131.2.81]) by sourceware.org (Postfix) with ESMTPS id 1B6893858D3C for ; Mon, 20 Sep 2021 23:22:42 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 1B6893858D3C Authentication-Results: sourceware.org; dmarc=fail (p=none dis=none) header.from=nifty.ne.jp Authentication-Results: sourceware.org; spf=fail smtp.mailfrom=nifty.ne.jp Received: from Express5800-S70 (z221123.dynamic.ppp.asahi-net.or.jp [110.4.221.123]) (authenticated) by conssluserg-02.nifty.com with ESMTP id 18KNMMjs031701 for ; Tue, 21 Sep 2021 08:22:22 +0900 DKIM-Filter: OpenDKIM Filter v2.10.3 conssluserg-02.nifty.com 18KNMMjs031701 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nifty.ne.jp; s=dec2015msa; t=1632180143; bh=ZUJX5SkxF/pikAuZ63ypsDd0lpxWokIgLrzuROIu6Bk=; h=Date:From:To:Subject:In-Reply-To:References:From; b=UFeyUQhEMIKZytz9AyMfx+YvF4DrzFGw8HcyGOl7hchsgNcbI7rHOpt5YM5KZW4WS BMc/GO1VY7GhyGzoiABMFzrZuKFjUNZQcusio41KOUydu1gsRa86xbJkKUL3QZ4XwV YQtouvIzCK0G7VJt8I1AzmhLq2QC++2m1JB101ehinnXLikMdQPbateQUMOwYD4WIP nwhRbBgb0qnx/8Zq7x6i5KkLTXqTdrMIEvJ35NCtIuqdc5dIgISlH0iX4mIuMLM3UH 8j8P5D7wKBdkFT6Wya4Njx7ZH7sLMLAqE2C/DFBuw/7fvyNR+n72kZMxAYw85Osk0d Re91rjYCe83tQ== X-Nifty-SrcIP: [110.4.221.123] Date: Tue, 21 Sep 2021 08:22:30 +0900 From: Takashi Yano To: cygwin-developers@cygwin.com Subject: Re: cygrunsrv + sshd + rsync = 20 times too slow -- throttled? Message-Id: <20210921082230.4e7f2421c729c0f74b4a8cfe@nifty.ne.jp> In-Reply-To: <61adb3e0-9ef5-50ee-d422-6ee718d633c8@cornell.edu> References: <20210907122631.65452be8d021ec72259431d5@nifty.ne.jp> <20210909170549.506cc3c1f6029d904fece6dd@nifty.ne.jp> <20210909211940.51ef391e27d43f0421962cb8@nifty.ne.jp> <20210909214246.cd1ff1a3062fea27e51ad4ae@nifty.ne.jp> <33386baf-3b2d-d57f-2ad3-1bd328ed7935@cornell.edu> <20210911075734.aaf37697ba7db2ad14d911a3@nifty.ne.jp> <20210911113517.f74fc3ac1971bbf04c7a9bd1@nifty.ne.jp> <20210920215229.cea5722b2c2fcd7e03917108@nifty.ne.jp> <00f4eca0-2b38-f4bb-98f2-e99e7ee941f5@cornell.edu> <20210921062737.13448347e0fc28a9a3dae38c@nifty.ne.jp> <2bdbd4bd-a9fd-ee74-58c5-0e102da111e9@cornell.edu> <20210921071652.a7885fa2d5f89db844ed1119@nifty.ne.jp> <61adb3e0-9ef5-50ee-d422-6ee718d633c8@cornell.edu> X-Mailer: Sylpheed 3.7.0 (GTK+ 2.24.30; i686-pc-mingw32) Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="Multipart=_Tue__21_Sep_2021_08_22_30_+0900_+s8UG6s0dJAtgaj2" X-Spam-Status: No, score=-4.3 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, NICE_REPLY_A, RCVD_IN_DNSWL_NONE, SPF_HELO_NONE, SPF_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: cygwin-developers@cygwin.com X-Mailman-Version: 2.1.29 Precedence: list List-Id: Cygwin core component developers mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 20 Sep 2021 23:22:46 -0000 This is a multi-part message in MIME format. --Multipart=_Tue__21_Sep_2021_08_22_30_+0900_+s8UG6s0dJAtgaj2 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit On Mon, 20 Sep 2021 18:46:26 -0400 Ken Brown wrote: > On 9/20/2021 6:16 PM, Takashi Yano wrote: > > typedef of SYSTEM_HANDLE_TABLE_ENTRY_INFO and SYSTEM_HANDLE_INFORMATION > > are moved into ntdll.h > > > +typedef struct _SYSTEM_HANDLE_INFORMATION > > +{ > > + ULONG NumberOfHandles; > > + SYSTEM_HANDLE_TABLE_ENTRY_INFO Handles[1]; > > +} SYSTEM_HANDLE_INFORMATION, PSYSTEM_HANDLE_INFORMATION; > > + > > You missed a '*' in front of PSYSTEM_HANDLE_INFORMATION. Also, since you > defined PSYSTEM_HANDLE_INFORMATION, there are two places where you could use it > instead of 'SYSTEM_HANDLE_INFORMATION *'. Thanks for pointing out my mistake. On Mon, 20 Sep 2021 18:50:17 -0400 Ken Brown wrote: > One other thought: I wonder if temporary_query_hdl might be a more suggestive > name than tentative_query_hdl. And thanks for the suggestion. I have fixed them. -- Takashi Yano --Multipart=_Tue__21_Sep_2021_08_22_30_+0900_+s8UG6s0dJAtgaj2 Content-Type: application/octet-stream; name="v4-0001-Cygwin-pipe-Introduce-temprary-query_hdl.patch" Content-Disposition: attachment; filename="v4-0001-Cygwin-pipe-Introduce-temprary-query_hdl.patch" Content-Transfer-Encoding: base64 RnJvbSAxYTJmODkxNWZjZjU2YTM4ZjBkNDQ3NDliNTU5ZGJmYWE4NDY0MmU4IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBUYWthc2hpIFlhbm8gPHRha2FzaGkueWFub0BuaWZ0eS5uZS5q cD4KRGF0ZTogVHVlLCAyMSBTZXAgMjAyMSAwODowMjo0MyArMDkwMApTdWJqZWN0OiBbUEFUQ0gg djRdIEN5Z3dpbjogcGlwZTogSW50cm9kdWNlIHRlbXByYXJ5IHF1ZXJ5X2hkbC4KCi0gVGhlIGNv bW1pdCBmNzlhNDYxMSBpbnRyb2R1Y2VkIHF1ZXJ5X2hkbCB3aGljaCBpcyB0aGUgcmVhZCBwaXBl CiAgaGFuZGxlIGtlcHQgaW4gdGhlIHdyaXRlIHBpcGUgaW5zdGFuY2UgaW4gb3JkZXIgdG8gZGV0 ZXJtaW5lIGlmCiAgdGhlIHBpcGUgaXMgcmVhZHkgdG8gd3JpdGUgaW4gc2VsZWN0KCkuIFRoaXMg aW1wbGVtZW50YXRpb24gaGFzCiAgYSBwb3RlbnRpYWwgcmlzayB0aGF0IHdyaXRlIHNpZGUgZmFp bHMgdG8gZGV0ZWN0IHRoZSBjbG9zdXJlIG9mCiAgcmVhZCBzaWRlIGlmIG1vcmUgdGhhbiBvbmUg d3JpdGVycyBleGlzdCBhbmQgb25lIG9mIHRoZW0gaXMgbm9uLQogIGN5Z3dpbiBwcm9jZXNzLgoK ICBXaXRoIHRoaXMgcGF0Y2gsIHRoZSBzdHJhdGVneSBvZiBjb21taXQgZjc5YTQ2MTEgaXMgdXNl ZCBvbmx5IGlmCiAgdGhlIHByb2Nlc3MgaXMgcnVubmluZyBhcyBhIHNlcnZpY2UuIEZvciBub3Jt YWwgcHJvY2VzcywgaW5zdGVhZAogIG9mIGtlZXBpbmcgcXVlcnlfaGRsIGluIHRoZSB3cml0ZSBw aXBlIGluc3RhbmNlLCBpdCBpcyByZXRyaWV2ZWQKICB0ZW1wb3JhcmlseSB3aGVuIHNlbGVjdCgp IGlzIGNhbGxlZC4gQWN0dWFsbHksIHdlIHdhbnQgdG8gdXNlCiAgdGVucG9yYXJ5IHF1ZXJ5X2hk bCBmb3IgYWxsIHByb2Nlc3NlcywgaG93ZXZlciwgaXQgZG9lcyBub3Qgd29yawogIGZvciBzZXJ2 aWNlIHByb2Nlc3NlcyBkdWUgdG8gT3BlblByb2Nlc3MoKSBmYWlsdXJlLgotLS0KIHdpbnN1cC9j eWd3aW4vZmhhbmRsZXIuaCAgICAgICB8ICAgMyArCiB3aW5zdXAvY3lnd2luL2ZoYW5kbGVyX3Bp cGUuY2MgfCAxMTkgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tCiB3aW5zdXAvY3ln d2luL250ZGxsLmggICAgICAgICAgfCAgMTcgKysrKysKIHdpbnN1cC9jeWd3aW4vc2VsZWN0LmNj ICAgICAgICB8ICAgOCArKy0KIDQgZmlsZXMgY2hhbmdlZCwgMTQxIGluc2VydGlvbnMoKyksIDYg ZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvd2luc3VwL2N5Z3dpbi9maGFuZGxlci5oIGIvd2lu c3VwL2N5Z3dpbi9maGFuZGxlci5oCmluZGV4IDM0NzFlOTViOS4uMmMwNTg2NzE0IDEwMDY0NAot LS0gYS93aW5zdXAvY3lnd2luL2ZoYW5kbGVyLmgKKysrIGIvd2luc3VwL2N5Z3dpbi9maGFuZGxl ci5oCkBAIC0xMTkxLDYgKzExOTEsOCBAQCBwcml2YXRlOgogICBwaWRfdCBwb3Blbl9waWQ7CiAg IEhBTkRMRSBxdWVyeV9oZGw7CiAgIEhBTkRMRSBoZGxfY250X210eDsKKyAgSEFORExFIHF1ZXJ5 X2hkbF9wcm9jOworICBIQU5ETEUgcXVlcnlfaGRsX3ZhbHVlOwogICB2b2lkIHJlbGVhc2Vfc2Vs ZWN0X3NlbSAoY29uc3QgY2hhciAqKTsKIHB1YmxpYzoKICAgZmhhbmRsZXJfcGlwZSAoKTsKQEAg LTEyNDksNiArMTI1MSw3IEBAIHB1YmxpYzoKICAgICAgIH0KICAgfQogICBib29sIHJlYWRlcl9j bG9zZWQgKCk7CisgIEhBTkRMRSB0ZW1wb3JhcnlfcXVlcnlfaGRsICgpOwogfTsKIAogI2RlZmlu ZSBDWUdXSU5fRklGT19QSVBFX05BTUVfTEVOICAgICA0NwpkaWZmIC0tZ2l0IGEvd2luc3VwL2N5 Z3dpbi9maGFuZGxlcl9waXBlLmNjIGIvd2luc3VwL2N5Z3dpbi9maGFuZGxlcl9waXBlLmNjCmlu ZGV4IDZiNDFhNzU1Zi4uYjE2NjQ4MTRmIDEwMDY0NAotLS0gYS93aW5zdXAvY3lnd2luL2ZoYW5k bGVyX3BpcGUuY2MKKysrIGIvd2luc3VwL2N5Z3dpbi9maGFuZGxlcl9waXBlLmNjCkBAIC0xOSw2 ICsxOSw3IEBAIGRldGFpbHMuICovCiAjaW5jbHVkZSAiY3lnaGVhcC5oIgogI2luY2x1ZGUgInBp bmZvLmgiCiAjaW5jbHVkZSAic2hhcmVkX2luZm8uaCIKKyNpbmNsdWRlICJ0bHNfcGJ1Zi5oIgog CiAvKiBUaGlzIGlzIG9ubHkgdG8gYmUgdXNlZCBmb3Igd3JpdGluZy4gIFdoZW4gcmVhZGluZywK IFNUQVRVU19QSVBFX0VNUFRZIHNpbXBseSBtZWFucyB0aGVyZSdzIG5vIGRhdGEgdG8gYmUgcmVh ZC4gKi8KQEAgLTIyMCw4ICsyMjEsNiBAQCBmaGFuZGxlcl9waXBlOjpvcGVuX3NldHVwIChpbnQg ZmxhZ3MpCiAJICBnb3RvIGVycl9jbG9zZV9yZWFkX210eDsKIAl9CiAgICAgfQotICBpZiAoZ2V0 X2RldiAoKSA9PSBGSF9QSVBFVyAmJiAhcXVlcnlfaGRsKQotICAgIHNldF9waXBlX25vbl9ibG9j a2luZyAoaXNfbm9uYmxvY2tpbmcgKCkpOwogICByZXR1cm4gdHJ1ZTsKIAogZXJyX2Nsb3NlX3Jl YWRfbXR4OgpAQCAtMjY3LDcgKzI2Niw3IEBAIGZoYW5kbGVyX3BpcGU6OnJlbGVhc2Vfc2VsZWN0 X3NlbSAoY29uc3QgY2hhciAqZnJvbSkKICAgICAgIC0gZ2V0X29ial9oYW5kbGVfY291bnQgKHJl YWRfbXR4KTsKICAgZWxzZSAvKiBOdW1iZXIgb2Ygc2VsZWN0KCkgY2FsbCAqLwogICAgIG5fcmVs ZWFzZSA9IGdldF9vYmpfaGFuZGxlX2NvdW50IChzZWxlY3Rfc2VtKQotICAgICAgLSBnZXRfb2Jq X2hhbmRsZV9jb3VudCAocXVlcnlfaGRsKTsKKyAgICAgIC0gZ2V0X29ial9oYW5kbGVfY291bnQg KGhkbF9jbnRfbXR4KTsKICAgZGVidWdfcHJpbnRmKCIlcyglcykgcmVsZWFzZSAlZCIsIGZyb20s CiAJICAgICAgIGdldF9kZXYgKCkgPT0gRkhfUElQRVIgPyAiUElQRVIiIDogIlBJUEVXIiwgbl9y ZWxlYXNlKTsKICAgaWYgKG5fcmVsZWFzZSkKQEAgLTY2Nyw2ICs2NjYsOCBAQCBmaGFuZGxlcl9w aXBlOjpjbG9zZSAoKQogICBpbnQgcmV0ID0gZmhhbmRsZXJfYmFzZTo6Y2xvc2UgKCk7CiAgIFJl bGVhc2VNdXRleCAoaGRsX2NudF9tdHgpOwogICBDbG9zZUhhbmRsZSAoaGRsX2NudF9tdHgpOwor ICBpZiAocXVlcnlfaGRsX3Byb2MpCisgICAgQ2xvc2VIYW5kbGUgKHF1ZXJ5X2hkbF9wcm9jKTsK ICAgcmV0dXJuIHJldDsKIH0KIApAQCAtODIwLDYgKzgyMSwxMyBAQCBmaGFuZGxlcl9waXBlOjpj cmVhdGUgKExQU0VDVVJJVFlfQVRUUklCVVRFUyBzYV9wdHIsIFBIQU5ETEUgciwgUEhBTkRMRSB3 LAogICByZXR1cm4gMDsKIH0KIAoraW5saW5lIHN0YXRpYyBib29sCitpc19ydW5uaW5nX2FzX3Nl cnZpY2UgKHZvaWQpCit7CisgIHJldHVybiBjaGVja190b2tlbl9tZW1iZXJzaGlwICh3ZWxsX2tu b3duX3NlcnZpY2Vfc2lkKQorICAgIHx8IGN5Z2hlYXAtPnVzZXIuc2F2ZWRfc2lkICgpID09IHdl bGxfa25vd25fc3lzdGVtX3NpZDsKK30KKwogLyogVGhlIG5leHQgdmVyc2lvbiBvZiBmaGFuZGxl cl9waXBlOjpjcmVhdGUgdXNlZCB0byBjYWxsIHRoZSBwcmV2aW91cwogICAgdmVyc2lvbi4gIEJ1 dCB0aGUgcmVhZCBoYW5kbGUgY3JlYXRlZCBieSB0aGUgbGF0dGVyIGRvZXNuJ3QgaGF2ZQogICAg RklMRV9XUklURV9BVFRSSUJVVEVTIGFjY2VzcyB1bmxlc3MgdGhlIHBpcGUgaXMgY3JlYXRlZCB3 aXRoCkBAIC04NzQsNyArODgyLDggQEAgZmhhbmRsZXJfcGlwZTo6Y3JlYXRlIChmaGFuZGxlcl9w aXBlICpmaHNbMl0sIHVuc2lnbmVkIHBzaXplLCBpbnQgbW9kZSkKIAkJCTAsIHNhLT5iSW5oZXJp dEhhbmRsZSwgRFVQTElDQVRFX1NBTUVfQUNDRVNTKSkKICAgICBnb3RvIGVycl9jbG9zZV9zZWxl Y3Rfc2VtMDsKIAotICBpZiAoIUR1cGxpY2F0ZUhhbmRsZSAoR2V0Q3VycmVudFByb2Nlc3MgKCks IHIsCisgIGlmIChpc19ydW5uaW5nX2FzX3NlcnZpY2UgKCkgJiYKKyAgICAgICFEdXBsaWNhdGVI YW5kbGUgKEdldEN1cnJlbnRQcm9jZXNzICgpLCByLAogCQkJR2V0Q3VycmVudFByb2Nlc3MgKCks ICZmaHNbMV0tPnF1ZXJ5X2hkbCwKIAkJCUZJTEVfUkVBRF9EQVRBLCBzYS0+YkluaGVyaXRIYW5k bGUsIDApKQogICAgIGdvdG8gZXJyX2Nsb3NlX3NlbGVjdF9zZW0xOwpAQCAtODkzLDcgKzkwMiw4 IEBAIGZoYW5kbGVyX3BpcGU6OmNyZWF0ZSAoZmhhbmRsZXJfcGlwZSAqZmhzWzJdLCB1bnNpZ25l ZCBwc2l6ZSwgaW50IG1vZGUpCiBlcnJfY2xvc2VfaGRsX2NudF9tdHgwOgogICBDbG9zZUhhbmRs ZSAoZmhzWzBdLT5oZGxfY250X210eCk7CiBlcnJfY2xvc2VfcXVlcnlfaGRsOgotICBDbG9zZUhh bmRsZSAoZmhzWzFdLT5xdWVyeV9oZGwpOworICBpZiAoZmhzWzFdLT5xdWVyeV9oZGwpCisgICAg Q2xvc2VIYW5kbGUgKGZoc1sxXS0+cXVlcnlfaGRsKTsKIGVycl9jbG9zZV9zZWxlY3Rfc2VtMToK ICAgQ2xvc2VIYW5kbGUgKGZoc1sxXS0+c2VsZWN0X3NlbSk7CiBlcnJfY2xvc2Vfc2VsZWN0X3Nl bTA6CkBAIC05NDYsNiArOTU2LDcgQEAgbnRfY3JlYXRlIChMUFNFQ1VSSVRZX0FUVFJJQlVURVMg c2FfcHRyLCBIQU5ETEUgJnIsIEhBTkRMRSAmdywKIAkJCQkgR2V0Q3VycmVudFByb2Nlc3NJZCAo KSk7CiAKICAgYWNjZXNzID0gR0VORVJJQ19SRUFEIHwgRklMRV9XUklURV9BVFRSSUJVVEVTIHwg U1lOQ0hST05JWkU7CisgIGFjY2VzcyB8PSBGSUxFX1dSSVRFX0VBOyAvKiBBZGQgdGhpcyByaWdo dCBhcyBhIG1hcmtlciBvZiBjeWd3aW4gcmVhZCBwaXBlICovCiAKICAgVUxPTkcgcGlwZV90eXBl ID0gcGlwZV9ieXRlID8gRklMRV9QSVBFX0JZVEVfU1RSRUFNX1RZUEUKICAgICA6IEZJTEVfUElQ RV9NRVNTQUdFX1RZUEU7CkBAIC0xMTEyLDMgKzExMjMsMTAxIEBAIGZoYW5kbGVyX3BpcGU6OmZz dGF0dmZzIChzdHJ1Y3Qgc3RhdHZmcyAqc2ZzKQogICBzZXRfZXJybm8gKEVCQURGKTsKICAgcmV0 dXJuIC0xOwogfQorCitIQU5ETEUKK2ZoYW5kbGVyX3BpcGU6OnRlbXBvcmFyeV9xdWVyeV9oZGwg KCkKK3sKKyAgaWYgKGdldF9kZXYgKCkgIT0gRkhfUElQRVcpCisgICAgcmV0dXJuIE5VTEw7Cisg IC8qIFRyeSBwcm9jZXNzIGhhbmRsZSBvcGVuZWQgYW5kIHBpcGUgaGFuZGxlIHZhbHVlIGNhY2hl ZCBmaXJzdAorICAgICBpbiBvcmRlciB0byByZWR1Y2Ugb3ZlcmhlYWQuICovCisgIGlmIChxdWVy eV9oZGxfcHJvYyAmJiBxdWVyeV9oZGxfdmFsdWUpCisgICAgeworICAgICAgSEFORExFIGg7Cisg ICAgICBpZiAoRHVwbGljYXRlSGFuZGxlIChxdWVyeV9oZGxfcHJvYywgcXVlcnlfaGRsX3ZhbHVl LAorCQkJICAgR2V0Q3VycmVudFByb2Nlc3MgKCksICZoLCBGSUxFX1JFQURfREFUQSwgMCwgMCkp CisJcmV0dXJuIGg7CisgICAgICBDbG9zZUhhbmRsZSAocXVlcnlfaGRsX3Byb2MpOworICAgICAg cXVlcnlfaGRsX3Byb2MgPSBOVUxMOworICAgICAgcXVlcnlfaGRsX3ZhbHVlID0gTlVMTDsKKyAg ICB9CisKKyAgVUxPTkcgbGVuOworICBOVFNUQVRVUyBzdGF0dXM7CisgIHRtcF9wYXRoYnVmIHRw OworICBPQkpFQ1RfTkFNRV9JTkZPUk1BVElPTiAqbnRmbiA9KE9CSkVDVF9OQU1FX0lORk9STUFU SU9OICopIHRwLndfZ2V0ICgpOworICBzdGF0dXMgPSBOdFF1ZXJ5T2JqZWN0IChnZXRfaGFuZGxl ICgpLCBPYmplY3ROYW1lSW5mb3JtYXRpb24sIG50Zm4sCisJCQkgIDY1NTM2LCAmbGVuKTsKKyAg aWYgKCFOVF9TVUNDRVNTIChzdGF0dXMpKQorICAgIHJldHVybiBOVUxMOyAvKiBOb24gY3lnd2lu IHBpcGU/ICovCisgIFdDSEFSIG5hbWVbTUFYX1BBVEhdOworICBpbnQgbmFtZWxlbiA9IG1pbiAo bnRmbi0+TmFtZS5MZW5ndGggLyBzaXplb2YgKFdDSEFSKSwgTUFYX1BBVEgtMSk7CisgIG1lbWNw eSAobmFtZSwgbnRmbi0+TmFtZS5CdWZmZXIsIG5hbWVsZW4gKiBzaXplb2YgKFdDSEFSKSk7Cisg IG5hbWVbbmFtZWxlbl0gPSBMJ1wwJzsKKyAgdWludDY0X3Qga2V5OworICBEV09SRCBwaWQ7Cisg IExPTkcgaWQ7CisgIGlmIChzd3NjYW5mIChuYW1lLCBMIlxcRGV2aWNlXFxOYW1lZFBpcGVcXCVs bHgtJXUtcGlwZS1udC0weCV4IiwKKwkgICAgICAgJmtleSwgJnBpZCwgJmlkKSAhPSAzKQorICAg IHJldHVybiBOVUxMOyAvKiBOb24gY3lnd2luIHBpcGU/ICovCisKKyAgU0laRV9UIG5faGFuZGxl ID0gNjU1MzY7CisgIFBTWVNURU1fSEFORExFX0lORk9STUFUSU9OIHNoaTsKKyAgZG8KKyAgICB7 CisgICAgICBTSVpFX1QgbmJ5dGVzID0KKwlzaXplb2YgKFVMT05HKSArIG5faGFuZGxlICogc2l6 ZW9mIChTWVNURU1fSEFORExFX1RBQkxFX0VOVFJZX0lORk8pOworICAgICAgc2hpID0gKFBTWVNU RU1fSEFORExFX0lORk9STUFUSU9OKSBIZWFwQWxsb2MgKEdldFByb2Nlc3NIZWFwICgpLAorCQkJ CQkJICAgICAwLCBuYnl0ZXMpOworICAgICAgc3RhdHVzID0gTnRRdWVyeVN5c3RlbUluZm9ybWF0 aW9uIChTeXN0ZW1IYW5kbGVJbmZvcm1hdGlvbiwKKwkJCQkJIHNoaSwgbmJ5dGVzLCBOVUxMKTsK KyAgICAgIGlmIChOVF9TVUNDRVNTIChzdGF0dXMpKQorCWJyZWFrOworICAgICAgSGVhcEZyZWUg KEdldFByb2Nlc3NIZWFwICgpLCAwLCBzaGkpOworICAgICAgbl9oYW5kbGUgKj0gMjsKKyAgICB9 CisgIHdoaWxlIChuX2hhbmRsZSA8ICgxTDw8MjApKTsKKyAgaWYgKCFOVF9TVUNDRVNTIChzdGF0 dXMpKQorICAgIHJldHVybiBOVUxMOworCisgIEhBTkRMRSBxaCA9IE5VTEw7CisgIGZvciAoTE9O RyBpID0gKExPTkcpIHNoaS0+TnVtYmVyT2ZIYW5kbGVzIC0gMTsgaSA+PSAwOyBpLS0pCisgICAg eworICAgICAgLyogQ2hlY2sgZm9yIHRoZSBwZWN1bGlhcml0eSBvZiBjeWd3aW4gcmVhZCBwaXBl ICovCisgICAgICBEV09SRCBhY2Nlc3MgPSBGSUxFX1JFQURfREFUQSB8IEZJTEVfUkVBRF9FQSB8 IEZJTEVfV1JJVEVfRUEgLyogbWFya2VyICovCisJfCBGSUxFX1JFQURfQVRUUklCVVRFUyB8IEZJ TEVfV1JJVEVfQVRUUklCVVRFUworCXwgUkVBRF9DT05UUk9MIHwgU1lOQ0hST05JWkU7CisgICAg ICBpZiAoc2hpLT5IYW5kbGVzW2ldLkdyYW50ZWRBY2Nlc3MgIT0gYWNjZXNzKQorCWNvbnRpbnVl OworCisgICAgICAvKiBSZXRyaWV2ZSBoYW5kbGUgKi8KKyAgICAgIEhBTkRMRSBwcm9jID0gT3Bl blByb2Nlc3MgKFBST0NFU1NfRFVQX0hBTkRMRSwgMCwKKwkJCQkgc2hpLT5IYW5kbGVzW2ldLlVu aXF1ZVByb2Nlc3NJZCk7CisgICAgICBpZiAoIXByb2MpCisJY29udGludWU7CisgICAgICBIQU5E TEUgaCA9IChIQU5ETEUpKGludHB0cl90KSBzaGktPkhhbmRsZXNbaV0uSGFuZGxlVmFsdWU7Cisg ICAgICBCT09MIHJlcyAgPSBEdXBsaWNhdGVIYW5kbGUgKHByb2MsIGgsIEdldEN1cnJlbnRQcm9j ZXNzICgpLCAmaCwKKwkJCQkgICBGSUxFX1JFQURfREFUQSwgMCwgMCk7CisgICAgICBpZiAoIXJl cykKKwlnb3RvIGNsb3NlX3Byb2M7CisKKyAgICAgIC8qIENoZWNrIG9iamVjdCBuYW1lICovCisg ICAgICBzdGF0dXMgPSBOdFF1ZXJ5T2JqZWN0IChoLCBPYmplY3ROYW1lSW5mb3JtYXRpb24sIG50 Zm4sIDY1NTM2LCAmbGVuKTsKKyAgICAgIGlmICghTlRfU1VDQ0VTUyAoc3RhdHVzKSkKKwlnb3Rv IGNsb3NlX2hhbmRsZTsKKyAgICAgIG50Zm4tPk5hbWUuQnVmZmVyW250Zm4tPk5hbWUuTGVuZ3Ro IC8gc2l6ZW9mIChXQ0hBUildID0gTCdcMCc7CisgICAgICBpZiAod2NzY21wIChuYW1lLCBudGZu LT5OYW1lLkJ1ZmZlcikgPT0gMCkKKwl7CisJICBxdWVyeV9oZGxfcHJvYyA9IHByb2M7CisJICBx dWVyeV9oZGxfdmFsdWUgPSAoSEFORExFKShpbnRwdHJfdCkgc2hpLT5IYW5kbGVzW2ldLkhhbmRs ZVZhbHVlOworCSAgcWggPSBoOworCSAgYnJlYWs7CisJfQorY2xvc2VfaGFuZGxlOgorICAgICAg Q2xvc2VIYW5kbGUgKGgpOworY2xvc2VfcHJvYzoKKyAgICAgIENsb3NlSGFuZGxlIChwcm9jKTsK KyAgICB9CisgIEhlYXBGcmVlIChHZXRQcm9jZXNzSGVhcCAoKSwgMCwgc2hpKTsKKyAgcmV0dXJu IHFoOworfQpkaWZmIC0tZ2l0IGEvd2luc3VwL2N5Z3dpbi9udGRsbC5oIGIvd2luc3VwL2N5Z3dp bi9udGRsbC5oCmluZGV4IDQ1MDRiZGY2ZC4uZThjM2M0NWM1IDEwMDY0NAotLS0gYS93aW5zdXAv Y3lnd2luL250ZGxsLmgKKysrIGIvd2luc3VwL2N5Z3dpbi9udGRsbC5oCkBAIC02MjAsNiArNjIw LDIzIEBAIHR5cGVkZWYgc3RydWN0IF9TWVNURU1fUFJPQ0VTU09SX1BFUkZPUk1BTkNFX0lORk9S TUFUSU9OCiAgIFVMT05HIEludGVycnVwdENvdW50OwogfSBTWVNURU1fUFJPQ0VTU09SX1BFUkZP Uk1BTkNFX0lORk9STUFUSU9OLCAqUFNZU1RFTV9QUk9DRVNTT1JfUEVSRk9STUFOQ0VfSU5GT1JN QVRJT047CiAKK3R5cGVkZWYgc3RydWN0IF9TWVNURU1fSEFORExFX1RBQkxFX0VOVFJZX0lORk8K K3sKKyAgVVNIT1JUIFVuaXF1ZVByb2Nlc3NJZDsKKyAgVVNIT1JUIENyZWF0b3JCYWNrVHJhY2VJ bmRleDsKKyAgVUNIQVIgT2JqZWN0VHlwZUluZGV4OworICBVQ0hBUiBIYW5kbGVBdHRyaWJ1dGVz OworICBVU0hPUlQgSGFuZGxlVmFsdWU7CisgIFBWT0lEIE9iamVjdDsKKyAgVUxPTkcgR3JhbnRl ZEFjY2VzczsKK30gU1lTVEVNX0hBTkRMRV9UQUJMRV9FTlRSWV9JTkZPLCAqUFNZU1RFTV9IQU5E TEVfVEFCTEVfRU5UUllfSU5GTzsKKwordHlwZWRlZiBzdHJ1Y3QgX1NZU1RFTV9IQU5ETEVfSU5G T1JNQVRJT04KK3sKKyAgVUxPTkcgTnVtYmVyT2ZIYW5kbGVzOworICBTWVNURU1fSEFORExFX1RB QkxFX0VOVFJZX0lORk8gSGFuZGxlc1sxXTsKK30gU1lTVEVNX0hBTkRMRV9JTkZPUk1BVElPTiwg KlBTWVNURU1fSEFORExFX0lORk9STUFUSU9OOworCiB0eXBlZGVmIExPTkcgS1BSSU9SSVRZOwog CiB0eXBlZGVmIHN0cnVjdCBfVk1fQ09VTlRFUlMKZGlmZiAtLWdpdCBhL3dpbnN1cC9jeWd3aW4v c2VsZWN0LmNjIGIvd2luc3VwL2N5Z3dpbi9zZWxlY3QuY2MKaW5kZXggMzNjMGMwYmIwLi5mMjdh NTE2ODMgMTAwNjQ0Ci0tLSBhL3dpbnN1cC9jeWd3aW4vc2VsZWN0LmNjCisrKyBiL3dpbnN1cC9j eWd3aW4vc2VsZWN0LmNjCkBAIC02NDEsMTAgKzY0MSwxNiBAQCBwaXBlX2RhdGFfYXZhaWxhYmxl IChpbnQgZmQsIGZoYW5kbGVyX2Jhc2UgKmZoLCBIQU5ETEUgaCwgYm9vbCB3cml0aW5nKQogICAg ICAgaWYgKGZoLT5nZXRfZGV2aWNlICgpID09IEZIX1BJUEVXICYmIGZwbGkuV3JpdGVRdW90YUF2 YWlsYWJsZSA9PSAwKQogCXsKIAkgIEhBTkRMRSBxdWVyeV9oZGwgPSAoKGZoYW5kbGVyX3BpcGUg KikgZmgpLT5nZXRfcXVlcnlfaGFuZGxlICgpOworCSAgaWYgKCFxdWVyeV9oZGwpCisJICAgIHF1 ZXJ5X2hkbCA9ICgoZmhhbmRsZXJfcGlwZSAqKSBmaCktPnRlbXBvcmFyeV9xdWVyeV9oZGwgKCk7 CiAJICBpZiAoIXF1ZXJ5X2hkbCkKIAkgICAgcmV0dXJuIDE7IC8qIFdlIGNhbm5vdCBrbm93IGFj dHVhbCB3cml0ZSBwaXBlIHNwYWNlLiAqLwogCSAgRFdPUkQgbmJ5dGVzX2luX3BpcGU7Ci0JICBp ZiAoIVBlZWtOYW1lZFBpcGUgKHF1ZXJ5X2hkbCwgTlVMTCwgMCwgTlVMTCwgJm5ieXRlc19pbl9w aXBlLCBOVUxMKSkKKwkgIEJPT0wgcmVzID0KKwkgICAgUGVla05hbWVkUGlwZSAocXVlcnlfaGRs LCBOVUxMLCAwLCBOVUxMLCAmbmJ5dGVzX2luX3BpcGUsIE5VTEwpOworCSAgaWYgKCEoKGZoYW5k bGVyX3BpcGUgKikgZmgpLT5nZXRfcXVlcnlfaGFuZGxlICgpKQorCSAgICBDbG9zZUhhbmRsZSAo cXVlcnlfaGRsKTsgLyogQ2xvc2UgdGVtcG9yYXJ5IHF1ZXJ5X2hkbCAqLworCSAgaWYgKCFyZXMp CiAJICAgIHJldHVybiAxOwogCSAgZnBsaS5Xcml0ZVF1b3RhQXZhaWxhYmxlID0gZnBsaS5JbmJv dW5kUXVvdGEgLSBuYnl0ZXNfaW5fcGlwZTsKIAl9Ci0tIAoyLjMzLjAKCg== --Multipart=_Tue__21_Sep_2021_08_22_30_+0900_+s8UG6s0dJAtgaj2--