From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from conssluserg-06.nifty.com (conssluserg-06.nifty.com [210.131.2.91]) by sourceware.org (Postfix) with ESMTPS id 326943858D3C for ; Mon, 20 Sep 2021 22:17:17 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 326943858D3C 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-06.nifty.com with ESMTP id 18KMGjHd007256 for ; Tue, 21 Sep 2021 07:16:45 +0900 DKIM-Filter: OpenDKIM Filter v2.10.3 conssluserg-06.nifty.com 18KMGjHd007256 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nifty.ne.jp; s=dec2015msa; t=1632176205; bh=ZEP7RvB1g8npsKMdRaZiKRIHEUFEtO2JSQ+CQ2MYQv8=; h=Date:From:To:Subject:In-Reply-To:References:From; b=m6emeHptyNyDp2D6SwY0sUaZImux3NfhTIu0dTtvKA/sGGGfnIAtKR1BQl6e0bIVn FPIptT6RtHHFLpxzn1vtsI++BRcyJfSYxJ8eOopfXyC6rwSgm0fvT7hE+J+p4WzRd+ Plafk4CteQdVKne1hoQt9eS0DB/6AEe4COuhnVZdEJy7h5zhexZOdGdgXJbvXt65p+ fUVN1lZM5cusEGGx+wVCNxkCYBAWslR86jj0J/5EjZcOfEjpBl5N2dip7iQZFchoHS gx2nDQrqqpC/gLKdeFGsMpiv9lnKPIjrxEaDPanoKyCDhRujqcR5vpYkUN1EOLinkU 8U25jRxg1QQLA== X-Nifty-SrcIP: [110.4.221.123] Date: Tue, 21 Sep 2021 07:16:52 +0900 From: Takashi Yano To: cygwin-developers@cygwin.com Subject: Re: cygrunsrv + sshd + rsync = 20 times too slow -- throttled? Message-Id: <20210921071652.a7885fa2d5f89db844ed1119@nifty.ne.jp> In-Reply-To: <2bdbd4bd-a9fd-ee74-58c5-0e102da111e9@cornell.edu> References: <20210907122631.65452be8d021ec72259431d5@nifty.ne.jp> <20210909124115.555c6be15d675500617d284a@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> 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_07_16_52_+0900_2y5dfU3KCkY=u6lN" 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 22:17:18 -0000 This is a multi-part message in MIME format. --Multipart=_Tue__21_Sep_2021_07_16_52_+0900_2y5dfU3KCkY=u6lN Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit On Mon, 20 Sep 2021 17:39:54 -0400 Ken Brown wrote: > I'll push it tomorrow unless you find something that needs to be changed before > then. typedef of SYSTEM_HANDLE_TABLE_ENTRY_INFO and SYSTEM_HANDLE_INFORMATION are moved into ntdll.h -- Takashi Yano --Multipart=_Tue__21_Sep_2021_07_16_52_+0900_2y5dfU3KCkY=u6lN Content-Type: application/octet-stream; name="v3-0001-Cygwin-pipe-Introduce-tentative-query_hdl.patch" Content-Disposition: attachment; filename="v3-0001-Cygwin-pipe-Introduce-tentative-query_hdl.patch" Content-Transfer-Encoding: base64 RnJvbSA5ODlkMWI3ZWExYjI0NDhlODg3YWMzODdjZTY5ODI0NzNiNDM5NzY4IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBUYWthc2hpIFlhbm8gPHRha2FzaGkueWFub0BuaWZ0eS5uZS5q cD4KRGF0ZTogVHVlLCAyMSBTZXAgMjAyMSAwNzowOTo1MSArMDkwMApTdWJqZWN0OiBbUEFUQ0gg djNdIEN5Z3dpbjogcGlwZTogSW50cm9kdWNlIHRlbnRhdGl2ZSBxdWVyeV9oZGwuCgotIFRoZSBj b21taXQgZjc5YTQ2MTEgaW50cm9kdWNlZCBxdWVyeV9oZGwgd2hpY2ggaXMgdGhlIHJlYWQgcGlw ZQogIGhhbmRsZSBrZXB0IGluIHRoZSB3cml0ZSBwaXBlIGluc3RhbmNlIGluIG9yZGVyIHRvIGRl dGVybWluZSBpZgogIHRoZSBwaXBlIGlzIHJlYWR5IHRvIHdyaXRlIGluIHNlbGVjdCgpLiBUaGlz IGltcGxlbWVudGF0aW9uIGhhcwogIGEgcG90ZW50aWFsIHJpc2sgdGhhdCB3cml0ZSBzaWRlIGZh aWxzIHRvIGRldGVjdCB0aGUgY2xvc3VyZSBvZgogIHJlYWQgc2lkZSBpZiBtb3JlIHRoYW4gb25l IHdyaXRlcnMgZXhpc3QgYW5kIG9uZSBvZiB0aGVtIGlzIG5vbi0KICBjeWd3aW4gcHJvY2Vzcy4K CiAgV2l0aCB0aGlzIHBhdGNoLCB0aGUgc3RyYXRlZ3kgb2YgY29tbWl0IGY3OWE0NjExIGlzIHVz ZWQgb25seSBpZgogIHRoZSBwcm9jZXNzIGlzIHJ1bm5pbmcgYXMgYSBzZXJ2aWNlLiBGb3Igbm9y bWFsIHByb2Nlc3MsIGluc3RlYWQKICBvZiBrZWVwaW5nIHF1ZXJ5X2hkbCBpbiB0aGUgd3JpdGUg cGlwZSBpbnN0YW5jZSwgaXQgaXMgcmV0cmlldmVkCiAgdGVudGF0aXZlbHkgd2hlbiBzZWxlY3Qo KSBpcyBjYWxsZWQuIEFjdHVhbGx5LCB3ZSB3YW50IHRvIHVzZQogIHRlbnRhdGl2ZSBxdWVyeV9o ZGwgZm9yIGFsbCBwcm9jZXNzZXMsIGhvd2V2ZXIsIGl0IGRvZXMgbm90IHdvcmsKICBmb3Igc2Vy dmljZSBwcm9jZXNzZXMgZHVlIHRvIE9wZW5Qcm9jZXNzKCkgZmFpbHVyZS4KLS0tCiB3aW5zdXAv Y3lnd2luL2ZoYW5kbGVyLmggICAgICAgfCAgIDMgKwogd2luc3VwL2N5Z3dpbi9maGFuZGxlcl9w aXBlLmNjIHwgMTE5ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLQogd2luc3VwL2N5 Z3dpbi9udGRsbC5oICAgICAgICAgIHwgIDE3ICsrKysrCiB3aW5zdXAvY3lnd2luL3NlbGVjdC5j YyAgICAgICAgfCAgIDggKystCiA0IGZpbGVzIGNoYW5nZWQsIDE0MSBpbnNlcnRpb25zKCspLCA2 IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3dpbnN1cC9jeWd3aW4vZmhhbmRsZXIuaCBiL3dp bnN1cC9jeWd3aW4vZmhhbmRsZXIuaAppbmRleCAzNDcxZTk1YjkuLmQxMTQ5ZDMwMSAxMDA2NDQK LS0tIGEvd2luc3VwL2N5Z3dpbi9maGFuZGxlci5oCisrKyBiL3dpbnN1cC9jeWd3aW4vZmhhbmRs ZXIuaApAQCAtMTE5MSw2ICsxMTkxLDggQEAgcHJpdmF0ZToKICAgcGlkX3QgcG9wZW5fcGlkOwog ICBIQU5ETEUgcXVlcnlfaGRsOwogICBIQU5ETEUgaGRsX2NudF9tdHg7CisgIEhBTkRMRSBxdWVy eV9oZGxfcHJvYzsKKyAgSEFORExFIHF1ZXJ5X2hkbF92YWx1ZTsKICAgdm9pZCByZWxlYXNlX3Nl bGVjdF9zZW0gKGNvbnN0IGNoYXIgKik7CiBwdWJsaWM6CiAgIGZoYW5kbGVyX3BpcGUgKCk7CkBA IC0xMjQ5LDYgKzEyNTEsNyBAQCBwdWJsaWM6CiAgICAgICB9CiAgIH0KICAgYm9vbCByZWFkZXJf Y2xvc2VkICgpOworICBIQU5ETEUgdGVudGF0aXZlX3F1ZXJ5X2hkbCAoKTsKIH07CiAKICNkZWZp bmUgQ1lHV0lOX0ZJRk9fUElQRV9OQU1FX0xFTiAgICAgNDcKZGlmZiAtLWdpdCBhL3dpbnN1cC9j eWd3aW4vZmhhbmRsZXJfcGlwZS5jYyBiL3dpbnN1cC9jeWd3aW4vZmhhbmRsZXJfcGlwZS5jYwpp bmRleCA2YjQxYTc1NWYuLjNjZmE3OGYyOCAxMDA2NDQKLS0tIGEvd2luc3VwL2N5Z3dpbi9maGFu ZGxlcl9waXBlLmNjCisrKyBiL3dpbnN1cC9jeWd3aW4vZmhhbmRsZXJfcGlwZS5jYwpAQCAtMTks NiArMTksNyBAQCBkZXRhaWxzLiAqLwogI2luY2x1ZGUgImN5Z2hlYXAuaCIKICNpbmNsdWRlICJw aW5mby5oIgogI2luY2x1ZGUgInNoYXJlZF9pbmZvLmgiCisjaW5jbHVkZSAidGxzX3BidWYuaCIK IAogLyogVGhpcyBpcyBvbmx5IHRvIGJlIHVzZWQgZm9yIHdyaXRpbmcuICBXaGVuIHJlYWRpbmcs CiBTVEFUVVNfUElQRV9FTVBUWSBzaW1wbHkgbWVhbnMgdGhlcmUncyBubyBkYXRhIHRvIGJlIHJl YWQuICovCkBAIC0yMjAsOCArMjIxLDYgQEAgZmhhbmRsZXJfcGlwZTo6b3Blbl9zZXR1cCAoaW50 IGZsYWdzKQogCSAgZ290byBlcnJfY2xvc2VfcmVhZF9tdHg7CiAJfQogICAgIH0KLSAgaWYgKGdl dF9kZXYgKCkgPT0gRkhfUElQRVcgJiYgIXF1ZXJ5X2hkbCkKLSAgICBzZXRfcGlwZV9ub25fYmxv Y2tpbmcgKGlzX25vbmJsb2NraW5nICgpKTsKICAgcmV0dXJuIHRydWU7CiAKIGVycl9jbG9zZV9y ZWFkX210eDoKQEAgLTI2Nyw3ICsyNjYsNyBAQCBmaGFuZGxlcl9waXBlOjpyZWxlYXNlX3NlbGVj dF9zZW0gKGNvbnN0IGNoYXIgKmZyb20pCiAgICAgICAtIGdldF9vYmpfaGFuZGxlX2NvdW50IChy ZWFkX210eCk7CiAgIGVsc2UgLyogTnVtYmVyIG9mIHNlbGVjdCgpIGNhbGwgKi8KICAgICBuX3Jl bGVhc2UgPSBnZXRfb2JqX2hhbmRsZV9jb3VudCAoc2VsZWN0X3NlbSkKLSAgICAgIC0gZ2V0X29i al9oYW5kbGVfY291bnQgKHF1ZXJ5X2hkbCk7CisgICAgICAtIGdldF9vYmpfaGFuZGxlX2NvdW50 IChoZGxfY250X210eCk7CiAgIGRlYnVnX3ByaW50ZigiJXMoJXMpIHJlbGVhc2UgJWQiLCBmcm9t LAogCSAgICAgICBnZXRfZGV2ICgpID09IEZIX1BJUEVSID8gIlBJUEVSIiA6ICJQSVBFVyIsIG5f cmVsZWFzZSk7CiAgIGlmIChuX3JlbGVhc2UpCkBAIC02NjcsNiArNjY2LDggQEAgZmhhbmRsZXJf cGlwZTo6Y2xvc2UgKCkKICAgaW50IHJldCA9IGZoYW5kbGVyX2Jhc2U6OmNsb3NlICgpOwogICBS ZWxlYXNlTXV0ZXggKGhkbF9jbnRfbXR4KTsKICAgQ2xvc2VIYW5kbGUgKGhkbF9jbnRfbXR4KTsK KyAgaWYgKHF1ZXJ5X2hkbF9wcm9jKQorICAgIENsb3NlSGFuZGxlIChxdWVyeV9oZGxfcHJvYyk7 CiAgIHJldHVybiByZXQ7CiB9CiAKQEAgLTgyMCw2ICs4MjEsMTMgQEAgZmhhbmRsZXJfcGlwZTo6 Y3JlYXRlIChMUFNFQ1VSSVRZX0FUVFJJQlVURVMgc2FfcHRyLCBQSEFORExFIHIsIFBIQU5ETEUg dywKICAgcmV0dXJuIDA7CiB9CiAKK2lubGluZSBzdGF0aWMgYm9vbAoraXNfcnVubmluZ19hc19z ZXJ2aWNlICh2b2lkKQoreworICByZXR1cm4gY2hlY2tfdG9rZW5fbWVtYmVyc2hpcCAod2VsbF9r bm93bl9zZXJ2aWNlX3NpZCkKKyAgICB8fCBjeWdoZWFwLT51c2VyLnNhdmVkX3NpZCAoKSA9PSB3 ZWxsX2tub3duX3N5c3RlbV9zaWQ7Cit9CisKIC8qIFRoZSBuZXh0IHZlcnNpb24gb2YgZmhhbmRs ZXJfcGlwZTo6Y3JlYXRlIHVzZWQgdG8gY2FsbCB0aGUgcHJldmlvdXMKICAgIHZlcnNpb24uICBC dXQgdGhlIHJlYWQgaGFuZGxlIGNyZWF0ZWQgYnkgdGhlIGxhdHRlciBkb2Vzbid0IGhhdmUKICAg IEZJTEVfV1JJVEVfQVRUUklCVVRFUyBhY2Nlc3MgdW5sZXNzIHRoZSBwaXBlIGlzIGNyZWF0ZWQg d2l0aApAQCAtODc0LDcgKzg4Miw4IEBAIGZoYW5kbGVyX3BpcGU6OmNyZWF0ZSAoZmhhbmRsZXJf cGlwZSAqZmhzWzJdLCB1bnNpZ25lZCBwc2l6ZSwgaW50IG1vZGUpCiAJCQkwLCBzYS0+YkluaGVy aXRIYW5kbGUsIERVUExJQ0FURV9TQU1FX0FDQ0VTUykpCiAgICAgZ290byBlcnJfY2xvc2Vfc2Vs ZWN0X3NlbTA7CiAKLSAgaWYgKCFEdXBsaWNhdGVIYW5kbGUgKEdldEN1cnJlbnRQcm9jZXNzICgp LCByLAorICBpZiAoaXNfcnVubmluZ19hc19zZXJ2aWNlICgpICYmCisgICAgICAhRHVwbGljYXRl SGFuZGxlIChHZXRDdXJyZW50UHJvY2VzcyAoKSwgciwKIAkJCUdldEN1cnJlbnRQcm9jZXNzICgp LCAmZmhzWzFdLT5xdWVyeV9oZGwsCiAJCQlGSUxFX1JFQURfREFUQSwgc2EtPmJJbmhlcml0SGFu ZGxlLCAwKSkKICAgICBnb3RvIGVycl9jbG9zZV9zZWxlY3Rfc2VtMTsKQEAgLTg5Myw3ICs5MDIs OCBAQCBmaGFuZGxlcl9waXBlOjpjcmVhdGUgKGZoYW5kbGVyX3BpcGUgKmZoc1syXSwgdW5zaWdu ZWQgcHNpemUsIGludCBtb2RlKQogZXJyX2Nsb3NlX2hkbF9jbnRfbXR4MDoKICAgQ2xvc2VIYW5k bGUgKGZoc1swXS0+aGRsX2NudF9tdHgpOwogZXJyX2Nsb3NlX3F1ZXJ5X2hkbDoKLSAgQ2xvc2VI YW5kbGUgKGZoc1sxXS0+cXVlcnlfaGRsKTsKKyAgaWYgKGZoc1sxXS0+cXVlcnlfaGRsKQorICAg IENsb3NlSGFuZGxlIChmaHNbMV0tPnF1ZXJ5X2hkbCk7CiBlcnJfY2xvc2Vfc2VsZWN0X3NlbTE6 CiAgIENsb3NlSGFuZGxlIChmaHNbMV0tPnNlbGVjdF9zZW0pOwogZXJyX2Nsb3NlX3NlbGVjdF9z ZW0wOgpAQCAtOTQ2LDYgKzk1Niw3IEBAIG50X2NyZWF0ZSAoTFBTRUNVUklUWV9BVFRSSUJVVEVT IHNhX3B0ciwgSEFORExFICZyLCBIQU5ETEUgJncsCiAJCQkJIEdldEN1cnJlbnRQcm9jZXNzSWQg KCkpOwogCiAgIGFjY2VzcyA9IEdFTkVSSUNfUkVBRCB8IEZJTEVfV1JJVEVfQVRUUklCVVRFUyB8 IFNZTkNIUk9OSVpFOworICBhY2Nlc3MgfD0gRklMRV9XUklURV9FQTsgLyogQWRkIHRoaXMgcmln aHQgYXMgYSBtYXJrZXIgb2YgY3lnd2luIHJlYWQgcGlwZSAqLwogCiAgIFVMT05HIHBpcGVfdHlw ZSA9IHBpcGVfYnl0ZSA/IEZJTEVfUElQRV9CWVRFX1NUUkVBTV9UWVBFCiAgICAgOiBGSUxFX1BJ UEVfTUVTU0FHRV9UWVBFOwpAQCAtMTExMiwzICsxMTIzLDEwMSBAQCBmaGFuZGxlcl9waXBlOjpm c3RhdHZmcyAoc3RydWN0IHN0YXR2ZnMgKnNmcykKICAgc2V0X2Vycm5vIChFQkFERik7CiAgIHJl dHVybiAtMTsKIH0KKworSEFORExFCitmaGFuZGxlcl9waXBlOjp0ZW50YXRpdmVfcXVlcnlfaGRs ICgpCit7CisgIGlmIChnZXRfZGV2ICgpICE9IEZIX1BJUEVXKQorICAgIHJldHVybiBOVUxMOwor ICAvKiBUcnkgcHJvY2VzcyBoYW5kbGUgb3BlbmVkIGFuZCBwaXBlIGhhbmRsZSB2YWx1ZSBjYWNo ZWQgZmlyc3QKKyAgICAgaW4gb3JkZXIgdG8gcmVkdWNlIG92ZXJoZWFkLiAqLworICBpZiAocXVl cnlfaGRsX3Byb2MgJiYgcXVlcnlfaGRsX3ZhbHVlKQorICAgIHsKKyAgICAgIEhBTkRMRSBoOwor ICAgICAgaWYgKER1cGxpY2F0ZUhhbmRsZSAocXVlcnlfaGRsX3Byb2MsIHF1ZXJ5X2hkbF92YWx1 ZSwKKwkJCSAgIEdldEN1cnJlbnRQcm9jZXNzICgpLCAmaCwgRklMRV9SRUFEX0RBVEEsIDAsIDAp KQorCXJldHVybiBoOworICAgICAgQ2xvc2VIYW5kbGUgKHF1ZXJ5X2hkbF9wcm9jKTsKKyAgICAg IHF1ZXJ5X2hkbF9wcm9jID0gTlVMTDsKKyAgICAgIHF1ZXJ5X2hkbF92YWx1ZSA9IE5VTEw7Cisg ICAgfQorCisgIFVMT05HIGxlbjsKKyAgTlRTVEFUVVMgc3RhdHVzOworICB0bXBfcGF0aGJ1ZiB0 cDsKKyAgT0JKRUNUX05BTUVfSU5GT1JNQVRJT04gKm50Zm4gPShPQkpFQ1RfTkFNRV9JTkZPUk1B VElPTiAqKSB0cC53X2dldCAoKTsKKyAgc3RhdHVzID0gTnRRdWVyeU9iamVjdCAoZ2V0X2hhbmRs ZSAoKSwgT2JqZWN0TmFtZUluZm9ybWF0aW9uLCBudGZuLAorCQkJICA2NTUzNiwgJmxlbik7Cisg IGlmICghTlRfU1VDQ0VTUyAoc3RhdHVzKSkKKyAgICByZXR1cm4gTlVMTDsgLyogTm9uIGN5Z3dp biBwaXBlPyAqLworICBXQ0hBUiBuYW1lW01BWF9QQVRIXTsKKyAgaW50IG5hbWVsZW4gPSBtaW4g KG50Zm4tPk5hbWUuTGVuZ3RoIC8gc2l6ZW9mIChXQ0hBUiksIE1BWF9QQVRILTEpOworICBtZW1j cHkgKG5hbWUsIG50Zm4tPk5hbWUuQnVmZmVyLCBuYW1lbGVuICogc2l6ZW9mIChXQ0hBUikpOwor ICBuYW1lW25hbWVsZW5dID0gTCdcMCc7CisgIHVpbnQ2NF90IGtleTsKKyAgRFdPUkQgcGlkOwor ICBMT05HIGlkOworICBpZiAoc3dzY2FuZiAobmFtZSwgTCJcXERldmljZVxcTmFtZWRQaXBlXFwl bGx4LSV1LXBpcGUtbnQtMHgleCIsCisJICAgICAgICZrZXksICZwaWQsICZpZCkgIT0gMykKKyAg ICByZXR1cm4gTlVMTDsgLyogTm9uIGN5Z3dpbiBwaXBlPyAqLworCisgIFNJWkVfVCBuX2hhbmRs ZSA9IDY1NTM2OworICBTWVNURU1fSEFORExFX0lORk9STUFUSU9OICpzaGk7CisgIGRvCisgICAg eworICAgICAgU0laRV9UIG5ieXRlcyA9CisJc2l6ZW9mIChVTE9ORykgKyBuX2hhbmRsZSAqIHNp emVvZiAoU1lTVEVNX0hBTkRMRV9UQUJMRV9FTlRSWV9JTkZPKTsKKyAgICAgIHNoaSA9IChTWVNU RU1fSEFORExFX0lORk9STUFUSU9OICopIEhlYXBBbGxvYyAoR2V0UHJvY2Vzc0hlYXAgKCksCisJ CQkJCQkgICAgIDAsIG5ieXRlcyk7CisgICAgICBzdGF0dXMgPSBOdFF1ZXJ5U3lzdGVtSW5mb3Jt YXRpb24gKFN5c3RlbUhhbmRsZUluZm9ybWF0aW9uLAorCQkJCQkgc2hpLCBuYnl0ZXMsIE5VTEwp OworICAgICAgaWYgKE5UX1NVQ0NFU1MgKHN0YXR1cykpCisJYnJlYWs7CisgICAgICBIZWFwRnJl ZSAoR2V0UHJvY2Vzc0hlYXAgKCksIDAsIHNoaSk7CisgICAgICBuX2hhbmRsZSAqPSAyOworICAg IH0KKyAgd2hpbGUgKG5faGFuZGxlIDwgKDFMPDwyMCkpOworICBpZiAoIU5UX1NVQ0NFU1MgKHN0 YXR1cykpCisgICAgcmV0dXJuIE5VTEw7CisKKyAgSEFORExFIHFoID0gTlVMTDsKKyAgZm9yIChM T05HIGkgPSAoTE9ORykgc2hpLT5OdW1iZXJPZkhhbmRsZXMgLSAxOyBpID49IDA7IGktLSkKKyAg ICB7CisgICAgICAvKiBDaGVjayBmb3IgdGhlIHBlY3VsaWFyaXR5IG9mIGN5Z3dpbiByZWFkIHBp cGUgKi8KKyAgICAgIERXT1JEIGFjY2VzcyA9IEZJTEVfUkVBRF9EQVRBIHwgRklMRV9SRUFEX0VB IHwgRklMRV9XUklURV9FQSAvKiBtYXJrZXIgKi8KKwl8IEZJTEVfUkVBRF9BVFRSSUJVVEVTIHwg RklMRV9XUklURV9BVFRSSUJVVEVTCisJfCBSRUFEX0NPTlRST0wgfCBTWU5DSFJPTklaRTsKKyAg ICAgIGlmIChzaGktPkhhbmRsZXNbaV0uR3JhbnRlZEFjY2VzcyAhPSBhY2Nlc3MpCisJY29udGlu dWU7CisKKyAgICAgIC8qIFJldHJpZXZlIGhhbmRsZSAqLworICAgICAgSEFORExFIHByb2MgPSBP cGVuUHJvY2VzcyAoUFJPQ0VTU19EVVBfSEFORExFLCAwLAorCQkJCSBzaGktPkhhbmRsZXNbaV0u VW5pcXVlUHJvY2Vzc0lkKTsKKyAgICAgIGlmICghcHJvYykKKwljb250aW51ZTsKKyAgICAgIEhB TkRMRSBoID0gKEhBTkRMRSkoaW50cHRyX3QpIHNoaS0+SGFuZGxlc1tpXS5IYW5kbGVWYWx1ZTsK KyAgICAgIEJPT0wgcmVzICA9IER1cGxpY2F0ZUhhbmRsZSAocHJvYywgaCwgR2V0Q3VycmVudFBy b2Nlc3MgKCksICZoLAorCQkJCSAgIEZJTEVfUkVBRF9EQVRBLCAwLCAwKTsKKyAgICAgIGlmICgh cmVzKQorCWdvdG8gY2xvc2VfcHJvYzsKKworICAgICAgLyogQ2hlY2sgb2JqZWN0IG5hbWUgKi8K KyAgICAgIHN0YXR1cyA9IE50UXVlcnlPYmplY3QgKGgsIE9iamVjdE5hbWVJbmZvcm1hdGlvbiwg bnRmbiwgNjU1MzYsICZsZW4pOworICAgICAgaWYgKCFOVF9TVUNDRVNTIChzdGF0dXMpKQorCWdv dG8gY2xvc2VfaGFuZGxlOworICAgICAgbnRmbi0+TmFtZS5CdWZmZXJbbnRmbi0+TmFtZS5MZW5n dGggLyBzaXplb2YgKFdDSEFSKV0gPSBMJ1wwJzsKKyAgICAgIGlmICh3Y3NjbXAgKG5hbWUsIG50 Zm4tPk5hbWUuQnVmZmVyKSA9PSAwKQorCXsKKwkgIHF1ZXJ5X2hkbF9wcm9jID0gcHJvYzsKKwkg IHF1ZXJ5X2hkbF92YWx1ZSA9IChIQU5ETEUpKGludHB0cl90KSBzaGktPkhhbmRsZXNbaV0uSGFu ZGxlVmFsdWU7CisJICBxaCA9IGg7CisJICBicmVhazsKKwl9CitjbG9zZV9oYW5kbGU6CisgICAg ICBDbG9zZUhhbmRsZSAoaCk7CitjbG9zZV9wcm9jOgorICAgICAgQ2xvc2VIYW5kbGUgKHByb2Mp OworICAgIH0KKyAgSGVhcEZyZWUgKEdldFByb2Nlc3NIZWFwICgpLCAwLCBzaGkpOworICByZXR1 cm4gcWg7Cit9CmRpZmYgLS1naXQgYS93aW5zdXAvY3lnd2luL250ZGxsLmggYi93aW5zdXAvY3ln d2luL250ZGxsLmgKaW5kZXggNDUwNGJkZjZkLi5iNDVkZDcwMmUgMTAwNjQ0Ci0tLSBhL3dpbnN1 cC9jeWd3aW4vbnRkbGwuaAorKysgYi93aW5zdXAvY3lnd2luL250ZGxsLmgKQEAgLTYyMCw2ICs2 MjAsMjMgQEAgdHlwZWRlZiBzdHJ1Y3QgX1NZU1RFTV9QUk9DRVNTT1JfUEVSRk9STUFOQ0VfSU5G T1JNQVRJT04KICAgVUxPTkcgSW50ZXJydXB0Q291bnQ7CiB9IFNZU1RFTV9QUk9DRVNTT1JfUEVS Rk9STUFOQ0VfSU5GT1JNQVRJT04sICpQU1lTVEVNX1BST0NFU1NPUl9QRVJGT1JNQU5DRV9JTkZP Uk1BVElPTjsKIAordHlwZWRlZiBzdHJ1Y3QgX1NZU1RFTV9IQU5ETEVfVEFCTEVfRU5UUllfSU5G TworeworICBVU0hPUlQgVW5pcXVlUHJvY2Vzc0lkOworICBVU0hPUlQgQ3JlYXRvckJhY2tUcmFj ZUluZGV4OworICBVQ0hBUiBPYmplY3RUeXBlSW5kZXg7CisgIFVDSEFSIEhhbmRsZUF0dHJpYnV0 ZXM7CisgIFVTSE9SVCBIYW5kbGVWYWx1ZTsKKyAgUFZPSUQgT2JqZWN0OworICBVTE9ORyBHcmFu dGVkQWNjZXNzOworfSBTWVNURU1fSEFORExFX1RBQkxFX0VOVFJZX0lORk8sICpQU1lTVEVNX0hB TkRMRV9UQUJMRV9FTlRSWV9JTkZPOworCit0eXBlZGVmIHN0cnVjdCBfU1lTVEVNX0hBTkRMRV9J TkZPUk1BVElPTgoreworICBVTE9ORyBOdW1iZXJPZkhhbmRsZXM7CisgIFNZU1RFTV9IQU5ETEVf VEFCTEVfRU5UUllfSU5GTyBIYW5kbGVzWzFdOworfSBTWVNURU1fSEFORExFX0lORk9STUFUSU9O LCBQU1lTVEVNX0hBTkRMRV9JTkZPUk1BVElPTjsKKwogdHlwZWRlZiBMT05HIEtQUklPUklUWTsK IAogdHlwZWRlZiBzdHJ1Y3QgX1ZNX0NPVU5URVJTCmRpZmYgLS1naXQgYS93aW5zdXAvY3lnd2lu L3NlbGVjdC5jYyBiL3dpbnN1cC9jeWd3aW4vc2VsZWN0LmNjCmluZGV4IDMzYzBjMGJiMC4uMTU1 ODliNzExIDEwMDY0NAotLS0gYS93aW5zdXAvY3lnd2luL3NlbGVjdC5jYworKysgYi93aW5zdXAv Y3lnd2luL3NlbGVjdC5jYwpAQCAtNjQxLDEwICs2NDEsMTYgQEAgcGlwZV9kYXRhX2F2YWlsYWJs ZSAoaW50IGZkLCBmaGFuZGxlcl9iYXNlICpmaCwgSEFORExFIGgsIGJvb2wgd3JpdGluZykKICAg ICAgIGlmIChmaC0+Z2V0X2RldmljZSAoKSA9PSBGSF9QSVBFVyAmJiBmcGxpLldyaXRlUXVvdGFB dmFpbGFibGUgPT0gMCkKIAl7CiAJICBIQU5ETEUgcXVlcnlfaGRsID0gKChmaGFuZGxlcl9waXBl ICopIGZoKS0+Z2V0X3F1ZXJ5X2hhbmRsZSAoKTsKKwkgIGlmICghcXVlcnlfaGRsKQorCSAgICBx dWVyeV9oZGwgPSAoKGZoYW5kbGVyX3BpcGUgKikgZmgpLT50ZW50YXRpdmVfcXVlcnlfaGRsICgp OwogCSAgaWYgKCFxdWVyeV9oZGwpCiAJICAgIHJldHVybiAxOyAvKiBXZSBjYW5ub3Qga25vdyBh Y3R1YWwgd3JpdGUgcGlwZSBzcGFjZS4gKi8KIAkgIERXT1JEIG5ieXRlc19pbl9waXBlOwotCSAg aWYgKCFQZWVrTmFtZWRQaXBlIChxdWVyeV9oZGwsIE5VTEwsIDAsIE5VTEwsICZuYnl0ZXNfaW5f cGlwZSwgTlVMTCkpCisJICBCT09MIHJlcyA9CisJICAgIFBlZWtOYW1lZFBpcGUgKHF1ZXJ5X2hk bCwgTlVMTCwgMCwgTlVMTCwgJm5ieXRlc19pbl9waXBlLCBOVUxMKTsKKwkgIGlmICghKChmaGFu ZGxlcl9waXBlICopIGZoKS0+Z2V0X3F1ZXJ5X2hhbmRsZSAoKSkKKwkgICAgQ2xvc2VIYW5kbGUg KHF1ZXJ5X2hkbCk7IC8qIENsb3NlIHRlbnRhdGl2ZSBxdWVyeV9oZGwgKi8KKwkgIGlmICghcmVz KQogCSAgICByZXR1cm4gMTsKIAkgIGZwbGkuV3JpdGVRdW90YUF2YWlsYWJsZSA9IGZwbGkuSW5i b3VuZFF1b3RhIC0gbmJ5dGVzX2luX3BpcGU7CiAJfQotLSAKMi4zMy4wCgo= --Multipart=_Tue__21_Sep_2021_07_16_52_+0900_2y5dfU3KCkY=u6lN--