From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=-0.2 required=5.0 tests=ALL_TRUSTED, DKIM_ADSP_NXDOMAIN autolearn=no autolearn_force=no version=3.4.4 Received: (qmail 23970 invoked from network); 26 Oct 2020 22:52:07 -0000 Received: from localhost (HELO inbox.vuxu.org) (::1) by localhost with ESMTPUTF8; 26 Oct 2020 22:52:07 -0000 Content-Type: multipart/mixed; boundary="===============6848495586616396419==" MIME-Version: 1.0 Subject: =?utf8?q?Re=3A_=5BPR_PATCH=5D_=5BUpdated=5D_libvirt=3A_fix_deadlock_for_musl?= To: ml@inbox.vuxu.org From: sirn Reply-to: ml@inbox.vuxu.org In-Reply-To: References: Date: Mon, 26 Oct 2020 23:52:07 +0100 List-Id: Message-ID: <20201026225207.f9FScAOeOlBJQcY9DSGkb4D1fJlR5tR0iVxgCwzAH_o@z> GitHub notification mails are now in MIME to allow UTF8. --===============6848495586616396419== Content-Type: text/plain; charset="utf8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 VGhlcmUgaXMgYW4gdXBkYXRlZCBwdWxsIHJlcXVlc3QgYnkgc2lybiBhZ2FpbnN0IG1hc3RlciBv biB0aGUgdm9pZC1wYWNrYWdlcyByZXBvc2l0b3J5CgpodHRwczovL2dpdGh1Yi5jb20vc2lybi92 b2lkLXBhY2thZ2VzIGxpYnZpcnQtbXVzbC1maXgKaHR0cHM6Ly9naXRodWIuY29tL3ZvaWQtbGlu dXgvdm9pZC1wYWNrYWdlcy9wdWxsLzI1OTA1CgpsaWJ2aXJ0OiBmaXggZGVhZGxvY2sgZm9yIG11 c2wKbGlidmlydCBoYXMgYmVlbiBicm9rZW4gdW5kZXIgbXVzbCBzaW5jZSB2Ni4zIGR1ZSB0byBo b3cgaXQgdXNlcyBtYWxsb2MvZnJlZSBhZnRlciBmb3JrIGNhdXNpbmcgYSBkZWFkbG9jay4gV2hl biBsaWJ2aXJ0IGlzIGluIHRoaXMgc3RhdGUsIGFueSBhdHRlbXB0IHRvIGNvbm5lY3QgdG8gaXQg KHZpcnNoL3ZpcnQtbWFuYWdlcikgd2lsbCBqdXN0IGhhbmdzIGZvcmV2ZXIgd2FpdGluZyBmb3Ig Y29ubmVjdGlvbiB1bnRpbCBhIGBkYWVtb24taW5pdGAgcHJvY2VzcyB1bmRlciBsaWJ2aXJ0IGlz IGtpbGxlZCAoIzIzNzI0LCBbYWxwaW5lL2Fwb3J0cyMxMTYwMl0oaHR0cHM6Ly9naXRsYWIuYWxw aW5lbGludXgub3JnL2FscGluZS9hcG9ydHMvLS9pc3N1ZXMvMTE2MDIpLCBbbGlidmlydC9saWJ2 aXJ0IzUyXShodHRwczovL2dpdGxhYi5jb20vbGlidmlydC9saWJ2aXJ0Ly0vaXNzdWVzLzUyKSku DQoNClRoaXMgUFIgYmFja3BvcnQgMiBwYXRjaGVzIGZyb20gQWxwaW5lIDMuMTIgdG8gZml4IHRo ZSBpc3N1ZS4gR29pbmcgdG8gbmVlZCBzb21lIHRlc3Rpbmcgb24gZ2xpYmMsIHRob3VnaC4KCkEg cGF0Y2ggZmlsZSBmcm9tIGh0dHBzOi8vZ2l0aHViLmNvbS92b2lkLWxpbnV4L3ZvaWQtcGFja2Fn ZXMvcHVsbC8yNTkwNS5wYXRjaCBpcyBhdHRhY2hlZA== --===============6848495586616396419== Content-Type: text/x-diff MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="github-pr-libvirt-musl-fix-25905.patch" RnJvbSAwZDVlMDg1MzJkNjBkY2M5ZTNkOThiNjk2NjJiYTdhZTY1ZTQ1M2U0IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBLcmlkc2FkYSBUaGFuYWJ1bHBvbmcgPHNpcm5Ab2dzaXRlLm5l dD4KRGF0ZTogVHVlLCAyNyBPY3QgMjAyMCAwNzo1MTo1NSArMDkwMApTdWJqZWN0OiBbUEFUQ0hd IGxpYnZpcnQ6IGZpeCBkZWFkbG9jayBmb3IgbXVzbAoKLS0tCiAuLi5hdm9pZC1mcmVlLXdoZW4t cmVzZXQtbG9nLWFmdGVyLWZvcmsucGF0Y2ggfCAxNDIgKysrKysrKysrKysrKysrKysrCiAuLi4v aW1wcm92ZS1nZW5lcmljLW1hc3MtY2xvc2Utb2YtZmRzLnBhdGNoICAgfCAxMzQgKysrKysrKysr KysrKysrKysKIHNyY3BrZ3MvbGlidmlydC90ZW1wbGF0ZSAgICAgICAgICAgICAgICAgICAgICB8 ICAgMiArLQogMyBmaWxlcyBjaGFuZ2VkLCAyNzcgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigt KQogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvbGlidmlydC9wYXRjaGVzL2F2b2lkLWZyZWUt d2hlbi1yZXNldC1sb2ctYWZ0ZXItZm9yay5wYXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3Br Z3MvbGlidmlydC9wYXRjaGVzL2ltcHJvdmUtZ2VuZXJpYy1tYXNzLWNsb3NlLW9mLWZkcy5wYXRj aAoKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvbGlidmlydC9wYXRjaGVzL2F2b2lkLWZyZWUtd2hlbi1y ZXNldC1sb2ctYWZ0ZXItZm9yay5wYXRjaCBiL3NyY3BrZ3MvbGlidmlydC9wYXRjaGVzL2F2b2lk LWZyZWUtd2hlbi1yZXNldC1sb2ctYWZ0ZXItZm9yay5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0 NAppbmRleCAwMDAwMDAwMDAwMC4uN2Y3ODg3Yjg1YjEKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNw a2dzL2xpYnZpcnQvcGF0Y2hlcy9hdm9pZC1mcmVlLXdoZW4tcmVzZXQtbG9nLWFmdGVyLWZvcmsu cGF0Y2gKQEAgLTAsMCArMSwxNDIgQEAKK2h0dHBzOi8vd3d3LnJlZGhhdC5jb20vYXJjaGl2ZXMv bGlidmlyLWxpc3QvMjAyMC1BdWd1c3QvbXNnMDA1OTYuaHRtbAorCitEb2luZyBtYWxsb2MvZnJl ZSBhZnRlciBmb3JrIGlzIHRlY2huaWNhbGx5IG5vdCBhbGxvd2VkIGluIFBPU0lYIGFuZAorZGVh ZGxvY2tzWzFdIHdpdGggbXVzbCBsaWJjLgorCitbMV06IGh0dHBzOi8vZ2l0bGFiLmNvbS9saWJ2 aXJ0L2xpYnZpcnQvLS9pc3N1ZXMvNTIKKworU2lnbmVkLW9mZi1ieTogTmF0YW5hZWwgQ29wYSA8 bmNvcGEgYWxwaW5lbGludXggb3JnPgorLS0tCisgc3JjL3V0aWwvdmlyY29tbWFuZC5jIHwgIDQg KystLQorIHNyYy91dGlsL3ZpcmxvZy5jICAgICB8IDQ0ICsrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKy0tLS0tLS0tLS0KKyBzcmMvdXRpbC92aXJsb2cuaCAgICAgfCAgMSArCisgMyBm aWxlcyBjaGFuZ2VkLCAzNyBpbnNlcnRpb25zKCspLCAxMiBkZWxldGlvbnMoLSkKKworZGlmZiAt LWdpdCBhL3NyYy91dGlsL3ZpcmNvbW1hbmQuYyBiL3NyYy91dGlsL3ZpcmNvbW1hbmQuYworaW5k ZXggNzZmN2ViOWEzZC4uMTdlNWJiMDBkMyAxMDA2NDQKKy0tLSBzcmMvdXRpbC92aXJjb21tYW5k LmMKKysrKyBzcmMvdXRpbC92aXJjb21tYW5kLmMKK0BAIC0zMDQsNyArMzA0LDcgQEAgdmlyRm9y ayh2b2lkKQorICAgICAgICAgLyogTWFrZSBzdXJlIGFueSBob29rIGxvZ2dpbmcgaXMgc2VudCB0 byBzdGRlcnIsIHNpbmNlIGNoaWxkCisgICAgICAgICAgKiBwcm9jZXNzIG1heSBjbG9zZSB0aGUg bG9nZmlsZSBGRHMgKi8KKyAgICAgICAgIGxvZ3ByaW8gPSB2aXJMb2dHZXREZWZhdWx0UHJpb3Jp dHkoKTsKKy0gICAgICAgIHZpckxvZ1Jlc2V0KCk7CisrICAgICAgICB2aXJMb2dSZXNldFdpdGhv dXRGcmVlKCk7CisgICAgICAgICB2aXJMb2dTZXREZWZhdWx0UHJpb3JpdHkobG9ncHJpbyk7CisK KyAgICAgICAgIC8qIENsZWFyIG91dCBhbGwgc2lnbmFsIGhhbmRsZXJzIGZyb20gcGFyZW50IHNv IG5vdGhpbmcKK0BAIC04NjEsNyArODYxLDcgQEAgdmlyRXhlYyh2aXJDb21tYW5kUHRyIGNtZCkK KyAgICAgICAgZ290byBmb3JrX2Vycm9yOworCisgICAgIC8qIENsb3NlIGxvZ2dpbmcgYWdhaW4g dG8gZW5zdXJlIG5vIEZEcyBsZWFrIHRvIGNoaWxkICovCistICAgIHZpckxvZ1Jlc2V0KCk7Cisr ICAgIHZpckxvZ1Jlc2V0V2l0aG91dEZyZWUoKTsKKworICAgICBpZiAoY21kLT5lbnYpCisgICAg ICAgICBleGVjdmUoYmluYXJ5LCBjbWQtPmFyZ3MsIGNtZC0+ZW52KTsKK2RpZmYgLS1naXQgYS9z cmMvdXRpbC92aXJsb2cuYyBiL3NyYy91dGlsL3ZpcmxvZy5jCitpbmRleCAzMjE3ZTVlYjczLi4z OTU5ZGU1Y2E3IDEwMDY0NAorLS0tIHNyYy91dGlsL3ZpcmxvZy5jCisrKysgc3JjL3V0aWwvdmly bG9nLmMKK0BAIC0xMDgsOCArMTA4LDggQEAgc3RhdGljIHNpemVfdCB2aXJMb2dOYk91dHB1dHM7 CisgICovCisgc3RhdGljIHZpckxvZ1ByaW9yaXR5IHZpckxvZ0RlZmF1bHRQcmlvcml0eSA9IFZJ Ul9MT0dfREVGQVVMVDsKKworLXN0YXRpYyB2b2lkIHZpckxvZ1Jlc2V0RmlsdGVycyh2b2lkKTsK Ky1zdGF0aWMgdm9pZCB2aXJMb2dSZXNldE91dHB1dHModm9pZCk7Cisrc3RhdGljIHZvaWQgdmly TG9nUmVzZXRGaWx0ZXJzKGJvb2wgZnJlZW1lbSk7Cisrc3RhdGljIHZvaWQgdmlyTG9nUmVzZXRP dXRwdXRzKGJvb2wgZnJlZW1lbSk7Cisgc3RhdGljIHZvaWQgdmlyTG9nT3V0cHV0VG9GZCh2aXJM b2dTb3VyY2VQdHIgc3JjLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmlyTG9nUHJp b3JpdHkgcHJpb3JpdHksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFy ICpmaWxlbmFtZSwKK0BAIC0yODQsOCArMjg0LDMwIEBAIHZpckxvZ1Jlc2V0KHZvaWQpCisgICAg ICAgICByZXR1cm4gLTE7CisKKyAgICAgdmlyTG9nTG9jaygpOworLSAgICB2aXJMb2dSZXNldEZp bHRlcnMoKTsKKy0gICAgdmlyTG9nUmVzZXRPdXRwdXRzKCk7CisrICAgIHZpckxvZ1Jlc2V0Rmls dGVycyh0cnVlKTsKKysgICAgdmlyTG9nUmVzZXRPdXRwdXRzKHRydWUpOworKyAgICB2aXJMb2dE ZWZhdWx0UHJpb3JpdHkgPSBWSVJfTE9HX0RFRkFVTFQ7CisrICAgIHZpckxvZ1VubG9jaygpOwor KyAgICByZXR1cm4gMDsKKyt9CisrCisrLyoqCisrICogdmlyTG9nUmVzZXRXaXRob3V0RnJlZToK KysgKgorKyAqIFJlc2V0IHRoZSBsb2dnaW5nIG1vZHVsZSB0byBpdHMgZGVmYXVsdCBpbml0aWFs IHN0YXRlLCBidXQgYXZvaWQgZG9pbmcKKysgKiBmcmVlKCkgc28gaXQgY2FuIGJlIHVzZWQgYWZ0 ZXIgZm9yayBhbmQgYmVmb3JlIGV4ZWMuCisrICoKKysgKiBSZXR1cm5zIDAgaWYgc3VjY2Vzc2Z1 bCwgYW5kIC0xIGluIGNhc2Ugb3IgZXJyb3IKKysgKi8KKytpbnQKKyt2aXJMb2dSZXNldFdpdGhv dXRGcmVlKHZvaWQpCisreworKyAgICBpZiAodmlyTG9nSW5pdGlhbGl6ZSgpIDwgMCkKKysgICAg ICAgIHJldHVybiAtMTsKKysKKysgICAgdmlyTG9nTG9jaygpOworKyAgICB2aXJMb2dSZXNldEZp bHRlcnMoZmFsc2UpOworKyAgICB2aXJMb2dSZXNldE91dHB1dHMoZmFsc2UpOworICAgICB2aXJM b2dEZWZhdWx0UHJpb3JpdHkgPSBWSVJfTE9HX0RFRkFVTFQ7CisgICAgIHZpckxvZ1VubG9jaygp OworICAgICByZXR1cm4gMDsKK0BAIC0zMjQsOSArMzQ2LDEwIEBAIHZpckxvZ1NldERlZmF1bHRQ cmlvcml0eSh2aXJMb2dQcmlvcml0eSBwcmlvcml0eSkKKyAgKiBSZW1vdmVzIHRoZSBzZXQgb2Yg bG9nZ2luZyBmaWx0ZXJzIGRlZmluZWQuCisgICovCisgc3RhdGljIHZvaWQKKy12aXJMb2dSZXNl dEZpbHRlcnModm9pZCkKKyt2aXJMb2dSZXNldEZpbHRlcnMoYm9vbCBmcmVlbWVtKQorIHsKKy0g ICAgdmlyTG9nRmlsdGVyTGlzdEZyZWUodmlyTG9nRmlsdGVycywgdmlyTG9nTmJGaWx0ZXJzKTsK KysgICAgaWYgKGZyZWVtZW0pCisrICAgICAgICB2aXJMb2dGaWx0ZXJMaXN0RnJlZSh2aXJMb2dG aWx0ZXJzLCB2aXJMb2dOYkZpbHRlcnMpOworICAgICB2aXJMb2dGaWx0ZXJzID0gTlVMTDsKKyAg ICAgdmlyTG9nTmJGaWx0ZXJzID0gMDsKKyAgICAgdmlyTG9nRmlsdGVyc1NlcmlhbCsrOworQEAg LTM3MSw5ICszOTQsMTAgQEAgdmlyTG9nRmlsdGVyTGlzdEZyZWUodmlyTG9nRmlsdGVyUHRyICps aXN0LCBpbnQgY291bnQpCisgICogUmVtb3ZlcyB0aGUgc2V0IG9mIGxvZ2dpbmcgb3V0cHV0IGRl ZmluZWQuCisgICovCisgc3RhdGljIHZvaWQKKy12aXJMb2dSZXNldE91dHB1dHModm9pZCkKKyt2 aXJMb2dSZXNldE91dHB1dHMoYm9vbCBmcmVlbWVtKQorIHsKKy0gICAgdmlyTG9nT3V0cHV0TGlz dEZyZWUodmlyTG9nT3V0cHV0cywgdmlyTG9nTmJPdXRwdXRzKTsKKysgICAgaWYgKGZyZWVtZW0p CisrICAgICAgICB2aXJMb2dPdXRwdXRMaXN0RnJlZSh2aXJMb2dPdXRwdXRzLCB2aXJMb2dOYk91 dHB1dHMpOworICAgICB2aXJMb2dPdXRwdXRzID0gTlVMTDsKKyAgICAgdmlyTG9nTmJPdXRwdXRz ID0gMDsKKyB9CitAQCAtMTM5Miw3ICsxNDE2LDcgQEAgdmlyTG9nRGVmaW5lT3V0cHV0cyh2aXJM b2dPdXRwdXRQdHIgKm91dHB1dHMsIHNpemVfdCBub3V0cHV0cykKKyAgICAgICAgIHJldHVybiAt MTsKKworICAgICB2aXJMb2dMb2NrKCk7CistICAgIHZpckxvZ1Jlc2V0T3V0cHV0cygpOworKyAg ICB2aXJMb2dSZXNldE91dHB1dHModHJ1ZSk7CisKKyAjaWYgSEFWRV9TWVNMT0dfSAorICAgICAv KiBzeXNsb2cgbmVlZHMgdG8gYmUgc3BlY2lhbC1jYXNlZCwgc2luY2UgaXQga2VlcHMgdGhlIGZk IGluIHByaXZhdGUgKi8KK0BAIC0xNDM1LDcgKzE0NTksNyBAQCB2aXJMb2dEZWZpbmVGaWx0ZXJz KHZpckxvZ0ZpbHRlclB0ciAqZmlsdGVycywgc2l6ZV90IG5maWx0ZXJzKQorICAgICAgICAgcmV0 dXJuIC0xOworCisgICAgIHZpckxvZ0xvY2soKTsKKy0gICAgdmlyTG9nUmVzZXRGaWx0ZXJzKCk7 CisrICAgIHZpckxvZ1Jlc2V0RmlsdGVycyh0cnVlKTsKKyAgICAgdmlyTG9nRmlsdGVycyA9IGZp bHRlcnM7CisgICAgIHZpckxvZ05iRmlsdGVycyA9IG5maWx0ZXJzOworICAgICB2aXJMb2dVbmxv Y2soKTsKK2RpZmYgLS1naXQgYS9zcmMvdXRpbC92aXJsb2cuaCBiL3NyYy91dGlsL3ZpcmxvZy5o CitpbmRleCA5ODRhOWQ1YTQzLi42OWY3YjFlZjk0IDEwMDY0NAorLS0tIHNyYy91dGlsL3Zpcmxv Zy5oCisrKysgc3JjL3V0aWwvdmlybG9nLmgKK0BAIC0xNjgsNiArMTY4LDcgQEAgdm9pZCB2aXJM b2dTZXREZWZhdWx0T3V0cHV0KGNvbnN0IGNoYXIgKmZuYW1lLCBib29sIGdvZGFlbW9uLCBib29s IHByaXZpbGVnZWQpOworIHZvaWQgdmlyTG9nTG9jayh2b2lkKTsKKyB2b2lkIHZpckxvZ1VubG9j ayh2b2lkKTsKKyBpbnQgdmlyTG9nUmVzZXQodm9pZCk7CisraW50IHZpckxvZ1Jlc2V0V2l0aG91 dEZyZWUodm9pZCk7CisgaW50IHZpckxvZ1BhcnNlRGVmYXVsdFByaW9yaXR5KGNvbnN0IGNoYXIg KnByaW9yaXR5KTsKKyBpbnQgdmlyTG9nUHJpb3JpdHlGcm9tU3lzbG9nKGludCBwcmlvcml0eSk7 Cisgdm9pZCB2aXJMb2dNZXNzYWdlKHZpckxvZ1NvdXJjZVB0ciBzb3VyY2UsCistLQorMi4yOC4w CmRpZmYgLS1naXQgYS9zcmNwa2dzL2xpYnZpcnQvcGF0Y2hlcy9pbXByb3ZlLWdlbmVyaWMtbWFz cy1jbG9zZS1vZi1mZHMucGF0Y2ggYi9zcmNwa2dzL2xpYnZpcnQvcGF0Y2hlcy9pbXByb3ZlLWdl bmVyaWMtbWFzcy1jbG9zZS1vZi1mZHMucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg MDAwMDAwMDAwMDAuLmMxODBmYTQ2YTU3Ci0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtncy9saWJ2 aXJ0L3BhdGNoZXMvaW1wcm92ZS1nZW5lcmljLW1hc3MtY2xvc2Utb2YtZmRzLnBhdGNoCkBAIC0w LDAgKzEsMTM0IEBACitodHRwczovL3d3dy5yZWRoYXQuY29tL2FyY2hpdmVzL2xpYnZpci1saXN0 LzIwMjAtQXVndXN0L21zZzAwNTk4Lmh0bWwKKworQWRkIGEgcG9ydGFibGUgZ2VuZXJpYyBpbXBs ZW1lbnRhdGlvbiBvZiB2aXJNYXNzQ2xvc2UgYXMgZmFsbGJhY2sgb24KK25vbi1GcmVlQlNEIGFu ZCBub24tZ2xpYmMuCisKK1RoaXMgaW1wbGVtZW50YXRpb24gdXNlcyBwb2xsKDIpIHRvIGxvb2sg Zm9yIG9wZW4gZmlsZXMgdG8ga2VlcAorcGVyZm9ybWFuY2UgcmVhc29uYWJsZSB3aGlsZSBub3Qg dXNpbmcgYW55IG1hbGxvY3MuCisKK1RoaXMgc29sdmVzIGEgZGVhZGxvY2sgd2l0aCBtdXNsIGxp YmMuCisKK1NpZ25lZC1vZmYtYnk6IE5hdGFuYWVsIENvcGEgPG5jb3BhIGFscGluZWxpbnV4IG9y Zz4KKy0tLQorIHNyYy91dGlsL3ZpcmNvbW1hbmQuYyB8IDc2ICsrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKy0tLS0tLS0tLS0KKyAxIGZpbGUgY2hhbmdlZCwgNTggaW5zZXJ0aW9ucygr KSwgMTggZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9zcmMvdXRpbC92aXJjb21tYW5kLmMg Yi9zcmMvdXRpbC92aXJjb21tYW5kLmMKK2luZGV4IDE3ZTViYjAwZDMuLjA2NTc5Y2ZiNDQgMTAw NjQ0CistLS0gc3JjL3V0aWwvdmlyY29tbWFuZC5jCisrKysgc3JjL3V0aWwvdmlyY29tbWFuZC5j CitAQCAtNDQzLDcgKzQ0Myw3IEBAIHZpckV4ZWNDb21tb24odmlyQ29tbWFuZFB0ciBjbWQsIGdp ZF90ICpncm91cHMsIGludCBuZ3JvdXBzKQorICAgICByZXR1cm4gMDsKKyB9CisKKy0jIGlmZGVm IF9fbGludXhfXworKyMgaWYgZGVmaW5lZChfX2xpbnV4X18pICYmIGRlZmluZWQoX19HTElCQ19f KQorIC8qIE9uIExpbnV4LCB3ZSBjYW4gdXRpbGl6ZSBwcm9jZnMgYW5kIHJlYWQgdGhlIHRhYmxl IG9mIG9wZW5lZAorICAqIEZEcyBhbmQgc2VsZWN0aXZlbHkgY2xvc2Ugb25seSB0aG9zZSBGRHMg d2UgZG9uJ3Qgd2FudCB0byBwYXNzCisgICogb250byBjaGlsZCBwcm9jZXNzICh3ZWxsLCB0aGUg b25lIHdlIHdpbGwgZXhlYyBzb29uIHNpbmNlIHRoaXMKK0BAIC00ODIsMTcgKzQ4Miw3IEBAIHZp ckNvbW1hbmRNYXNzQ2xvc2VHZXRGRHNMaW51eCh2aXJDb21tYW5kUHRyIGNtZCBHX0dOVUNfVU5V U0VELAorICAgICBWSVJfRElSX0NMT1NFKGRwKTsKKyAgICAgcmV0dXJuIHJldDsKKyB9CistCist IyBlbHNlIC8qICFfX2xpbnV4X18gKi8KKy0KKy1zdGF0aWMgaW50CistdmlyQ29tbWFuZE1hc3ND bG9zZUdldEZEc0dlbmVyaWModmlyQ29tbWFuZFB0ciBjbWQgR19HTlVDX1VOVVNFRCwKKy0gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2aXJCaXRtYXBQdHIgZmRzKQorLXsKKy0gICAg dmlyQml0bWFwU2V0QWxsKGZkcyk7CistICAgIHJldHVybiAwOworLX0KKy0jIGVuZGlmIC8qICFf X2xpbnV4X18gKi8KKysjIGVuZGlmIC8qIF9fbGludXhfXyAmJiBfX0dMSUJDX18gKi8KKworICMg aWZkZWYgX19GcmVlQlNEX18KKworQEAgLTU0Niw3ICs1MzYsNyBAQCB2aXJDb21tYW5kTWFzc0Ns b3NlKHZpckNvbW1hbmRQdHIgY21kLAorICAgICByZXR1cm4gMDsKKyB9CisKKy0jIGVsc2UgLyog ISBfX0ZyZWVCU0RfXyAqLworKyMgZWxpZiBkZWZpbmVkKF9fR0xJQkNfXykgIC8qICEgX19GcmVl QlNEX18gKi8KKworIHN0YXRpYyBpbnQKKyB2aXJDb21tYW5kTWFzc0Nsb3NlKHZpckNvbW1hbmRQ dHIgY21kLAorQEAgLTU3NCwxMyArNTY0LDggQEAgdmlyQ29tbWFuZE1hc3NDbG9zZSh2aXJDb21t YW5kUHRyIGNtZCwKKyAgICAgaWYgKCEoZmRzID0gdmlyQml0bWFwTmV3KG9wZW5tYXgpKSkKKyAg ICAgICAgIHJldHVybiAtMTsKKworLSMgIGlmZGVmIF9fbGludXhfXworICAgICBpZiAodmlyQ29t bWFuZE1hc3NDbG9zZUdldEZEc0xpbnV4KGNtZCwgZmRzKSA8IDApCisgICAgICAgICByZXR1cm4g LTE7CistIyAgZWxzZQorLSAgICBpZiAodmlyQ29tbWFuZE1hc3NDbG9zZUdldEZEc0dlbmVyaWMo Y21kLCBmZHMpIDwgMCkKKy0gICAgICAgIHJldHVybiAtMTsKKy0jICBlbmRpZgorCisgICAgIGZk ID0gdmlyQml0bWFwTmV4dFNldEJpdChmZHMsIDIpOworICAgICBmb3IgKDsgZmQgPj0gMDsgZmQg PSB2aXJCaXRtYXBOZXh0U2V0Qml0KGZkcywgZmQpKSB7CitAQCAtNTk4LDYgKzU4Myw2MSBAQCB2 aXJDb21tYW5kTWFzc0Nsb3NlKHZpckNvbW1hbmRQdHIgY21kLAorICAgICByZXR1cm4gMDsKKyB9 CisKKysjZWxzZSAvKiAhIF9fRnJlZUJTRF9fICYmICEgX19HTElCQ19fICovCisrc3RhdGljIGlu dAorK3ZpckNvbW1hbmRNYXNzQ2xvc2UodmlyQ29tbWFuZFB0ciBjbWQsCisrICAgICAgICAgICAg ICAgICAgICBpbnQgY2hpbGRpbiwKKysgICAgICAgICAgICAgICAgICAgIGludCBjaGlsZG91dCwK KysgICAgICAgICAgICAgICAgICAgIGludCBjaGlsZGVycikKKyt7CisrICAgIHN0YXRpYyBzdHJ1 Y3QgcG9sbGZkIHBmZHNbMTAyNF07CisrICAgIGludCBmZCA9IDA7CisrICAgIGludCBpLCB0b3Rh bDsKKysgICAgaW50IG1heF9mZCA9IHN5c2NvbmYoX1NDX09QRU5fTUFYKTsKKysKKysgICAgaWYg KG1heF9mZCA8IDApIHsKKysgICAgICAgIHZpclJlcG9ydFN5c3RlbUVycm9yKGVycm5vLCAiJXMi LCBfKCJzeXNjb25mKF9TQ19PUEVOX01BWCkgZmFpbGVkIikpOworKyAgICAgICAgcmV0dXJuIC0x OworKyAgICB9CisrCisrICAgIHRvdGFsID0gbWF4X2ZkIC0gZmQ7CisrICAgIGZvciAoaSA9IDA7 IGkgPCAodG90YWwgPCAxMDI0ID8gdG90YWwgOiAxMDI0KTsgaSsrKQorKyAgICAgICAgcGZkc1tp XS5ldmVudHMgPSAwOworKworKyAgICB3aGlsZSAoZmQgPCBtYXhfZmQpIHsKKysgICAgICAgIGlu dCBuZmRzLCByID0gMDsKKysKKysgICAgICAgIHRvdGFsID0gbWF4X2ZkIC0gZmQ7CisrICAgICAg ICBuZmRzID0gIHRvdGFsIDwgMTAyNCA/IHRvdGFsIDogMTAyNDsKKysKKysgICAgICAgIGZvciAo aSA9IDA7IGkgPCBuZmRzOyBpKyspCisrICAgICAgICAgICAgcGZkc1tpXS5mZCA9IGZkICsgaTsK KysKKysgICAgICAgIGRvIHsKKysgICAgICAgICAgICByID0gcG9sbChwZmRzLCBuZmRzLCAwKTsK KysgICAgICAgIH0gd2hpbGUgKHIgPT0gLTEgJiYgZXJybm8gPT0gRUlOVFIpOworKworKyAgICAg ICAgaWYgKHIgPCAwKSB7CisrICAgICAgICAgICAgdmlyUmVwb3J0U3lzdGVtRXJyb3IoZXJybm8s ICIlcyIsIF8oInBvbGwoKSBmYWlsZWQiKSk7CisrICAgICAgICAgICAgcmV0dXJuIC0xOworKyAg ICAgICAgfQorKworKyAgICAgICAgZm9yIChpID0gMDsgaSA8IG5mZHM7IGkrKykKKysgICAgICAg ICAgICBpZiAocGZkc1tpXS5yZXZlbnRzICE9IFBPTExOVkFMKSB7CisrICAgICAgICAgICAgICAg IGlmIChwZmRzW2ldLmZkID09IGNoaWxkaW4gfHwgcGZkc1tpXS5mZCA9PSBjaGlsZG91dCB8fCBw ZmRzW2ldLmZkID09IGNoaWxkZXJyKQorKyAgICAgICAgICAgICAgICAgICAgY29udGludWU7Cisr ICAgICAgICAgICAgICAgIGlmICghdmlyQ29tbWFuZEZESXNTZXQoY21kLCBwZmRzW2ldLmZkKSkg eworKyAgICAgICAgICAgICAgICAgICAgVklSX01BU1NfQ0xPU0UocGZkc1tpXS5mZCk7CisrICAg ICAgICAgICAgICAgIH0gZWxzZSBpZiAodmlyU2V0SW5oZXJpdChwZmRzW2ldLmZkLCB0cnVlKSA8 IDApIHsKKysgICAgICAgICAgICAgICAgICAgIHZpclJlcG9ydFN5c3RlbUVycm9yKGVycm5vLCBf KCJmYWlsZWQgdG8gcHJlc2VydmUgZmQgJWQiKSwgcGZkc1tpXS5mZCk7CisrICAgICAgICAgICAg ICAgICAgICByZXR1cm4gLTE7CisrICAgICAgICAgICAgICAgIH0KKysgICAgICAgICAgICB9Cisr ICAgICAgICBmZCArPSBuZmRzOworKyAgICB9CisrICAgIHJldHVybiAwOworK30KKysKKyAjIGVu ZGlmIC8qICEgX19GcmVlQlNEX18gKi8KKworIC8qCistLQorMjIuMjguMApkaWZmIC0tZ2l0IGEv c3JjcGtncy9saWJ2aXJ0L3RlbXBsYXRlIGIvc3JjcGtncy9saWJ2aXJ0L3RlbXBsYXRlCmluZGV4 IGNjMDdlY2EzZDBiLi4yZjJkNzQ2Yzk1NSAxMDA2NDQKLS0tIGEvc3JjcGtncy9saWJ2aXJ0L3Rl bXBsYXRlCisrKyBiL3NyY3BrZ3MvbGlidmlydC90ZW1wbGF0ZQpAQCAtMSw3ICsxLDcgQEAKICMg VGVtcGxhdGUgZmlsZSBmb3IgJ2xpYnZpcnQnCiBwa2duYW1lPWxpYnZpcnQKIHZlcnNpb249Ni42 LjAKLXJldmlzaW9uPTQKK3JldmlzaW9uPTUKIGJ1aWxkX3dya3NyYz0iYnVpbGQiCiBidWlsZF9z dHlsZT1nbnUtY29uZmlndXJlCiBjb25maWd1cmVfc2NyaXB0PSIuLi9jb25maWd1cmUiCg== --===============6848495586616396419==--