From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from conssluserg-04.nifty.com (conssluserg-04.nifty.com [210.131.2.83]) by sourceware.org (Postfix) with ESMTPS id 387B33858402 for ; Tue, 21 Sep 2021 08:31:13 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 387B33858402 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-04.nifty.com with ESMTP id 18L8UZWe003641 for ; Tue, 21 Sep 2021 17:30:35 +0900 DKIM-Filter: OpenDKIM Filter v2.10.3 conssluserg-04.nifty.com 18L8UZWe003641 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nifty.ne.jp; s=dec2015msa; t=1632213035; bh=t1DPyBqEfxyU0n2+oqL6OznpfmarMhMX+mC3heyxBJ8=; h=Date:From:To:Subject:In-Reply-To:References:From; b=kr+wa7nuz8H78hjrR7khoTB+vazXc13dY+enyVs0NB6pxvPDG3OSWZ2g/O7Xe4RZO V1KuT6ran4ykB4CgQJYIX8BIjtXzUUBLUa3bUIcLNsjTXg9ysZTpKIzpnTSPf58fjF uonNyAcGteDbiwdEILApet4cEtOtjOASNIsjRWTLNe4nvXJKgPZ6Jhiwp7bmPX02DF aAaA1Z4ToOqug+Fqw1jyf2a+1OVB01zjelDhO0KtWc6ITvwPhb/cfJIT3sCmbImqPP XtF6SDJJIZba80ie4ekxQd+ig65zmTMcJiOFhlfFYyYaJVNTj5yjhklHkMrl1gA1kG 0dMoF4L+QQX+w== X-Nifty-SrcIP: [110.4.221.123] Date: Tue, 21 Sep 2021 17:30:35 +0900 From: Takashi Yano To: cygwin-developers@cygwin.com Subject: Re: cygrunsrv + sshd + rsync = 20 times too slow -- throttled? Message-Id: <20210921173035.d3f61cb132b7dab80fed352c@nifty.ne.jp> In-Reply-To: <20210921082230.4e7f2421c729c0f74b4a8cfe@nifty.ne.jp> References: <20210907122631.65452be8d021ec72259431d5@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> <20210921082230.4e7f2421c729c0f74b4a8cfe@nifty.ne.jp> 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_17_30_35_+0900_Dq15v/odNjSMb6aI" 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: Tue, 21 Sep 2021 08:31:16 -0000 This is a multi-part message in MIME format. --Multipart=_Tue__21_Sep_2021_17_30_35_+0900_Dq15v/odNjSMb6aI 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. * Add name check when cached information is used. * Confirm Name.Buffer returned by NtQueryObject() is not NULL. * Add error check for HeapAlloc(). -- Takashi Yano --Multipart=_Tue__21_Sep_2021_17_30_35_+0900_Dq15v/odNjSMb6aI Content-Type: application/octet-stream; name="v5-0001-Cygwin-pipe-Introduce-temprary-query_hdl.patch" Content-Disposition: attachment; filename="v5-0001-Cygwin-pipe-Introduce-temprary-query_hdl.patch" Content-Transfer-Encoding: base64 RnJvbSBhNDAwODM2NDY0ODk2NmJlYmQzZDJlNmVhOGNkNzQzOTc1MDhkZjM5IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBUYWthc2hpIFlhbm8gPHRha2FzaGkueWFub0BuaWZ0eS5uZS5q cD4KRGF0ZTogVHVlLCAyMSBTZXAgMjAyMSAxNjozNzoyMCArMDkwMApTdWJqZWN0OiBbUEFUQ0gg djVdICAgICBDeWd3aW46IHBpcGU6IEludHJvZHVjZSB0ZW1wcmFyeSBxdWVyeV9oZGwuCgogICAg LSBUaGUgY29tbWl0IGY3OWE0NjExIGludHJvZHVjZWQgcXVlcnlfaGRsIHdoaWNoIGlzIHRoZSBy ZWFkIHBpcGUKICAgICAgaGFuZGxlIGtlcHQgaW4gdGhlIHdyaXRlIHBpcGUgaW5zdGFuY2UgaW4g b3JkZXIgdG8gZGV0ZXJtaW5lIGlmCiAgICAgIHRoZSBwaXBlIGlzIHJlYWR5IHRvIHdyaXRlIGlu IHNlbGVjdCgpLiBUaGlzIGltcGxlbWVudGF0aW9uIGhhcwogICAgICBhIHBvdGVudGlhbCByaXNr IHRoYXQgd3JpdGUgc2lkZSBmYWlscyB0byBkZXRlY3QgdGhlIGNsb3N1cmUgb2YKICAgICAgcmVh ZCBzaWRlIGlmIG1vcmUgdGhhbiBvbmUgd3JpdGVycyBleGlzdCBhbmQgb25lIG9mIHRoZW0gaXMg bm9uLQogICAgICBjeWd3aW4gcHJvY2Vzcy4KCiAgICAgIFdpdGggdGhpcyBwYXRjaCwgdGhlIHN0 cmF0ZWd5IG9mIGNvbW1pdCBmNzlhNDYxMSBpcyB1c2VkIG9ubHkgaWYKICAgICAgdGhlIHByb2Nl c3MgaXMgcnVubmluZyBhcyBhIHNlcnZpY2UuIEZvciBub3JtYWwgcHJvY2VzcywgaW5zdGVhZAog ICAgICBvZiBrZWVwaW5nIHF1ZXJ5X2hkbCBpbiB0aGUgd3JpdGUgcGlwZSBpbnN0YW5jZSwgaXQg aXMgcmV0cmlldmVkCiAgICAgIHRlbXBvcmFyaWx5IHdoZW4gc2VsZWN0KCkgaXMgY2FsbGVkLiBB Y3R1YWxseSwgd2Ugd2FudCB0byB1c2UKICAgICAgdGVucG9yYXJ5IHF1ZXJ5X2hkbCBmb3IgYWxs IHByb2Nlc3NlcywgaG93ZXZlciwgaXQgZG9lcyBub3Qgd29yawogICAgICBmb3Igc2VydmljZSBw cm9jZXNzZXMgZHVlIHRvIE9wZW5Qcm9jZXNzKCkgZmFpbHVyZS4KLS0tCiB3aW5zdXAvY3lnd2lu L2ZoYW5kbGVyLmggICAgICAgfCAgIDUgKysKIHdpbnN1cC9jeWd3aW4vZmhhbmRsZXJfcGlwZS5j YyB8IDEzNiArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0KIHdpbnN1cC9jeWd3aW4v bnRkbGwuaCAgICAgICAgICB8ICAxNyArKysrKwogd2luc3VwL2N5Z3dpbi9zZWxlY3QuY2MgICAg ICAgIHwgICA4ICstCiA0IGZpbGVzIGNoYW5nZWQsIDE2MCBpbnNlcnRpb25zKCspLCA2IGRlbGV0 aW9ucygtKQoKZGlmZiAtLWdpdCBhL3dpbnN1cC9jeWd3aW4vZmhhbmRsZXIuaCBiL3dpbnN1cC9j eWd3aW4vZmhhbmRsZXIuaAppbmRleCAzNDcxZTk1YjkuLjgxZDVkMGE0MyAxMDA2NDQKLS0tIGEv d2luc3VwL2N5Z3dpbi9maGFuZGxlci5oCisrKyBiL3dpbnN1cC9jeWd3aW4vZmhhbmRsZXIuaApA QCAtMTE5MSw2ICsxMTkxLDEwIEBAIHByaXZhdGU6CiAgIHBpZF90IHBvcGVuX3BpZDsKICAgSEFO RExFIHF1ZXJ5X2hkbDsKICAgSEFORExFIGhkbF9jbnRfbXR4OworICBIQU5ETEUgcXVlcnlfaGRs X3Byb2M7CisgIEhBTkRMRSBxdWVyeV9oZGxfdmFsdWU7CisgIERXT1JEIHBpcGVuYW1lX3BpZDsK KyAgTE9ORyBwaXBlbmFtZV9pZDsKICAgdm9pZCByZWxlYXNlX3NlbGVjdF9zZW0gKGNvbnN0IGNo YXIgKik7CiBwdWJsaWM6CiAgIGZoYW5kbGVyX3BpcGUgKCk7CkBAIC0xMjQ5LDYgKzEyNTMsNyBA QCBwdWJsaWM6CiAgICAgICB9CiAgIH0KICAgYm9vbCByZWFkZXJfY2xvc2VkICgpOworICBIQU5E TEUgdGVtcG9yYXJ5X3F1ZXJ5X2hkbCAoKTsKIH07CiAKICNkZWZpbmUgQ1lHV0lOX0ZJRk9fUElQ RV9OQU1FX0xFTiAgICAgNDcKZGlmZiAtLWdpdCBhL3dpbnN1cC9jeWd3aW4vZmhhbmRsZXJfcGlw ZS5jYyBiL3dpbnN1cC9jeWd3aW4vZmhhbmRsZXJfcGlwZS5jYwppbmRleCA2YjQxYTc1NWYuLmU5 NGRjYTZhYyAxMDA2NDQKLS0tIGEvd2luc3VwL2N5Z3dpbi9maGFuZGxlcl9waXBlLmNjCisrKyBi L3dpbnN1cC9jeWd3aW4vZmhhbmRsZXJfcGlwZS5jYwpAQCAtMTksNiArMTksNyBAQCBkZXRhaWxz LiAqLwogI2luY2x1ZGUgImN5Z2hlYXAuaCIKICNpbmNsdWRlICJwaW5mby5oIgogI2luY2x1ZGUg InNoYXJlZF9pbmZvLmgiCisjaW5jbHVkZSAidGxzX3BidWYuaCIKIAogLyogVGhpcyBpcyBvbmx5 IHRvIGJlIHVzZWQgZm9yIHdyaXRpbmcuICBXaGVuIHJlYWRpbmcsCiBTVEFUVVNfUElQRV9FTVBU WSBzaW1wbHkgbWVhbnMgdGhlcmUncyBubyBkYXRhIHRvIGJlIHJlYWQuICovCkBAIC0yMjAsOCAr MjIxLDYgQEAgZmhhbmRsZXJfcGlwZTo6b3Blbl9zZXR1cCAoaW50IGZsYWdzKQogCSAgZ290byBl cnJfY2xvc2VfcmVhZF9tdHg7CiAJfQogICAgIH0KLSAgaWYgKGdldF9kZXYgKCkgPT0gRkhfUElQ RVcgJiYgIXF1ZXJ5X2hkbCkKLSAgICBzZXRfcGlwZV9ub25fYmxvY2tpbmcgKGlzX25vbmJsb2Nr aW5nICgpKTsKICAgcmV0dXJuIHRydWU7CiAKIGVycl9jbG9zZV9yZWFkX210eDoKQEAgLTI2Nyw3 ICsyNjYsNyBAQCBmaGFuZGxlcl9waXBlOjpyZWxlYXNlX3NlbGVjdF9zZW0gKGNvbnN0IGNoYXIg KmZyb20pCiAgICAgICAtIGdldF9vYmpfaGFuZGxlX2NvdW50IChyZWFkX210eCk7CiAgIGVsc2Ug LyogTnVtYmVyIG9mIHNlbGVjdCgpIGNhbGwgKi8KICAgICBuX3JlbGVhc2UgPSBnZXRfb2JqX2hh bmRsZV9jb3VudCAoc2VsZWN0X3NlbSkKLSAgICAgIC0gZ2V0X29ial9oYW5kbGVfY291bnQgKHF1 ZXJ5X2hkbCk7CisgICAgICAtIGdldF9vYmpfaGFuZGxlX2NvdW50IChoZGxfY250X210eCk7CiAg IGRlYnVnX3ByaW50ZigiJXMoJXMpIHJlbGVhc2UgJWQiLCBmcm9tLAogCSAgICAgICBnZXRfZGV2 ICgpID09IEZIX1BJUEVSID8gIlBJUEVSIiA6ICJQSVBFVyIsIG5fcmVsZWFzZSk7CiAgIGlmIChu X3JlbGVhc2UpCkBAIC02NjcsNiArNjY2LDggQEAgZmhhbmRsZXJfcGlwZTo6Y2xvc2UgKCkKICAg aW50IHJldCA9IGZoYW5kbGVyX2Jhc2U6OmNsb3NlICgpOwogICBSZWxlYXNlTXV0ZXggKGhkbF9j bnRfbXR4KTsKICAgQ2xvc2VIYW5kbGUgKGhkbF9jbnRfbXR4KTsKKyAgaWYgKHF1ZXJ5X2hkbF9w cm9jKQorICAgIENsb3NlSGFuZGxlIChxdWVyeV9oZGxfcHJvYyk7CiAgIHJldHVybiByZXQ7CiB9 CiAKQEAgLTgyMCw2ICs4MjEsMTMgQEAgZmhhbmRsZXJfcGlwZTo6Y3JlYXRlIChMUFNFQ1VSSVRZ X0FUVFJJQlVURVMgc2FfcHRyLCBQSEFORExFIHIsIFBIQU5ETEUgdywKICAgcmV0dXJuIDA7CiB9 CiAKK2lubGluZSBzdGF0aWMgYm9vbAoraXNfcnVubmluZ19hc19zZXJ2aWNlICh2b2lkKQorewor ICByZXR1cm4gY2hlY2tfdG9rZW5fbWVtYmVyc2hpcCAod2VsbF9rbm93bl9zZXJ2aWNlX3NpZCkK KyAgICB8fCBjeWdoZWFwLT51c2VyLnNhdmVkX3NpZCAoKSA9PSB3ZWxsX2tub3duX3N5c3RlbV9z aWQ7Cit9CisKIC8qIFRoZSBuZXh0IHZlcnNpb24gb2YgZmhhbmRsZXJfcGlwZTo6Y3JlYXRlIHVz ZWQgdG8gY2FsbCB0aGUgcHJldmlvdXMKICAgIHZlcnNpb24uICBCdXQgdGhlIHJlYWQgaGFuZGxl IGNyZWF0ZWQgYnkgdGhlIGxhdHRlciBkb2Vzbid0IGhhdmUKICAgIEZJTEVfV1JJVEVfQVRUUklC VVRFUyBhY2Nlc3MgdW5sZXNzIHRoZSBwaXBlIGlzIGNyZWF0ZWQgd2l0aApAQCAtODc0LDcgKzg4 Miw4IEBAIGZoYW5kbGVyX3BpcGU6OmNyZWF0ZSAoZmhhbmRsZXJfcGlwZSAqZmhzWzJdLCB1bnNp Z25lZCBwc2l6ZSwgaW50IG1vZGUpCiAJCQkwLCBzYS0+YkluaGVyaXRIYW5kbGUsIERVUExJQ0FU RV9TQU1FX0FDQ0VTUykpCiAgICAgZ290byBlcnJfY2xvc2Vfc2VsZWN0X3NlbTA7CiAKLSAgaWYg KCFEdXBsaWNhdGVIYW5kbGUgKEdldEN1cnJlbnRQcm9jZXNzICgpLCByLAorICBpZiAoaXNfcnVu bmluZ19hc19zZXJ2aWNlICgpICYmCisgICAgICAhRHVwbGljYXRlSGFuZGxlIChHZXRDdXJyZW50 UHJvY2VzcyAoKSwgciwKIAkJCUdldEN1cnJlbnRQcm9jZXNzICgpLCAmZmhzWzFdLT5xdWVyeV9o ZGwsCiAJCQlGSUxFX1JFQURfREFUQSwgc2EtPmJJbmhlcml0SGFuZGxlLCAwKSkKICAgICBnb3Rv IGVycl9jbG9zZV9zZWxlY3Rfc2VtMTsKQEAgLTg5Myw3ICs5MDIsOCBAQCBmaGFuZGxlcl9waXBl OjpjcmVhdGUgKGZoYW5kbGVyX3BpcGUgKmZoc1syXSwgdW5zaWduZWQgcHNpemUsIGludCBtb2Rl KQogZXJyX2Nsb3NlX2hkbF9jbnRfbXR4MDoKICAgQ2xvc2VIYW5kbGUgKGZoc1swXS0+aGRsX2Nu dF9tdHgpOwogZXJyX2Nsb3NlX3F1ZXJ5X2hkbDoKLSAgQ2xvc2VIYW5kbGUgKGZoc1sxXS0+cXVl cnlfaGRsKTsKKyAgaWYgKGZoc1sxXS0+cXVlcnlfaGRsKQorICAgIENsb3NlSGFuZGxlIChmaHNb MV0tPnF1ZXJ5X2hkbCk7CiBlcnJfY2xvc2Vfc2VsZWN0X3NlbTE6CiAgIENsb3NlSGFuZGxlIChm aHNbMV0tPnNlbGVjdF9zZW0pOwogZXJyX2Nsb3NlX3NlbGVjdF9zZW0wOgpAQCAtOTQ2LDYgKzk1 Niw3IEBAIG50X2NyZWF0ZSAoTFBTRUNVUklUWV9BVFRSSUJVVEVTIHNhX3B0ciwgSEFORExFICZy LCBIQU5ETEUgJncsCiAJCQkJIEdldEN1cnJlbnRQcm9jZXNzSWQgKCkpOwogCiAgIGFjY2VzcyA9 IEdFTkVSSUNfUkVBRCB8IEZJTEVfV1JJVEVfQVRUUklCVVRFUyB8IFNZTkNIUk9OSVpFOworICBh Y2Nlc3MgfD0gRklMRV9XUklURV9FQTsgLyogQWRkIHRoaXMgcmlnaHQgYXMgYSBtYXJrZXIgb2Yg Y3lnd2luIHJlYWQgcGlwZSAqLwogCiAgIFVMT05HIHBpcGVfdHlwZSA9IHBpcGVfYnl0ZSA/IEZJ TEVfUElQRV9CWVRFX1NUUkVBTV9UWVBFCiAgICAgOiBGSUxFX1BJUEVfTUVTU0FHRV9UWVBFOwpA QCAtMTExMiwzICsxMTIzLDExOCBAQCBmaGFuZGxlcl9waXBlOjpmc3RhdHZmcyAoc3RydWN0IHN0 YXR2ZnMgKnNmcykKICAgc2V0X2Vycm5vIChFQkFERik7CiAgIHJldHVybiAtMTsKIH0KKworSEFO RExFCitmaGFuZGxlcl9waXBlOjp0ZW1wb3JhcnlfcXVlcnlfaGRsICgpCit7CisgIGlmIChnZXRf ZGV2ICgpICE9IEZIX1BJUEVXKQorICAgIHJldHVybiBOVUxMOworCisgIFVMT05HIGxlbjsKKyAg TlRTVEFUVVMgc3RhdHVzOworICB0bXBfcGF0aGJ1ZiB0cDsKKyAgT0JKRUNUX05BTUVfSU5GT1JN QVRJT04gKm50Zm4gPSAoT0JKRUNUX05BTUVfSU5GT1JNQVRJT04gKikgdHAud19nZXQgKCk7Cisg IHVpbnQ2NF90IGtleTsKKworICAvKiBUcnkgcHJvY2VzcyBoYW5kbGUgb3BlbmVkIGFuZCBwaXBl IGhhbmRsZSB2YWx1ZSBjYWNoZWQgZmlyc3QKKyAgICAgaW4gb3JkZXIgdG8gcmVkdWNlIG92ZXJo ZWFkLiAqLworICBpZiAocXVlcnlfaGRsX3Byb2MgJiYgcXVlcnlfaGRsX3ZhbHVlKQorICAgIHsK KyAgICAgIEhBTkRMRSBoOworICAgICAgaWYgKCFEdXBsaWNhdGVIYW5kbGUgKHF1ZXJ5X2hkbF9w cm9jLCBxdWVyeV9oZGxfdmFsdWUsCisJCQkgICBHZXRDdXJyZW50UHJvY2VzcyAoKSwgJmgsIEZJ TEVfUkVBRF9EQVRBLCAwLCAwKSkKKwlnb3RvIGNhY2hlX2VycjsKKyAgICAgIC8qIENoZWNrIG5h bWUgKi8KKyAgICAgIHN0YXR1cyA9IE50UXVlcnlPYmplY3QgKGgsIE9iamVjdE5hbWVJbmZvcm1h dGlvbiwgbnRmbiwgNjU1MzYsICZsZW4pOworICAgICAgaWYgKCFOVF9TVUNDRVNTIChzdGF0dXMp IHx8ICFudGZuLT5OYW1lLkJ1ZmZlcikKKwlnb3RvIGhkbF9lcnI7CisgICAgICBudGZuLT5OYW1l LkJ1ZmZlcltudGZuLT5OYW1lLkxlbmd0aCAvIHNpemVvZiAoV0NIQVIpXSA9IEwnXDAnOworICAg ICAgRFdPUkQgcGlkOworICAgICAgTE9ORyBpZDsKKyAgICAgIGlmIChzd3NjYW5mIChudGZuLT5O YW1lLkJ1ZmZlciwKKwkJICAgTCJcXERldmljZVxcTmFtZWRQaXBlXFwlbGx4LSV1LXBpcGUtbnQt MHgleCIsCisJCSAgICZrZXksICZwaWQsICZpZCkgPT0gMyAmJgorCSAgcGlkID09IHBpcGVuYW1l X3BpZCAmJiBpZCA9PSBwaXBlbmFtZV9pZCkKKwlyZXR1cm4gaDsKK2hkbF9lcnI6CisgICAgICBD bG9zZUhhbmRsZSAoaCk7CitjYWNoZV9lcnI6CisgICAgICBDbG9zZUhhbmRsZSAocXVlcnlfaGRs X3Byb2MpOworICAgICAgcXVlcnlfaGRsX3Byb2MgPSBOVUxMOworICAgICAgcXVlcnlfaGRsX3Zh bHVlID0gTlVMTDsKKyAgICB9CisKKyAgc3RhdHVzID0gTnRRdWVyeU9iamVjdCAoZ2V0X2hhbmRs ZSAoKSwgT2JqZWN0TmFtZUluZm9ybWF0aW9uLCBudGZuLAorCQkJICA2NTUzNiwgJmxlbik7Cisg IGlmICghTlRfU1VDQ0VTUyAoc3RhdHVzKSB8fCAhbnRmbi0+TmFtZS5CdWZmZXIpCisgICAgcmV0 dXJuIE5VTEw7IC8qIE5vbiBjeWd3aW4gcGlwZT8gKi8KKyAgV0NIQVIgbmFtZVtNQVhfUEFUSF07 CisgIGludCBuYW1lbGVuID0gbWluIChudGZuLT5OYW1lLkxlbmd0aCAvIHNpemVvZiAoV0NIQVIp LCBNQVhfUEFUSC0xKTsKKyAgbWVtY3B5IChuYW1lLCBudGZuLT5OYW1lLkJ1ZmZlciwgbmFtZWxl biAqIHNpemVvZiAoV0NIQVIpKTsKKyAgbmFtZVtuYW1lbGVuXSA9IEwnXDAnOworICBpZiAoc3dz Y2FuZiAobmFtZSwgTCJcXERldmljZVxcTmFtZWRQaXBlXFwlbGx4LSV1LXBpcGUtbnQtMHgleCIs CisJICAgICAgICZrZXksICZwaXBlbmFtZV9waWQsICZwaXBlbmFtZV9pZCkgIT0gMykKKyAgICBy ZXR1cm4gTlVMTDsgLyogTm9uIGN5Z3dpbiBwaXBlPyAqLworCisgIFNJWkVfVCBuX2hhbmRsZSA9 IDY1NTM2OworICBQU1lTVEVNX0hBTkRMRV9JTkZPUk1BVElPTiBzaGk7CisgIGRvCisgICAgewor ICAgICAgU0laRV9UIG5ieXRlcyA9CisJc2l6ZW9mIChVTE9ORykgKyBuX2hhbmRsZSAqIHNpemVv ZiAoU1lTVEVNX0hBTkRMRV9UQUJMRV9FTlRSWV9JTkZPKTsKKyAgICAgIHNoaSA9IChQU1lTVEVN X0hBTkRMRV9JTkZPUk1BVElPTikgSGVhcEFsbG9jIChHZXRQcm9jZXNzSGVhcCAoKSwKKwkJCQkJ CSAgICAgMCwgbmJ5dGVzKTsKKyAgICAgIGlmICghc2hpKQorCXJldHVybiBOVUxMOworICAgICAg c3RhdHVzID0gTnRRdWVyeVN5c3RlbUluZm9ybWF0aW9uIChTeXN0ZW1IYW5kbGVJbmZvcm1hdGlv biwKKwkJCQkJIHNoaSwgbmJ5dGVzLCBOVUxMKTsKKyAgICAgIGlmIChOVF9TVUNDRVNTIChzdGF0 dXMpKQorCWJyZWFrOworICAgICAgSGVhcEZyZWUgKEdldFByb2Nlc3NIZWFwICgpLCAwLCBzaGkp OworICAgICAgbl9oYW5kbGUgKj0gMjsKKyAgICB9CisgIHdoaWxlIChuX2hhbmRsZSA8ICgxTDw8 MjApKTsKKyAgaWYgKCFOVF9TVUNDRVNTIChzdGF0dXMpKQorICAgIHJldHVybiBOVUxMOworCisg IEhBTkRMRSBxaCA9IE5VTEw7CisgIGZvciAoTE9ORyBpID0gKExPTkcpIHNoaS0+TnVtYmVyT2ZI YW5kbGVzIC0gMTsgaSA+PSAwOyBpLS0pCisgICAgeworICAgICAgLyogQ2hlY2sgZm9yIHRoZSBw ZWN1bGlhcml0eSBvZiBjeWd3aW4gcmVhZCBwaXBlICovCisgICAgICBEV09SRCBhY2Nlc3MgPSBG SUxFX1JFQURfREFUQSB8IEZJTEVfUkVBRF9FQSB8IEZJTEVfV1JJVEVfRUEgLyogbWFya2VyICov CisJfCBGSUxFX1JFQURfQVRUUklCVVRFUyB8IEZJTEVfV1JJVEVfQVRUUklCVVRFUworCXwgUkVB RF9DT05UUk9MIHwgU1lOQ0hST05JWkU7CisgICAgICBpZiAoc2hpLT5IYW5kbGVzW2ldLkdyYW50 ZWRBY2Nlc3MgIT0gYWNjZXNzKQorCWNvbnRpbnVlOworCisgICAgICAvKiBSZXRyaWV2ZSBoYW5k bGUgKi8KKyAgICAgIEhBTkRMRSBwcm9jID0gT3BlblByb2Nlc3MgKFBST0NFU1NfRFVQX0hBTkRM RSwgMCwKKwkJCQkgc2hpLT5IYW5kbGVzW2ldLlVuaXF1ZVByb2Nlc3NJZCk7CisgICAgICBpZiAo IXByb2MpCisJY29udGludWU7CisgICAgICBIQU5ETEUgaCA9IChIQU5ETEUpKGludHB0cl90KSBz aGktPkhhbmRsZXNbaV0uSGFuZGxlVmFsdWU7CisgICAgICBCT09MIHJlcyAgPSBEdXBsaWNhdGVI YW5kbGUgKHByb2MsIGgsIEdldEN1cnJlbnRQcm9jZXNzICgpLCAmaCwKKwkJCQkgICBGSUxFX1JF QURfREFUQSwgMCwgMCk7CisgICAgICBpZiAoIXJlcykKKwlnb3RvIGNsb3NlX3Byb2M7CisKKyAg ICAgIC8qIENoZWNrIG9iamVjdCBuYW1lICovCisgICAgICBzdGF0dXMgPSBOdFF1ZXJ5T2JqZWN0 IChoLCBPYmplY3ROYW1lSW5mb3JtYXRpb24sIG50Zm4sIDY1NTM2LCAmbGVuKTsKKyAgICAgIGlm ICghTlRfU1VDQ0VTUyAoc3RhdHVzKSB8fCAhbnRmbi0+TmFtZS5CdWZmZXIpCisJZ290byBjbG9z ZV9oYW5kbGU7CisgICAgICBudGZuLT5OYW1lLkJ1ZmZlcltudGZuLT5OYW1lLkxlbmd0aCAvIHNp emVvZiAoV0NIQVIpXSA9IEwnXDAnOworICAgICAgaWYgKHdjc2NtcCAobmFtZSwgbnRmbi0+TmFt ZS5CdWZmZXIpID09IDApCisJeworCSAgcXVlcnlfaGRsX3Byb2MgPSBwcm9jOworCSAgcXVlcnlf aGRsX3ZhbHVlID0gKEhBTkRMRSkoaW50cHRyX3QpIHNoaS0+SGFuZGxlc1tpXS5IYW5kbGVWYWx1 ZTsKKwkgIHFoID0gaDsKKwkgIGJyZWFrOworCX0KK2Nsb3NlX2hhbmRsZToKKyAgICAgIENsb3Nl SGFuZGxlIChoKTsKK2Nsb3NlX3Byb2M6CisgICAgICBDbG9zZUhhbmRsZSAocHJvYyk7CisgICAg fQorICBIZWFwRnJlZSAoR2V0UHJvY2Vzc0hlYXAgKCksIDAsIHNoaSk7CisgIHJldHVybiBxaDsK K30KZGlmZiAtLWdpdCBhL3dpbnN1cC9jeWd3aW4vbnRkbGwuaCBiL3dpbnN1cC9jeWd3aW4vbnRk bGwuaAppbmRleCA0NTA0YmRmNmQuLmU4YzNjNDVjNSAxMDA2NDQKLS0tIGEvd2luc3VwL2N5Z3dp bi9udGRsbC5oCisrKyBiL3dpbnN1cC9jeWd3aW4vbnRkbGwuaApAQCAtNjIwLDYgKzYyMCwyMyBA QCB0eXBlZGVmIHN0cnVjdCBfU1lTVEVNX1BST0NFU1NPUl9QRVJGT1JNQU5DRV9JTkZPUk1BVElP TgogICBVTE9ORyBJbnRlcnJ1cHRDb3VudDsKIH0gU1lTVEVNX1BST0NFU1NPUl9QRVJGT1JNQU5D RV9JTkZPUk1BVElPTiwgKlBTWVNURU1fUFJPQ0VTU09SX1BFUkZPUk1BTkNFX0lORk9STUFUSU9O OwogCit0eXBlZGVmIHN0cnVjdCBfU1lTVEVNX0hBTkRMRV9UQUJMRV9FTlRSWV9JTkZPCit7Cisg IFVTSE9SVCBVbmlxdWVQcm9jZXNzSWQ7CisgIFVTSE9SVCBDcmVhdG9yQmFja1RyYWNlSW5kZXg7 CisgIFVDSEFSIE9iamVjdFR5cGVJbmRleDsKKyAgVUNIQVIgSGFuZGxlQXR0cmlidXRlczsKKyAg VVNIT1JUIEhhbmRsZVZhbHVlOworICBQVk9JRCBPYmplY3Q7CisgIFVMT05HIEdyYW50ZWRBY2Nl c3M7Cit9IFNZU1RFTV9IQU5ETEVfVEFCTEVfRU5UUllfSU5GTywgKlBTWVNURU1fSEFORExFX1RB QkxFX0VOVFJZX0lORk87CisKK3R5cGVkZWYgc3RydWN0IF9TWVNURU1fSEFORExFX0lORk9STUFU SU9OCit7CisgIFVMT05HIE51bWJlck9mSGFuZGxlczsKKyAgU1lTVEVNX0hBTkRMRV9UQUJMRV9F TlRSWV9JTkZPIEhhbmRsZXNbMV07Cit9IFNZU1RFTV9IQU5ETEVfSU5GT1JNQVRJT04sICpQU1lT VEVNX0hBTkRMRV9JTkZPUk1BVElPTjsKKwogdHlwZWRlZiBMT05HIEtQUklPUklUWTsKIAogdHlw ZWRlZiBzdHJ1Y3QgX1ZNX0NPVU5URVJTCmRpZmYgLS1naXQgYS93aW5zdXAvY3lnd2luL3NlbGVj dC5jYyBiL3dpbnN1cC9jeWd3aW4vc2VsZWN0LmNjCmluZGV4IDMzYzBjMGJiMC4uYTI4NjhhYmQw IDEwMDY0NAotLS0gYS93aW5zdXAvY3lnd2luL3NlbGVjdC5jYworKysgYi93aW5zdXAvY3lnd2lu L3NlbGVjdC5jYwpAQCAtNjQxLDEwICs2NDEsMTYgQEAgcGlwZV9kYXRhX2F2YWlsYWJsZSAoaW50 IGZkLCBmaGFuZGxlcl9iYXNlICpmaCwgSEFORExFIGgsIGJvb2wgd3JpdGluZykKICAgICAgIGlm IChmaC0+Z2V0X2RldmljZSAoKSA9PSBGSF9QSVBFVyAmJiBmcGxpLldyaXRlUXVvdGFBdmFpbGFi bGUgPT0gMCkKIAl7CiAJICBIQU5ETEUgcXVlcnlfaGRsID0gKChmaGFuZGxlcl9waXBlICopIGZo KS0+Z2V0X3F1ZXJ5X2hhbmRsZSAoKTsKKwkgIGlmICghcXVlcnlfaGRsKQorCSAgICBxdWVyeV9o ZGwgPSAoKGZoYW5kbGVyX3BpcGUgKikgZmgpLT50ZW1wb3JhcnlfcXVlcnlfaGRsICgpOwogCSAg aWYgKCFxdWVyeV9oZGwpCiAJICAgIHJldHVybiAxOyAvKiBXZSBjYW5ub3Qga25vdyBhY3R1YWwg d3JpdGUgcGlwZSBzcGFjZS4gKi8KIAkgIERXT1JEIG5ieXRlc19pbl9waXBlOwotCSAgaWYgKCFQ ZWVrTmFtZWRQaXBlIChxdWVyeV9oZGwsIE5VTEwsIDAsIE5VTEwsICZuYnl0ZXNfaW5fcGlwZSwg TlVMTCkpCisJICBCT09MIHJlcyA9CisJICAgIFBlZWtOYW1lZFBpcGUgKHF1ZXJ5X2hkbCwgTlVM TCwgMCwgTlVMTCwgJm5ieXRlc19pbl9waXBlLCBOVUxMKTsKKwkgIGlmICghKChmaGFuZGxlcl9w aXBlICopIGZoKS0+Z2V0X3F1ZXJ5X2hhbmRsZSAoKSkKKwkgICAgQ2xvc2VIYW5kbGUgKHF1ZXJ5 X2hkbCk7IC8qIENsb3NlIHRlbXBvcmFyeSBxdWVyeV9oZGwgKi8KKwkgIGlmICghcmVzKQogCSAg ICByZXR1cm4gMTsKIAkgIGZwbGkuV3JpdGVRdW90YUF2YWlsYWJsZSA9IGZwbGkuSW5ib3VuZFF1 b3RhIC0gbmJ5dGVzX2luX3BpcGU7CiAJfQotLSAKMi4zMy4wCgo= --Multipart=_Tue__21_Sep_2021_17_30_35_+0900_Dq15v/odNjSMb6aI--