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 23098 invoked from network); 26 Oct 2020 22:45:17 -0000 Received: from localhost (HELO inbox.vuxu.org) (::1) by localhost with ESMTPUTF8; 26 Oct 2020 22:45:17 -0000 Content-Type: multipart/mixed; boundary="===============4718223061013436738==" MIME-Version: 1.0 Subject: =?utf8?q?=5BPR_PATCH=5D_libvirt=3A_fix_deadlock_for_musl?= To: ml@inbox.vuxu.org From: sirn Reply-to: ml@inbox.vuxu.org Message-ID: Date: Mon, 26 Oct 2020 23:45:17 +0100 List-Id: GitHub notification mails are now in MIME to allow UTF8. --===============4718223061013436738== Content-Type: text/plain; charset="utf8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 VGhlcmUgaXMgYSBuZXcgcHVsbCByZXF1ZXN0IGJ5IHNpcm4gYWdhaW5zdCBtYXN0ZXIgb24gdGhl IHZvaWQtcGFja2FnZXMgcmVwb3NpdG9yeQoKaHR0cHM6Ly9naXRodWIuY29tL3Npcm4vdm9pZC1w YWNrYWdlcyBsaWJ2aXJ0LW11c2wtZml4Cmh0dHBzOi8vZ2l0aHViLmNvbS92b2lkLWxpbnV4L3Zv aWQtcGFja2FnZXMvcHVsbC8yNTkwNQoKbGlidmlydDogZml4IGRlYWRsb2NrIGZvciBtdXNsCmxp YnZpcnQgaGFzIGJlZW4gYnJva2VuIHVuZGVyIG11c2wgc2luY2UgdjYuMyBkdWUgdG8gaG93IGl0 IHVzZXMgbWFsbG9jL2ZyZWUgYWZ0ZXIgZm9yayBjYXVzaW5nIGEgZGVhZGxvY2suIFdoZW4gbGli dmlydCBpcyBpbiB0aGlzIHN0YXRlLCBhbnkgYXR0ZW1wdCB0byBjb25uZWN0IHRvIGl0ICh2aXJz aC92aXJ0LW1hbmFnZXIpIHdpbGwganVzdCBoYW5ncyBmb3JldmVyIHdhaXRpbmcgZm9yIGNvbm5l Y3Rpb24gdW50aWwgYSBgZGFlbW9uLWluaXRgIHByb2Nlc3MgdW5kZXIgbGlidmlydCBpcyBraWxs ZWQgKCMyMzcyNCwgW2FscGluZS9hcG9ydHMjMTE2MDJdKGh0dHBzOi8vZ2l0bGFiLmFscGluZWxp bnV4Lm9yZy9hbHBpbmUvYXBvcnRzLy0vaXNzdWVzLzExNjAyKSwgW2xpYnZpcnQvbGlidmlydCM1 Ml0oaHR0cHM6Ly9naXRsYWIuY29tL2xpYnZpcnQvbGlidmlydC8tL2lzc3Vlcy81MikpLg0KDQpU aGlzIFBSIGJhY2twb3J0IDIgcGF0Y2hlcyBmcm9tIEFscGluZSAzLjEyIHRvIGZpeCB0aGUgaXNz dWUuIEdvaW5nIHRvIG5lZWQgc29tZSB0ZXN0aW5nIG9uIGdsaWJjLCB0aG91Z2guCgpBIHBhdGNo IGZpbGUgZnJvbSBodHRwczovL2dpdGh1Yi5jb20vdm9pZC1saW51eC92b2lkLXBhY2thZ2VzL3B1 bGwvMjU5MDUucGF0Y2ggaXMgYXR0YWNoZWQ= --===============4718223061013436738== Content-Type: text/x-diff MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="github-pr-libvirt-musl-fix-25905.patch" RnJvbSAyMDM2NGFkYTZlY2E5MjBmNjQ0YzQwYWVlMTBiOTIxNWI1YTY0N2MwIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBLcmlkc2FkYSBUaGFuYWJ1bHBvbmcgPHNpcm5Ab2dzaXRlLm5l dD4KRGF0ZTogVHVlLCAyNyBPY3QgMjAyMCAwNzozNzo1MCArMDkwMApTdWJqZWN0OiBbUEFUQ0hd IGxpYnZpcnQ6IGZpeCBkZWFkbG9jayBmb3IgbXVzbAoKLS0tCiAuLi5hdm9pZC1mcmVlLXdoZW4t cmVzZXQtbG9nLWFmdGVyLWZvcmsucGF0Y2ggfCAxNDIgKysrKysrKysrKysrKysrKysrCiAuLi4v aW1wcm92ZS1nZW5lcmljLW1hc3MtY2xvc2Utb2YtZmRzLnBhdGNoICAgfCAxMzUgKysrKysrKysr KysrKysrKysKIHNyY3BrZ3MvbGlidmlydC90ZW1wbGF0ZSAgICAgICAgICAgICAgICAgICAgICB8 ICAgMiArLQogMyBmaWxlcyBjaGFuZ2VkLCAyNzggaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigt KQogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvbGlidmlydC9wYXRjaGVzL2F2b2lkLWZyZWUt d2hlbi1yZXNldC1sb2ctYWZ0ZXItZm9yay5wYXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3Br Z3MvbGlidmlydC9wYXRjaGVzL2ltcHJvdmUtZ2VuZXJpYy1tYXNzLWNsb3NlLW9mLWZkcy5wYXRj aAoKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvbGlidmlydC9wYXRjaGVzL2F2b2lkLWZyZWUtd2hlbi1y ZXNldC1sb2ctYWZ0ZXItZm9yay5wYXRjaCBiL3NyY3BrZ3MvbGlidmlydC9wYXRjaGVzL2F2b2lk LWZyZWUtd2hlbi1yZXNldC1sb2ctYWZ0ZXItZm9yay5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0 NAppbmRleCAwMDAwMDAwMDAwMC4uMDYyOThjMDJhYTYKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNw a2dzL2xpYnZpcnQvcGF0Y2hlcy9hdm9pZC1mcmVlLXdoZW4tcmVzZXQtbG9nLWFmdGVyLWZvcmsu cGF0Y2gKQEAgLTAsMCArMSwxNDIgQEAKK2h0dHBzOi8vd3d3LnJlZGhhdC5jb20vYXJjaGl2ZXMv bGlidmlyLWxpc3QvMjAyMC1BdWd1c3QvbXNnMDA1OTYuaHRtbAorCitEb2luZyBtYWxsb2MvZnJl ZSBhZnRlciBmb3JrIGlzIHRlY2hpbmNhbGx5IG5vdCBhbGxvd2VkIGluIFBPU0lYIGFuZAorZGVh 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 MDAwMDAwMDAwMDAuLmJmMjk4MzQwMWQ3Ci0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtncy9saWJ2 aXJ0L3BhdGNoZXMvaW1wcm92ZS1nZW5lcmljLW1hc3MtY2xvc2Utb2YtZmRzLnBhdGNoCkBAIC0w LDAgKzEsMTM1IEBACitodHRwczovL3d3dy5yZWRoYXQuY29tL2FyY2hpdmVzL2xpYnZpci1saXN0 LzIwMjAtQXVndXN0L21zZzAwNTk4Lmh0bWwKKworQWRkIGEgcG9ydGFibGUgZ2VuZXJpYyBpbXBs ZW1lbnRhdGlvbiBvZiB2aXJNYXNzQ2xvc2UgYXMgZmFsbGJhY2sgb24KKworbm9uLUZyZWVCU0Qg YW5kIG5vbi1nbGliYy4KKworVGhpcyBpbXBsZW1lbnRhdGlvbiB1c2VzIHBvbGwoMikgdG8gbG9v ayBmb3Igb3BlbiBmaWxlcyB0byBrZWVwCitwZXJmb3JtYW5jZSByZWFzb25hYmxlIHdoaWxlIG5v dCB1c2luZyBhbnkgbWFsbG9jcy4KKworVGhpcyBzb2x2ZXMgYSBkZWFkbG9jayB3aXRoIG11c2wg bGliYy4KKworU2lnbmVkLW9mZi1ieTogTmF0YW5hZWwgQ29wYSA8bmNvcGEgYWxwaW5lbGludXgg b3JnPgorLS0tCisgc3JjL3V0aWwvdmlyY29tbWFuZC5jIHwgNzYgKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrLS0tLS0tLS0tLQorIDEgZmlsZSBjaGFuZ2VkLCA1OCBpbnNlcnRpb25z KCspLCAxOCBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL3NyYy91dGlsL3ZpcmNvbW1hbmQu YyBiL3NyYy91dGlsL3ZpcmNvbW1hbmQuYworaW5kZXggMTdlNWJiMDBkMy4uMDY1NzljZmI0NCAx MDA2NDQKKy0tLSBzcmMvdXRpbC92aXJjb21tYW5kLmMKKysrKyBzcmMvdXRpbC92aXJjb21tYW5k LmMKK0BAIC00NDMsNyArNDQzLDcgQEAgdmlyRXhlY0NvbW1vbih2aXJDb21tYW5kUHRyIGNtZCwg Z2lkX3QgKmdyb3VwcywgaW50IG5ncm91cHMpCisgICAgIHJldHVybiAwOworIH0KKworLSMgaWZk ZWYgX19saW51eF9fCisrIyBpZiBkZWZpbmVkKF9fbGludXhfXykgJiYgZGVmaW5lZChfX0dMSUJD X18pCisgLyogT24gTGludXgsIHdlIGNhbiB1dGlsaXplIHByb2NmcyBhbmQgcmVhZCB0aGUgdGFi bGUgb2Ygb3BlbmVkCisgICogRkRzIGFuZCBzZWxlY3RpdmVseSBjbG9zZSBvbmx5IHRob3NlIEZE cyB3ZSBkb24ndCB3YW50IHRvIHBhc3MKKyAgKiBvbnRvIGNoaWxkIHByb2Nlc3MgKHdlbGwsIHRo ZSBvbmUgd2Ugd2lsbCBleGVjIHNvb24gc2luY2UgdGhpcworQEAgLTQ4MiwxNyArNDgyLDcgQEAg dmlyQ29tbWFuZE1hc3NDbG9zZUdldEZEc0xpbnV4KHZpckNvbW1hbmRQdHIgY21kIEdfR05VQ19V TlVTRUQsCisgICAgIFZJUl9ESVJfQ0xPU0UoZHApOworICAgICByZXR1cm4gcmV0OworIH0KKy0K Ky0jIGVsc2UgLyogIV9fbGludXhfXyAqLworLQorLXN0YXRpYyBpbnQKKy12aXJDb21tYW5kTWFz c0Nsb3NlR2V0RkRzR2VuZXJpYyh2aXJDb21tYW5kUHRyIGNtZCBHX0dOVUNfVU5VU0VELAorLSAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZpckJpdG1hcFB0ciBmZHMpCisteworLSAg ICB2aXJCaXRtYXBTZXRBbGwoZmRzKTsKKy0gICAgcmV0dXJuIDA7CistfQorLSMgZW5kaWYgLyog IV9fbGludXhfXyAqLworKyMgZW5kaWYgLyogX19saW51eF9fICYmIF9fR0xJQkNfXyAqLworCisg IyBpZmRlZiBfX0ZyZWVCU0RfXworCitAQCAtNTQ2LDcgKzUzNiw3IEBAIHZpckNvbW1hbmRNYXNz Q2xvc2UodmlyQ29tbWFuZFB0ciBjbWQsCisgICAgIHJldHVybiAwOworIH0KKworLSMgZWxzZSAv KiAhIF9fRnJlZUJTRF9fICovCisrIyBlbGlmIGRlZmluZWQoX19HTElCQ19fKSAgLyogISBfX0Zy ZWVCU0RfXyAqLworCisgc3RhdGljIGludAorIHZpckNvbW1hbmRNYXNzQ2xvc2UodmlyQ29tbWFu ZFB0ciBjbWQsCitAQCAtNTc0LDEzICs1NjQsOCBAQCB2aXJDb21tYW5kTWFzc0Nsb3NlKHZpckNv bW1hbmRQdHIgY21kLAorICAgICBpZiAoIShmZHMgPSB2aXJCaXRtYXBOZXcob3Blbm1heCkpKQor ICAgICAgICAgcmV0dXJuIC0xOworCistIyAgaWZkZWYgX19saW51eF9fCisgICAgIGlmICh2aXJD b21tYW5kTWFzc0Nsb3NlR2V0RkRzTGludXgoY21kLCBmZHMpIDwgMCkKKyAgICAgICAgIHJldHVy biAtMTsKKy0jICBlbHNlCistICAgIGlmICh2aXJDb21tYW5kTWFzc0Nsb3NlR2V0RkRzR2VuZXJp YyhjbWQsIGZkcykgPCAwKQorLSAgICAgICAgcmV0dXJuIC0xOworLSMgIGVuZGlmCisKKyAgICAg ZmQgPSB2aXJCaXRtYXBOZXh0U2V0Qml0KGZkcywgMik7CisgICAgIGZvciAoOyBmZCA+PSAwOyBm ZCA9IHZpckJpdG1hcE5leHRTZXRCaXQoZmRzLCBmZCkpIHsKK0BAIC01OTgsNiArNTgzLDYxIEBA IHZpckNvbW1hbmRNYXNzQ2xvc2UodmlyQ29tbWFuZFB0ciBjbWQsCisgICAgIHJldHVybiAwOwor IH0KKworKyNlbHNlIC8qICEgX19GcmVlQlNEX18gJiYgISBfX0dMSUJDX18gKi8KKytzdGF0aWMg aW50CisrdmlyQ29tbWFuZE1hc3NDbG9zZSh2aXJDb21tYW5kUHRyIGNtZCwKKysgICAgICAgICAg ICAgICAgICAgIGludCBjaGlsZGluLAorKyAgICAgICAgICAgICAgICAgICAgaW50IGNoaWxkb3V0 LAorKyAgICAgICAgICAgICAgICAgICAgaW50IGNoaWxkZXJyKQorK3sKKysgICAgc3RhdGljIHN0 cnVjdCBwb2xsZmQgcGZkc1sxMDI0XTsKKysgICAgaW50IGZkID0gMDsKKysgICAgaW50IGksIHRv dGFsOworKyAgICBpbnQgbWF4X2ZkID0gc3lzY29uZihfU0NfT1BFTl9NQVgpOworKworKyAgICBp ZiAobWF4X2ZkIDwgMCkgeworKyAgICAgICAgdmlyUmVwb3J0U3lzdGVtRXJyb3IoZXJybm8sICIl cyIsIF8oInN5c2NvbmYoX1NDX09QRU5fTUFYKSBmYWlsZWQiKSk7CisrICAgICAgICByZXR1cm4g LTE7CisrICAgIH0KKysKKysgICAgdG90YWwgPSBtYXhfZmQgLSBmZDsKKysgICAgZm9yIChpID0g MDsgaSA8ICh0b3RhbCA8IDEwMjQgPyB0b3RhbCA6IDEwMjQpOyBpKyspCisrICAgICAgICBwZmRz W2ldLmV2ZW50cyA9IDA7CisrCisrICAgIHdoaWxlIChmZCA8IG1heF9mZCkgeworKyAgICAgICAg aW50IG5mZHMsIHIgPSAwOworKworKyAgICAgICAgdG90YWwgPSBtYXhfZmQgLSBmZDsKKysgICAg ICAgIG5mZHMgPSAgdG90YWwgPCAxMDI0ID8gdG90YWwgOiAxMDI0OworKworKyAgICAgICAgZm9y IChpID0gMDsgaSA8IG5mZHM7IGkrKykKKysgICAgICAgICAgICBwZmRzW2ldLmZkID0gZmQgKyBp OworKworKyAgICAgICAgZG8geworKyAgICAgICAgICAgIHIgPSBwb2xsKHBmZHMsIG5mZHMsIDAp OworKyAgICAgICAgfSB3aGlsZSAociA9PSAtMSAmJiBlcnJubyA9PSBFSU5UUik7CisrCisrICAg ICAgICBpZiAociA8IDApIHsKKysgICAgICAgICAgICB2aXJSZXBvcnRTeXN0ZW1FcnJvcihlcnJu bywgIiVzIiwgXygicG9sbCgpIGZhaWxlZCIpKTsKKysgICAgICAgICAgICByZXR1cm4gLTE7Cisr ICAgICAgICB9CisrCisrICAgICAgICBmb3IgKGkgPSAwOyBpIDwgbmZkczsgaSsrKQorKyAgICAg ICAgICAgIGlmIChwZmRzW2ldLnJldmVudHMgIT0gUE9MTE5WQUwpIHsKKysgICAgICAgICAgICAg ICAgaWYgKHBmZHNbaV0uZmQgPT0gY2hpbGRpbiB8fCBwZmRzW2ldLmZkID09IGNoaWxkb3V0IHx8 IHBmZHNbaV0uZmQgPT0gY2hpbGRlcnIpCisrICAgICAgICAgICAgICAgICAgICBjb250aW51ZTsK KysgICAgICAgICAgICAgICAgaWYgKCF2aXJDb21tYW5kRkRJc1NldChjbWQsIHBmZHNbaV0uZmQp KSB7CisrICAgICAgICAgICAgICAgICAgICBWSVJfTUFTU19DTE9TRShwZmRzW2ldLmZkKTsKKysg ICAgICAgICAgICAgICAgfSBlbHNlIGlmICh2aXJTZXRJbmhlcml0KHBmZHNbaV0uZmQsIHRydWUp IDwgMCkgeworKyAgICAgICAgICAgICAgICAgICAgdmlyUmVwb3J0U3lzdGVtRXJyb3IoZXJybm8s IF8oImZhaWxlZCB0byBwcmVzZXJ2ZSBmZCAlZCIpLCBwZmRzW2ldLmZkKTsKKysgICAgICAgICAg ICAgICAgICAgIHJldHVybiAtMTsKKysgICAgICAgICAgICAgICAgfQorKyAgICAgICAgICAgIH0K KysgICAgICAgIGZkICs9IG5mZHM7CisrICAgIH0KKysgICAgcmV0dXJuIDA7CisrfQorKworICMg ZW5kaWYgLyogISBfX0ZyZWVCU0RfXyAqLworCisgLyoKKy0tCisyMi4yOC4wCmRpZmYgLS1naXQg YS9zcmNwa2dzL2xpYnZpcnQvdGVtcGxhdGUgYi9zcmNwa2dzL2xpYnZpcnQvdGVtcGxhdGUKaW5k ZXggY2MwN2VjYTNkMGIuLjJmMmQ3NDZjOTU1IDEwMDY0NAotLS0gYS9zcmNwa2dzL2xpYnZpcnQv dGVtcGxhdGUKKysrIGIvc3JjcGtncy9saWJ2aXJ0L3RlbXBsYXRlCkBAIC0xLDcgKzEsNyBAQAog IyBUZW1wbGF0ZSBmaWxlIGZvciAnbGlidmlydCcKIHBrZ25hbWU9bGlidmlydAogdmVyc2lvbj02 LjYuMAotcmV2aXNpb249NAorcmV2aXNpb249NQogYnVpbGRfd3Jrc3JjPSJidWlsZCIKIGJ1aWxk X3N0eWxlPWdudS1jb25maWd1cmUKIGNvbmZpZ3VyZV9zY3JpcHQ9Ii4uL2NvbmZpZ3VyZSIK --===============4718223061013436738==--