From mboxrd@z Thu Jan 1 00:00:00 1970 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 From: Michael Catanzaro To: git-commits@fedoraproject.org Subject: [rpms/glib2] cve-2026-58016-f44: Use smaller patches for the timezone issues Date: Tue, 11 Aug 2026 10:37:07 GMT Message-ID: <178644462780.1.691278738663961128.rpms-glib2-6c5949a8ca10@fedoraproject.org> List-ID: X-Git-Repo: rpms/glib2 X-Git-Branch: cve-2026-58016-f44 X-Git-Rev: 6c5949a8ca10308698aadc8bda29c1c3552f1b6e ICAgICAgICAgICAgQSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KCiAgICAgICAgICAgIFJl cG8gICA6IHJwbXMvZ2xpYjIKICAgICAgICAgICAgQnJhbmNoIDogY3ZlLTIwMjYtNTgwMTYtZjQ0 CiAgICAgICAgICAgIENvbW1pdCA6IDZjNTk0OWE4Y2ExMDMwODY5OGFhZGM4YmRhMjljMWMzNTUy ZjFiNmUKICAgICAgICAgICAgQXV0aG9yIDogTWljaGFlbCBDYXRhbnphcm8gPG1jYXRhbnphcm9A Z25vbWUub3JnPgogICAgICAgICAgICBEYXRlICAgOiAyMDIwLTEwLTE0VDE1OjMxOjAyLTA1OjAw CiAgICAgICAgICAgIFN0YXRzICA6ICsxMS8tNjIyIGluIDIgZmlsZShzKQogICAgICAgICAgICBV UkwgICAgOiBodHRwczovL3NyYy5mZWRvcmFwcm9qZWN0Lm9yZy9ycG1zL2dsaWIyL2MvNmM1OTQ5 YThjYTEwMzA4Njk4YWFkYzhiZGEyOWMxYzM1NTJmMWI2ZT9icmFuY2g9Y3ZlLTIwMjYtNTgwMTYt ZjQ0CgogICAgICAgICAgICBMb2c6CiAgICAgICAgICAgIFVzZSBzbWFsbGVyIHBhdGNoZXMgZm9y IHRoZSB0aW1lem9uZSBpc3N1ZXMKClNvbWVvbmUganVzdCBmb3VuZCBhIGJ1ZyBpbiB0aGUgYmln IHZlcnNpb24gb2YgdGhlIGZpeCwgc28gbGV0J3MgdXNlIGEKc21hbGxlciBmaXggdW50aWwgdGhl c2UgYXJlIGJvdGggYWNjZXB0ZWQgdXBzdHJlYW0uCgotLS0KZGlmZiAtLWdpdCBhL3RpbWV6b25l LW1hZG5lc3MtcHQyLnBhdGNoIGIvdGltZXpvbmUtbWFkbmVzcy1wdDIucGF0Y2gKaW5kZXggYzVh ZDRhMy4uNGVjYjM1YyAxMDA2NDQKLS0tIGEvdGltZXpvbmUtbWFkbmVzcy1wdDIucGF0Y2gKKysr IGIvdGltZXpvbmUtbWFkbmVzcy1wdDIucGF0Y2gKQEAgLTEsNjEgKzEsMyBAQAotRnJvbSBiNDEx ZjUxOGI4ZGM3YTk5YmFkNTI4ODQwNDg0MzZkOTkxYzg5Yjc3IE1vbiBTZXAgMTcgMDA6MDA6MDAg MjAwMQotRnJvbTogPT9VVEYtOD9xPz1EMD1BMD1EMT04Mz1EMT04MT1EMD1CQj1EMD1CMD1EMD1C RD0yMD1EMD05OD1EMD1CNj1EMD1CMT89Ci0gPT9VVEYtOD9xPz1EMT04Mz1EMD1CQj1EMD1CMD1E MT04Mj1EMD1CRT1EMD1CMj89IDxscm4xOTg2QGdtYWlsLmNvbT4KLURhdGU6IE1vbiwgNSBPY3Qg MjAyMCAxNzowNzoyOSArMDAwMAotU3ViamVjdDogW1BBVENIIDEvMl0gQWRkIGEgdGVzdCBmb3Ig dGhlIDYtZGF5cy11bnRpbC1FT00gYnVnCi0KLS0tLQotIGdsaWIvdGVzdHMvZ2RhdGV0aW1lLmMg fCAyNiArKysrKysrKysrKysrKysrKysrKysrKysrKwotIDEgZmlsZSBjaGFuZ2VkLCAyNiBpbnNl cnRpb25zKCspCi0KLWRpZmYgLS1naXQgYS9nbGliL3Rlc3RzL2dkYXRldGltZS5jIGIvZ2xpYi90 ZXN0cy9nZGF0ZXRpbWUuYwotaW5kZXggNTJlZWMxZTQ2Li4wNzMxZjAxZjIgMTAwNjQ0Ci0tLS0g YS9nbGliL3Rlc3RzL2dkYXRldGltZS5jCi0rKysgYi9nbGliL3Rlc3RzL2dkYXRldGltZS5jCi1A QCAtMjE5Miw2ICsyMTkyLDMxIEBAIHRlc3RfeiAodm9pZCkKLSAgIGdfdGltZV96b25lX3VucmVm ICh0eik7Ci0gfQotIAotK3N0YXRpYyB2b2lkCi0rdGVzdF82X2RheXNfdXRpbF9lbmRfb2ZfdGhl X21vbnRoICh2b2lkKQotK3sKLSsgIEdUaW1lWm9uZSAqdHo7Ci0rICBHRGF0ZVRpbWUgKmR0Owot KyAgZ2NoYXIgKnA7Ci0rCi0rICBnX3Rlc3RfYnVnICgiaHR0cHM6Ly9naXRsYWIuZ25vbWUub3Jn L0dOT01FL2dsaWIvLS9pc3N1ZXMvMjIxNSIpOwotKwotKyNpZmRlZiBHX09TX1VOSVgKLSsgIHR6 ID0gZ190aW1lX3pvbmVfbmV3ICgiRXVyb3BlL1BhcmlzIik7Ci0rI2VsaWYgZGVmaW5lZCAoR19P U19XSU4zMikKLSsgIHR6ID0gZ190aW1lX3pvbmVfbmV3ICgiUm9tYW5jZSBTdGFuZGFyZCBUaW1l Iik7Ci0rI2VuZGlmCi0rICBkdCA9IGdfZGF0ZV90aW1lX25ldyAodHosIDIwMjAsIDEwLCA1LCAx LCAxLCAxKTsKLSsKLSsgIHAgPSBnX2RhdGVfdGltZV9mb3JtYXQgKGR0LCAiJVktJW0tJWQgJUg6 JU06JVMleiIpOwotKyAgLyogSW5jb3JyZWN0IG91dHB1dCBpcyAgIjIwMjAtMTAtMDUgMDE6MDE6 MDErMDEwMCIgKi8KLSsgIGdfYXNzZXJ0X2NtcHN0ciAocCwgPT0sICIyMDIwLTEwLTA1IDAxOjAx OjAxKzAyMDAiKTsKLSsgIGdfZnJlZSAocCk7Ci0rCi0rICBnX2RhdGVfdGltZV91bnJlZiAoZHQp OwotKyAgZ190aW1lX3pvbmVfdW5yZWYgKHR6KTsKLSt9Ci0rCi0gc3RhdGljIHZvaWQKLSB0ZXN0 X2Zvcm1hdF9pc284NjAxICh2b2lkKQotIHsKLUBAIC0yNzg1LDYgKzI4MTAsNyBAQCBtYWluIChn aW50ICAgYXJnYywKLSAgIGdfdGVzdF9hZGRfZnVuYyAoIi9HRGF0ZVRpbWUvbmV3X2Zyb21faXNv ODYwMS8yIiwgdGVzdF9HRGF0ZVRpbWVfbmV3X2Zyb21faXNvODYwMV8yKTsKLSAgIGdfdGVzdF9h ZGRfZnVuYyAoIi9HRGF0ZVRpbWUvbmV3X2Z1bGwiLCB0ZXN0X0dEYXRlVGltZV9uZXdfZnVsbCk7 Ci0gICBnX3Rlc3RfYWRkX2Z1bmMgKCIvR0RhdGVUaW1lL25vdyIsIHRlc3RfR0RhdGVUaW1lX25v dyk7Ci0rICBnX3Rlc3RfYWRkX2Z1bmMgKCIvR0RhdGVUaW1lL3Rlc3QtNi1kYXlzLXV0aWwtZW5k LW9mLXRoZS1tb250aCIsIHRlc3RfNl9kYXlzX3V0aWxfZW5kX29mX3RoZV9tb250aCk7Ci0gICBn X3Rlc3RfYWRkX2Z1bmMgKCIvR0RhdGVUaW1lL3ByaW50ZiIsIHRlc3RfR0RhdGVUaW1lX3ByaW50 Zik7Ci0gICBnX3Rlc3RfYWRkX2Z1bmMgKCIvR0RhdGVUaW1lL25vbl91dGY4X3ByaW50ZiIsIHRl c3Rfbm9uX3V0ZjhfcHJpbnRmKTsKLSAgIGdfdGVzdF9hZGRfZnVuYyAoIi9HRGF0ZVRpbWUvZm9y bWF0X3VucmVwcmVzZW50YWJsZSIsIHRlc3RfZm9ybWF0X3VucmVwcmVzZW50YWJsZSk7Ci0tLSAK LUdpdExhYgotCi0KIEZyb20gNGExMjBjMmUyZTBhMjZlMWNkNWNlN2NiNGViZTkwNmVmNmQ1ODhk MyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKIEZyb206ID0/VVRGLTg/cT89RDA9QTA9RDE9ODM9 RDE9ODE9RDA9QkI9RDA9QjA9RDA9QkQ9MjA9RDA9OTg9RDA9QjY9RDA9QjE/PQogID0/VVRGLTg/ cT89RDE9ODM9RDA9QkI9RDA9QjA9RDE9ODI9RDA9QkU9RDA9QjI/PSA8bHJuMTk4NkBnbWFpbC5j b20+CgpkaWZmIC0tZ2l0IGEvdGltZXpvbmUtbWFkbmVzcy5wYXRjaCBiL3RpbWV6b25lLW1hZG5l c3MucGF0Y2gKaW5kZXggNjJiOTQ1YS4uM2IwMDE1OSAxMDA2NDQKLS0tIGEvdGltZXpvbmUtbWFk bmVzcy5wYXRjaAorKysgYi90aW1lem9uZS1tYWRuZXNzLnBhdGNoCkBAIC0xLDU3OSArMSwyNyBA QAotRnJvbSBiNDEzOGJkNGFjYzA0YWQ1NzJkZmEwNDJhMzg0YWFhYTZlNDYyMWFkIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQotRnJvbTogPT9VVEYtOD9xP0FudD1DMz1CM25pbz0yMEZlcm5hbmRl cz89IDxhbnRvbmlvZkBnbm9tZS5vcmc+Ci1EYXRlOiBXZWQsIDIzIFNlcCAyMDIwIDE4OjEzOjQ3 ICswMTAwCi1TdWJqZWN0OiBbUEFUQ0ggMS80XSBndGltZXpvbmU6IFNwbGl0IG91dCBmYWxsYmFj ayB0aW1lem9uZSBpZGVudGlmaWNhdGlvbiBmb3IKLSB1bml4Ci0KLVdoZW4gdGhlIFRaIGVudmly b25tZW50IHZhcmlhYmxlIGlzIG5vdCBzZXQsIHdlIGdldCB0aGUgbG9jYWwgdGltZXpvbmUKLWlk ZW50aWZpZXIgYnkgcmVhZGluZyBzcGVjaWZpYyBmaWxlcy4KLQotV2UgYXJlIGdvaW5nIHRvIG5l ZWQgdGhlc2UgaWRlbnRpZmllcnMgZWFybGllciwgc28gc3BsaXQgdGhpcyBsb2dpYyBpbnRvCi1p dHMgb3duIGZ1bmN0aW9uLCBpbiBwcmVwYXJhdGlvbiBmb3IgdGhlIG5leHQgY29tbWl0LgotCi1C YXNlZCBvbiBpZGVhIHByb3Bvc2VkIGJ5IFNlYmFzdGlhbiBLZWxsZXIgPHNrZWxsZXJAZ25vbWUu b3JnPi4KLS0tLQotIGdsaWIvZ3RpbWV6b25lLmMgfCAxMjcgKysrKysrKysrKysrKysrKysrKysr KysrKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0KLSAxIGZpbGUgY2hhbmdlZCwgNzMgaW5zZXJ0aW9u cygrKSwgNTQgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9nbGliL2d0aW1lem9uZS5jIGIv Z2xpYi9ndGltZXpvbmUuYwotaW5kZXggZWY2N2VjNTBiLi5kOTBhOWJiNzMgMTAwNjQ0Ci0tLS0g YS9nbGliL2d0aW1lem9uZS5jCi0rKysgYi9nbGliL2d0aW1lem9uZS5jCi1AQCAtNDM4LDExICs0 MzgsODAgQEAgem9uZV9mb3JfY29uc3RhbnRfb2Zmc2V0IChHVGltZVpvbmUgKmd0eiwgY29uc3Qg Z2NoYXIgKm5hbWUpCi0gfQotIAotICNpZmRlZiBHX09TX1VOSVgKLStzdGF0aWMgZ2NoYXIgKgot K3pvbmVfaWRlbnRpZmllcl91bml4ICh2b2lkKQotK3sKLSsgIGdjaGFyICpyZXNvbHZlZF9pZGVu dGlmaWVyID0gTlVMTDsKLSsgIGdzaXplIHByZWZpeF9sZW4gPSAwOwotKyAgZ2NoYXIgKmNhbm9u aWNhbF9wYXRoID0gTlVMTDsKLSsgIEdFcnJvciAqcmVhZF9saW5rX2VyciA9IE5VTEw7Ci0rICBj b25zdCBnY2hhciAqdHpkaXI7Ci0rCi0rICAvKiBSZXNvbHZlIHRoZSBhY3R1YWwgdGltZXpvbmUg cG9pbnRlZCB0byBieSAvZXRjL2xvY2FsdGltZS4gKi8KLSsgIHJlc29sdmVkX2lkZW50aWZpZXIg PSBnX2ZpbGVfcmVhZF9saW5rICgiL2V0Yy9sb2NhbHRpbWUiLCAmcmVhZF9saW5rX2Vycik7Ci0r ICBpZiAocmVzb2x2ZWRfaWRlbnRpZmllciA9PSBOVUxMKQotKyAgICB7Ci0rICAgICAgZ2Jvb2xl YW4gbm90X2Ffc3ltbGluayA9IGdfZXJyb3JfbWF0Y2hlcyAocmVhZF9saW5rX2VyciwKLSsgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHX0ZJTEVfRVJST1Is Ci0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR19GSUxF X0VSUk9SX0lOVkFMKTsKLSsgICAgICBnX2NsZWFyX2Vycm9yICgmcmVhZF9saW5rX2Vycik7Ci0r Ci0rICAgICAgLyogRmFsbGJhY2sgdG8gdGhlIGNvbnRlbnQgb2YgL3Zhci9kYi96b25laW5mbyBv ciAvZXRjL3RpbWV6b25lCi0rICAgICAgICogaWYgL2V0Yy9sb2NhbHRpbWUgaXMgbm90IGEgc3lt bGluay4gL3Zhci9kYi96b25laW5mbyBpcwotKyAgICAgICAqIHdoZXJlICd0enNldHVwJyBwcm9n cmFtIG9uIEZyZWVCU0QgYW5kIERyYWdvbmZseUJTRCBzdG9yZXMKLSsgICAgICAgKiB0aGUgdGlt ZXpvbmUgY2hvc2VuIGJ5IHRoZSB1c2VyLiAvZXRjL3RpbWV6b25lIGlzIHdoZXJlIHVzZXIKLSsg ICAgICAgKiBjaG9pY2UgaXMgZXhwcmVzc2VkIG9uIEdlbnRvbyBPcGVuUkMgYW5kIG90aGVycy4g Ki8KLSsgICAgICBpZiAobm90X2Ffc3ltbGluayAmJiAoZ19maWxlX2dldF9jb250ZW50cyAoIi92 YXIvZGIvem9uZWluZm8iLAotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAmcmVzb2x2ZWRfaWRlbnRpZmllciwKLSsgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgTlVMTCwgTlVMTCkgfHwKLSsgICAgICAgICAgICAg ICAgICAgICAgICAgICAgZ19maWxlX2dldF9jb250ZW50cyAoIi9ldGMvdGltZXpvbmUiLAotKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcmVzb2x2ZWRf aWRlbnRpZmllciwKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgTlVMTCwgTlVMTCkpKQotKyAgICAgICAgZ19zdHJjaG9tcCAocmVzb2x2ZWRfaWRlbnRp Zmllcik7Ci0rICAgICAgZWxzZQotKyAgICAgICAgewotKyAgICAgICAgICAvKiBFcnJvciAqLwot KyAgICAgICAgICBnX2Fzc2VydCAocmVzb2x2ZWRfaWRlbnRpZmllciA9PSBOVUxMKTsKLSsgICAg ICAgICAgZ290byBvdXQ7Ci0rICAgICAgICB9Ci0rICAgIH0KLSsgIGVsc2UKLSsgICAgewotKyAg ICAgIC8qIFJlc29sdmUgcmVsYXRpdmUgcGF0aCAqLwotKyAgICAgIGNhbm9uaWNhbF9wYXRoID0g Z19jYW5vbmljYWxpemVfZmlsZW5hbWUgKHJlc29sdmVkX2lkZW50aWZpZXIsICIvZXRjIik7Ci0r ICAgICAgZ19mcmVlIChyZXNvbHZlZF9pZGVudGlmaWVyKTsKLSsgICAgICByZXNvbHZlZF9pZGVu dGlmaWVyID0gZ19zdGVhbF9wb2ludGVyICgmY2Fub25pY2FsX3BhdGgpOwotKyAgICB9Ci0rCi0r ICB0emRpciA9IGdfZ2V0ZW52ICgiVFpESVIiKTsKLSsgIGlmICh0emRpciA9PSBOVUxMKQotKyAg ICB0emRpciA9ICIvdXNyL3NoYXJlL3pvbmVpbmZvIjsKLSsKLSsgIC8qIFN0cmlwIHRoZSBwcmVm aXggYW5kIHNsYXNoZXMgaWYgcG9zc2libGUuICovCi0rICBpZiAoZ19zdHJfaGFzX3ByZWZpeCAo cmVzb2x2ZWRfaWRlbnRpZmllciwgdHpkaXIpKQotKyAgICB7Ci0rICAgICAgcHJlZml4X2xlbiA9 IHN0cmxlbiAodHpkaXIpOwotKyAgICAgIHdoaWxlICgqKHJlc29sdmVkX2lkZW50aWZpZXIgKyBw cmVmaXhfbGVuKSA9PSAnLycpCi0rICAgICAgICBwcmVmaXhfbGVuKys7Ci0rICAgIH0KLSsKLSsg IGlmIChwcmVmaXhfbGVuID4gMCkKLSsgICAgbWVtbW92ZSAocmVzb2x2ZWRfaWRlbnRpZmllciwg cmVzb2x2ZWRfaWRlbnRpZmllciArIHByZWZpeF9sZW4sCi0rICAgICAgICAgICAgIHN0cmxlbiAo cmVzb2x2ZWRfaWRlbnRpZmllcikgLSBwcmVmaXhfbGVuICsgMSAgLyogbnVsIHRlcm1pbmF0b3Ig Ki8pOwotKwotKyAgZ19hc3NlcnQgKHJlc29sdmVkX2lkZW50aWZpZXIgIT0gTlVMTCk7Ci0rCi0r b3V0OgotKyAgZ19mcmVlIChjYW5vbmljYWxfcGF0aCk7Ci0rCi0rICByZXR1cm4gcmVzb2x2ZWRf aWRlbnRpZmllcjsKLSt9Ci0rCi0gc3RhdGljIEdCeXRlcyoKLSB6b25lX2luZm9fdW5peCAoY29u c3QgZ2NoYXIgICppZGVudGlmaWVyLAotICAgICAgICAgICAgICAgICBnY2hhciAgICAgICAqKm91 dF9pZGVudGlmaWVyKQotIHsKLS0gIGdjaGFyICpmaWxlbmFtZTsKLSsgIGdjaGFyICpmaWxlbmFt ZSA9IE5VTEw7Ci0gICBHTWFwcGVkRmlsZSAqZmlsZSA9IE5VTEw7Ci0gICBHQnl0ZXMgKnpvbmVp bmZvID0gTlVMTDsKLSAgIGdjaGFyICpyZXNvbHZlZF9pZGVudGlmaWVyID0gTlVMTDsKLUBAIC00 NzAsNjEgKzUzOSwxMSBAQCB6b25lX2luZm9fdW5peCAoY29uc3QgZ2NoYXIgICppZGVudGlmaWVy LAotICAgICB9Ci0gICBlbHNlCi0gICAgIHsKLS0gICAgICBnc2l6ZSBwcmVmaXhfbGVuID0gMDsK LS0gICAgICBnY2hhciAqY2Fub25pY2FsX3BhdGggPSBOVUxMOwotLSAgICAgIEdFcnJvciAqcmVh ZF9saW5rX2VyciA9IE5VTEw7Ci0tCi0tICAgICAgZmlsZW5hbWUgPSBnX3N0cmR1cCAoIi9ldGMv bG9jYWx0aW1lIik7Ci0tCi0tICAgICAgLyogUmVzb2x2ZSB0aGUgYWN0dWFsIHRpbWV6b25lIHBv aW50ZWQgdG8gYnkgL2V0Yy9sb2NhbHRpbWUuICovCi0tICAgICAgcmVzb2x2ZWRfaWRlbnRpZmll ciA9IGdfZmlsZV9yZWFkX2xpbmsgKGZpbGVuYW1lLCAmcmVhZF9saW5rX2Vycik7Ci0rICAgICAg cmVzb2x2ZWRfaWRlbnRpZmllciA9IHpvbmVfaWRlbnRpZmllcl91bml4ICgpOwotICAgICAgIGlm IChyZXNvbHZlZF9pZGVudGlmaWVyID09IE5VTEwpCi0tICAgICAgICB7Ci0tICAgICAgICAgIGdi b29sZWFuIG5vdF9hX3N5bWxpbmsgPSBnX2Vycm9yX21hdGNoZXMgKHJlYWRfbGlua19lcnIsCi0t ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdfRklM RV9FUlJPUiwKLS0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgR19GSUxFX0VSUk9SX0lOVkFMKTsKLS0gICAgICAgICAgZ19jbGVhcl9lcnJvciAoJnJl YWRfbGlua19lcnIpOwotLQotLSAgICAgICAgICAvKiBGYWxsYmFjayB0byB0aGUgY29udGVudCBv ZiAvdmFyL2RiL3pvbmVpbmZvIG9yIC9ldGMvdGltZXpvbmUKLS0gICAgICAgICAgICogaWYgL2V0 Yy9sb2NhbHRpbWUgaXMgbm90IGEgc3ltbGluay4gL3Zhci9kYi96b25laW5mbyBpcwotLSAgICAg ICAgICAgKiB3aGVyZSAndHpzZXR1cCcgcHJvZ3JhbSBvbiBGcmVlQlNEIGFuZCBEcmFnb25mbHlC U0Qgc3RvcmVzCi0tICAgICAgICAgICAqIHRoZSB0aW1lem9uZSBjaG9zZW4gYnkgdGhlIHVzZXIu IC9ldGMvdGltZXpvbmUgaXMgd2hlcmUgdXNlcgotLSAgICAgICAgICAgKiBjaG9pY2UgaXMgZXhw cmVzc2VkIG9uIEdlbnRvbyBPcGVuUkMgYW5kIG90aGVycy4gKi8KLS0gICAgICAgICAgaWYgKG5v dF9hX3N5bWxpbmsgJiYgKGdfZmlsZV9nZXRfY29udGVudHMgKCIvdmFyL2RiL3pvbmVpbmZvIiwK LS0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZy ZXNvbHZlZF9pZGVudGlmaWVyLAotLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgTlVMTCwgTlVMTCkgfHwKLS0gICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIGdfZmlsZV9nZXRfY29udGVudHMgKCIvZXRjL3RpbWV6b25lIiwKLS0gICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZyZXNvbHZlZF9p ZGVudGlmaWVyLAotLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgTlVMTCwgTlVMTCkpKQotLSAgICAgICAgICAgIGdfc3RyY2hvbXAgKHJlc29sdmVk X2lkZW50aWZpZXIpOwotLSAgICAgICAgICBlbHNlCi0tICAgICAgICAgICAgewotLSAgICAgICAg ICAgICAgLyogRXJyb3IgKi8KLS0gICAgICAgICAgICAgIGdfYXNzZXJ0IChyZXNvbHZlZF9pZGVu dGlmaWVyID09IE5VTEwpOwotLSAgICAgICAgICAgICAgZ290byBvdXQ7Ci0tICAgICAgICAgICAg fQotLSAgICAgICAgfQotLSAgICAgIGVsc2UKLS0gICAgICAgIHsKLS0gICAgICAgICAgLyogUmVz b2x2ZSByZWxhdGl2ZSBwYXRoICovCi0tICAgICAgICAgIGNhbm9uaWNhbF9wYXRoID0gZ19jYW5v bmljYWxpemVfZmlsZW5hbWUgKHJlc29sdmVkX2lkZW50aWZpZXIsICIvZXRjIik7Ci0tICAgICAg ICAgIGdfZnJlZSAocmVzb2x2ZWRfaWRlbnRpZmllcik7Ci0tICAgICAgICAgIHJlc29sdmVkX2lk ZW50aWZpZXIgPSBnX3N0ZWFsX3BvaW50ZXIgKCZjYW5vbmljYWxfcGF0aCk7Ci0tICAgICAgICB9 Ci0rICAgICAgICBnb3RvIG91dDsKLSAKLS0gICAgICAvKiBTdHJpcCB0aGUgcHJlZml4IGFuZCBz bGFzaGVzIGlmIHBvc3NpYmxlLiAqLwotLSAgICAgIGlmIChnX3N0cl9oYXNfcHJlZml4IChyZXNv bHZlZF9pZGVudGlmaWVyLCB0emRpcikpCi0tICAgICAgICB7Ci0tICAgICAgICAgIHByZWZpeF9s ZW4gPSBzdHJsZW4gKHR6ZGlyKTsKLS0gICAgICAgICAgd2hpbGUgKCoocmVzb2x2ZWRfaWRlbnRp ZmllciArIHByZWZpeF9sZW4pID09ICcvJykKLS0gICAgICAgICAgICBwcmVmaXhfbGVuKys7Ci0t ICAgICAgICB9Ci0tCi0tICAgICAgaWYgKHByZWZpeF9sZW4gPiAwKQotLSAgICAgICAgbWVtbW92 ZSAocmVzb2x2ZWRfaWRlbnRpZmllciwgcmVzb2x2ZWRfaWRlbnRpZmllciArIHByZWZpeF9sZW4s Ci0tICAgICAgICAgICAgICAgICBzdHJsZW4gKHJlc29sdmVkX2lkZW50aWZpZXIpIC0gcHJlZml4 X2xlbiArIDEgIC8qIG51bCB0ZXJtaW5hdG9yICovKTsKLS0KLS0gICAgICBnX2ZyZWUgKGNhbm9u aWNhbF9wYXRoKTsKLSsgICAgICBmaWxlbmFtZSA9IGdfc3RyZHVwICgiL2V0Yy9sb2NhbHRpbWUi KTsKLSAgICAgfQotIAotICAgZmlsZSA9IGdfbWFwcGVkX2ZpbGVfbmV3IChmaWxlbmFtZSwgRkFM U0UsIE5VTEwpOwotLS0gCi1HaXRMYWIKLQotCi1Gcm9tIDdlNTlhNGMwZDVhYjhlMDhmZTJjZjU5 NmZiOTUxMjcwOGUxODNkZTggTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiA9P1VURi04 P3E/QW50PUMzPUIzbmlvPTIwRmVybmFuZGVzPz0gPGFudG9uaW9mQGdub21lLm9yZz4KLURhdGU6 IFdlZCwgMjMgU2VwIDIwMjAgMTg6Mjg6NDAgKzAxMDAKLVN1YmplY3Q6IFtQQVRDSCAyLzRdIGd0 aW1lem9uZTogU2V0IHJlc29sdmVkX2lkZW50aWZpZXIgZWFybGllcgotCi1XZSBoYXZlIGJlZW4g cGFzc2luZyBhICZyZXNvbHZlZF9pZGVudGlmaWVyIGFkZHJlc3MgYXJvdW5kIGZvciBtdWx0aXBs ZQotZnVuY3Rpb25zIHRvIHNldCBpdC4gRWFjaCBmdW5jdGlvbiBtYXkgZWl0aGVyOgotCi0gICAg MS4gIGxlYXZpbmcgaXQgZm9yIHRoZSBuZXh0IGZ1bmN0aW9uIHRvIHNldCwgaWYgcmV0dXJuaW5n IGVhcmx5OwotICAgIDIuICBzZXQgaXQgdG8gYSBkdXBsaWNhdGUgb2YgdGhlIHBhc3NlZCBpZGVu dGlmaWVyLCBpZiBub3QgTlVMTDsKLSAgICAzLiAgZ2V0IGEgZmFsbGJhY2sgdmFsdWUgYW5kIHNl dCBpdCwgb3RoZXJ3aXNlLgotCi1UaGlzIGNhbiBiZSBzaW1wbGlmaWVkIGJ5IHNldHRpbmcgaXQg ZWFybHkgdG8gZWl0aGVyOgotCi0gICAgMS4gIGEgZHVwbGljYXRlIG9mIHRoZSBwYXNzZWQgaWRl bnRpZmllciwgaWYgbm90IE5VTEw7Ci0gICAgMi4gIGEgZmFsbGJhY2sgdmFsdWUsIG90aGVyd2lz ZS4KLQotVGhpcyB3YXkgd2UgY2FuIGF2b2lkIHNvbWUgdW5uZWNlc3Nhcnkgc3RyaW5nIGR1cGxp Y2F0aW9uIGFuZCBmcmVlaW5nLgotQWxzbywgb24gV2luZG93cywgd2UgYXZvaWQgY2FsbGluZyB3 aW5kb3dzX2RlZmF1bHRfdHpuYW1lKCkgdHdpY2UuCi0KLUJ1dCB0aGUgbWFpbiBtb3RpdmF0aW9u IGZvciB0aGlzIGNoYW5nZSBpcyBlbmFibGluZyB0aGUgcGVyZm9ybWFuY2UKLW9wdGltaXphdGlv biBpbiB0aGUgbmV4dCBjb21taXQuCi0tLS0KLSBnbGliL2d0aW1lem9uZS5jIHwgNzYgKysrKysr KysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0gMSBmaWxlIGNoYW5n ZWQsIDI1IGluc2VydGlvbnMoKyksIDUxIGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvZ2xp Yi9ndGltZXpvbmUuYyBiL2dsaWIvZ3RpbWV6b25lLmMKLWluZGV4IGQ5MGE5YmI3My4uNDAwNjRj OWFiIDEwMDY0NAotLS0tIGEvZ2xpYi9ndGltZXpvbmUuYwotKysrIGIvZ2xpYi9ndGltZXpvbmUu YwotQEAgLTUwOCwxMyArNTA4LDEyIEBAIG91dDoKLSB9Ci0gCi0gc3RhdGljIEdCeXRlcyoKLS16 b25lX2luZm9fdW5peCAoY29uc3QgZ2NoYXIgICppZGVudGlmaWVyLAotLSAgICAgICAgICAgICAg ICBnY2hhciAgICAgICAqKm91dF9pZGVudGlmaWVyKQotK3pvbmVfaW5mb191bml4IChjb25zdCBn Y2hhciAqaWRlbnRpZmllciwKLSsgICAgICAgICAgICAgICAgY29uc3QgZ2NoYXIgKnJlc29sdmVk X2lkZW50aWZpZXIpCi0gewotICAgZ2NoYXIgKmZpbGVuYW1lID0gTlVMTDsKLSAgIEdNYXBwZWRG aWxlICpmaWxlID0gTlVMTDsKLSAgIEdCeXRlcyAqem9uZWluZm8gPSBOVUxMOwotLSAgZ2NoYXIg KnJlc29sdmVkX2lkZW50aWZpZXIgPSBOVUxMOwotICAgY29uc3QgZ2NoYXIgKnR6ZGlyOwotIAot ICAgdHpkaXIgPSBnX2dldGVudiAoIlRaRElSIik7Ci1AQCAtNTI3LDggKzUyNiw2IEBAIHpvbmVf aW5mb191bml4IChjb25zdCBnY2hhciAgKmlkZW50aWZpZXIsCi0gICAgICBnbGliYyBhbGxvd3Mg Ym90aCBzeW50YXhlcywgc28gd2Ugc2hvdWxkIHRvbyAqLwotICAgaWYgKGlkZW50aWZpZXIgIT0g TlVMTCkKLSAgICAgewotLSAgICAgIHJlc29sdmVkX2lkZW50aWZpZXIgPSBnX3N0cmR1cCAoaWRl bnRpZmllcik7Ci0tCi0gICAgICAgaWYgKCppZGVudGlmaWVyID09ICc6JykKLSAgICAgICAgIGlk ZW50aWZpZXIgKys7Ci0gCi1AQCAtNTM5LDcgKzUzNiw2IEBAIHpvbmVfaW5mb191bml4IChjb25z dCBnY2hhciAgKmlkZW50aWZpZXIsCi0gICAgIH0KLSAgIGVsc2UKLSAgICAgewotLSAgICAgIHJl c29sdmVkX2lkZW50aWZpZXIgPSB6b25lX2lkZW50aWZpZXJfdW5peCAoKTsKLSAgICAgICBpZiAo cmVzb2x2ZWRfaWRlbnRpZmllciA9PSBOVUxMKQotICAgICAgICAgZ290byBvdXQ7Ci0gCi1AQCAt NTU5LDEwICs1NTUsNiBAQCB6b25lX2luZm9fdW5peCAoY29uc3QgZ2NoYXIgICppZGVudGlmaWVy LAotICAgZ19hc3NlcnQgKHJlc29sdmVkX2lkZW50aWZpZXIgIT0gTlVMTCk7Ci0gCi0gb3V0Ogot LSAgaWYgKG91dF9pZGVudGlmaWVyICE9IE5VTEwpCi0tICAgICpvdXRfaWRlbnRpZmllciA9IGdf c3RlYWxfcG9pbnRlciAoJnJlc29sdmVkX2lkZW50aWZpZXIpOwotLQotLSAgZ19mcmVlIChyZXNv bHZlZF9pZGVudGlmaWVyKTsKLSAgIGdfZnJlZSAoZmlsZW5hbWUpOwotIAotICAgcmV0dXJuIHpv bmVpbmZvOwotQEAgLTgzNCwxNCArODI2LDEzIEBAIHJlZ2lzdGVyX3R6aV90b190emkgKFJlZ1Ra SSAqcmVnLCBUSU1FX1pPTkVfSU5GT1JNQVRJT04gKnR6aSkKLSAKLSBzdGF0aWMgZ3VpbnQKLSBy dWxlc19mcm9tX3dpbmRvd3NfdGltZV96b25lIChjb25zdCBnY2hhciAgICppZGVudGlmaWVyLAot LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdjaGFyICAgICAgICAqKm91dF9pZGVudGlm aWVyLAotLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRpbWVab25lUnVsZSAqKnJ1bGVz LAotLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdib29sZWFuICAgICAgIGNvcHlfaWRl bnRpZmllcikKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBnY2hhciAgICpy ZXNvbHZlZF9pZGVudGlmaWVyLAotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRpbWVa b25lUnVsZSAqKnJ1bGVzKQotIHsKLSAgIEhLRVkga2V5OwotICAgZ2NoYXIgKnN1YmtleSA9IE5V TEw7Ci0gICBnY2hhciAqc3Via2V5X2R5bmFtaWMgPSBOVUxMOwotLSAgZ2NoYXIgKmtleV9uYW1l ID0gTlVMTDsKLSsgIGNvbnN0IGdjaGFyICprZXlfbmFtZTsKLSAgIGNvbnN0IGdjaGFyICpyZWdf a2V5ID0KLSAgICAgIlNPRlRXQVJFXFxNaWNyb3NvZnRcXFdpbmRvd3MgTlRcXEN1cnJlbnRWZXJz aW9uXFxUaW1lIFpvbmVzXFwiOwotICAgVElNRV9aT05FX0lORk9STUFUSU9OIHR6aTsKLUBAIC04 NTYsMTkgKzg0NywxNSBAQCBydWxlc19mcm9tX3dpbmRvd3NfdGltZV96b25lIChjb25zdCBnY2hh ciAgICppZGVudGlmaWVyLAotICAgaWYgKEdldFN5c3RlbURpcmVjdG9yeVcgKHdpbnN5c3BhdGgs IE1BWF9QQVRIKSA9PSAwKQotICAgICByZXR1cm4gMDsKLSAKLS0gIGdfYXNzZXJ0IChjb3B5X2lk ZW50aWZpZXIgPT0gRkFMU0UgfHwgb3V0X2lkZW50aWZpZXIgIT0gTlVMTCk7Ci0gICBnX2Fzc2Vy dCAocnVsZXMgIT0gTlVMTCk7Ci0gCi0tICBpZiAoY29weV9pZGVudGlmaWVyKQotLSAgICAqb3V0 X2lkZW50aWZpZXIgPSBOVUxMOwotLQotICAgKnJ1bGVzID0gTlVMTDsKLSAgIGtleV9uYW1lID0g TlVMTDsKLSAKLSAgIGlmICghaWRlbnRpZmllcikKLS0gICAga2V5X25hbWUgPSB3aW5kb3dzX2Rl ZmF1bHRfdHpuYW1lICgpOwotKyAgICBrZXlfbmFtZSA9IHJlc29sdmVkX2lkZW50aWZpZXI7Ci0g ICBlbHNlCi0tICAgIGtleV9uYW1lID0gZ19zdHJkdXAgKGlkZW50aWZpZXIpOwotKyAgICBrZXlf bmFtZSA9IGlkZW50aWZpZXI7Ci0gCi0gICBpZiAoIWtleV9uYW1lKQotICAgICByZXR1cm4gMDsK LUBAIC0xMDExLDE2ICs5OTgsOSBAQCB1dGYxNl9jb252X2ZhaWxlZDoKLSAgICAgICBlbHNlCi0g ICAgICAgICAoKnJ1bGVzKVtydWxlc19udW0gLSAxXS5zdGFydF95ZWFyID0gKCpydWxlcylbcnVs ZXNfbnVtIC0gMl0uc3RhcnRfeWVhciArIDE7Ci0gCi0tICAgICAgaWYgKGNvcHlfaWRlbnRpZmll cikKLS0gICAgICAgICpvdXRfaWRlbnRpZmllciA9IGdfc3RlYWxfcG9pbnRlciAoJmtleV9uYW1l KTsKLS0gICAgICBlbHNlCi0tICAgICAgICBnX2ZyZWUgKGtleV9uYW1lKTsKLS0KLSAgICAgICBy ZXR1cm4gcnVsZXNfbnVtOwotICAgICB9Ci0gCi0tICBnX2ZyZWUgKGtleV9uYW1lKTsKLS0KLSAg IHJldHVybiAwOwotIH0KLSAKLUBAIC0xNTIxLDE2ICsxNTAxLDEzIEBAIHBhcnNlX2lkZW50aWZp ZXJfYm91bmRhcmllcyAoZ2NoYXIgKipwb3MsIFRpbWVab25lUnVsZSAqdHpyKQotICAqLwotIHN0 YXRpYyBndWludAotIHJ1bGVzX2Zyb21faWRlbnRpZmllciAoY29uc3QgZ2NoYXIgICAqaWRlbnRp ZmllciwKLS0gICAgICAgICAgICAgICAgICAgICAgIGdjaGFyICAgICAgICAqKm91dF9pZGVudGlm aWVyLAotICAgICAgICAgICAgICAgICAgICAgICAgVGltZVpvbmVSdWxlICoqcnVsZXMpCi0gewot ICAgZ2NoYXIgKnBvczsKLSAgIFRpbWVab25lUnVsZSB0enI7Ci0gCi0tICBnX2Fzc2VydCAob3V0 X2lkZW50aWZpZXIgIT0gTlVMTCk7Ci0gICBnX2Fzc2VydCAocnVsZXMgIT0gTlVMTCk7Ci0gCi0t ICAqb3V0X2lkZW50aWZpZXIgPSBOVUxMOwotICAgKnJ1bGVzID0gTlVMTDsKLSAKLSAgIGlmICgh aWRlbnRpZmllcikKLUBAIC0xNTQ1LDcgKzE1MjIsNiBAQCBydWxlc19mcm9tX2lkZW50aWZpZXIg KGNvbnN0IGdjaGFyICAgKmlkZW50aWZpZXIsCi0gCi0gICBpZiAoKnBvcyA9PSAwKQotICAgICB7 Ci0tICAgICAgKm91dF9pZGVudGlmaWVyID0gZ19zdHJkdXAgKGlkZW50aWZpZXIpOwotICAgICAg IHJldHVybiBjcmVhdGVfcnVsZXNldF9mcm9tX3J1bGUgKHJ1bGVzLCAmdHpyKTsKLSAgICAgfQot IAotQEAgLTE1NjYsMTQgKzE1NDIsOCBAQCBydWxlc19mcm9tX2lkZW50aWZpZXIgKGNvbnN0IGdj aGFyICAgKmlkZW50aWZpZXIsCi0gICAgICAgLyogVXNlIFVTIHJ1bGVzLCBXaW5kb3dzJyBkZWZh dWx0IGlzIFBhY2lmaWMgU3RhbmRhcmQgVGltZSAqLwotICAgICAgIGlmICgocnVsZXNfbnVtID0g cnVsZXNfZnJvbV93aW5kb3dzX3RpbWVfem9uZSAoIlBhY2lmaWMgU3RhbmRhcmQgVGltZSIsCi0g ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOVUxM LAotLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg cnVsZXMsCi0tICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBGQUxTRSkpKQotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgcnVsZXMpKSkKLSAgICAgICAgIHsKLS0gICAgICAgICAgLyogV2UgZG9uJ3Qg d2FudCB0byBoYXJkY29kZSBvdXIgaWRlbnRpZmllciBoZXJlIGFzCi0tICAgICAgICAgICAqICJQ YWNpZmljIFN0YW5kYXJkIFRpbWUiLCB1c2Ugd2hhdCB3YXMgcGFzc2VkIGluCi0tICAgICAgICAg ICAqLwotLSAgICAgICAgICAqb3V0X2lkZW50aWZpZXIgPSBnX3N0cmR1cCAoaWRlbnRpZmllcik7 Ci0tCi0gICAgICAgICAgIGZvciAoaSA9IDA7IGkgPCBydWxlc19udW0gLSAxOyBpKyspCi0gICAg ICAgICAgICAgewotICAgICAgICAgICAgICAgKCpydWxlcylbaV0uc3RkX29mZnNldCA9IC0gdHpy LnN0ZF9vZmZzZXQ7Ci1AQCAtMTU5NCw3ICsxNTY0LDYgQEAgcnVsZXNfZnJvbV9pZGVudGlmaWVy IChjb25zdCBnY2hhciAgICppZGVudGlmaWVyLAotICAgaWYgKCFwYXJzZV9pZGVudGlmaWVyX2Jv dW5kYXJpZXMgKCZwb3MsICZ0enIpKQotICAgICByZXR1cm4gMDsKLSAKLS0gICpvdXRfaWRlbnRp ZmllciA9IGdfc3RyZHVwIChpZGVudGlmaWVyKTsKLSAgIHJldHVybiBjcmVhdGVfcnVsZXNldF9m cm9tX3J1bGUgKHJ1bGVzLCAmdHpyKTsKLSB9Ci0gCi1AQCAtMTYwNSwxNyArMTU3NCwxMyBAQCBw YXJzZV9mb290ZXJ0eiAoY29uc3QgZ2NoYXIgKmZvb3Rlciwgc2l6ZV90IGZvb3RlcmxlbikKLSAg IGdjaGFyICp0enN0cmluZyA9IGdfc3RybmR1cCAoZm9vdGVyICsgMSwgZm9vdGVybGVuIC0gMik7 Ci0gICBHVGltZVpvbmUgKmZvb3RlcnR6ID0gTlVMTDsKLSAKLS0gIC8qIEZJWE1FOiBpdCBtaWdo dCBtYWtlIHNlbnNlIHRvIG1vZGlmeSBydWxlc19mcm9tX2lkZW50aWZpZXIgdG8KLS0gICAgIGFs bG93IE5VTEwgdG8gYmUgcGFzc2VkIGluc3RlYWQgb2YgJmlkZW50LCBzYXZpbmcgdGhlIHN0cmR1 cC9mcmVlCi0tICAgICBwYWlyLiAgVGhlIGFsbG9jYXRpb24gZm9yIHR6c3RyaW5nIGNvdWxkIGFs c28gYmUgYXZvaWRlZCBieQotKyAgLyogRklYTUU6IFRoZSBhbGxvY2F0aW9uIGZvciB0enN0cmlu ZyBjb3VsZCBiZSBhdm9pZGVkIGJ5Ci0gICAgICBwYXNzaW5nIGEgZ3NpemUgaWRlbnRpZmllcl9s ZW4gYXJndW1lbnQgdG8gcnVsZXNfZnJvbV9pZGVudGlmaWVyCi0gICAgICBhbmQgY2hhbmdpbmcg dGhlIGNvZGUgaW4gdGhhdCBmdW5jdGlvbiB0byBzdG9wIGFzc3VtaW5nIHRoYXQKLSAgICAgIGlk ZW50aWZpZXIgaXMgbnVsLXRlcm1pbmF0ZWQuICAqLwotLSAgZ2NoYXIgKmlkZW50OwotICAgVGlt ZVpvbmVSdWxlICpydWxlczsKLS0gIGd1aW50IHJ1bGVzX251bSA9IHJ1bGVzX2Zyb21faWRlbnRp ZmllciAodHpzdHJpbmcsICZpZGVudCwgJnJ1bGVzKTsKLSsgIGd1aW50IHJ1bGVzX251bSA9IHJ1 bGVzX2Zyb21faWRlbnRpZmllciAodHpzdHJpbmcsICZydWxlcyk7Ci0gCi0tICBnX2ZyZWUgKGlk ZW50KTsKLSAgIGdfZnJlZSAodHpzdHJpbmcpOwotICAgaWYgKHJ1bGVzX251bSA+IDEpCi0gICAg IHsKLUBAIC0xNzIzLDYgKzE2ODgsMTYgQEAgZ190aW1lX3pvbmVfbmV3IChjb25zdCBnY2hhciAq aWRlbnRpZmllcikKLSAgICAgICAgICAgR19VTkxPQ0sgKHRpbWVfem9uZXMpOwotICAgICAgICAg ICByZXR1cm4gdHo7Ci0gICAgICAgICB9Ci0rICAgICAgZWxzZQotKyAgICAgICAgcmVzb2x2ZWRf aWRlbnRpZmllciA9IGdfc3RyZHVwIChpZGVudGlmaWVyKTsKLSsgICAgfQotKyAgZWxzZQotKyAg ICB7Ci0rI2lmZGVmIEdfT1NfVU5JWAotKyAgICAgIHJlc29sdmVkX2lkZW50aWZpZXIgPSB6b25l X2lkZW50aWZpZXJfdW5peCAoKTsKLSsjZWxpZiBkZWZpbmVkIChHX09TX1dJTjMyKQotKyAgICAg IHJlc29sdmVkX2lkZW50aWZpZXIgPSB3aW5kb3dzX2RlZmF1bHRfdHpuYW1lICgpOwotKyNlbmRp ZgotICAgICB9Ci0gCi0gICB0eiA9IGdfc2xpY2VfbmV3MCAoR1RpbWVab25lKTsKLUBAIC0xNzMx LDcgKzE3MDYsNyBAQCBnX3RpbWVfem9uZV9uZXcgKGNvbnN0IGdjaGFyICppZGVudGlmaWVyKQot ICAgem9uZV9mb3JfY29uc3RhbnRfb2Zmc2V0ICh0eiwgaWRlbnRpZmllcik7Ci0gCi0gICBpZiAo dHotPnRfaW5mbyA9PSBOVUxMICYmCi0tICAgICAgKHJ1bGVzX251bSA9IHJ1bGVzX2Zyb21faWRl bnRpZmllciAoaWRlbnRpZmllciwgJnJlc29sdmVkX2lkZW50aWZpZXIsICZydWxlcykpKQotKyAg ICAgIChydWxlc19udW0gPSBydWxlc19mcm9tX2lkZW50aWZpZXIgKGlkZW50aWZpZXIsICZydWxl cykpKQotICAgICB7Ci0gICAgICAgaW5pdF96b25lX2Zyb21fcnVsZXMgKHR6LCBydWxlcywgcnVs ZXNfbnVtLCBnX3N0ZWFsX3BvaW50ZXIgKCZyZXNvbHZlZF9pZGVudGlmaWVyKSk7Ci0gICAgICAg Z19mcmVlIChydWxlcyk7Ci1AQCAtMTc0MCw3ICsxNzE1LDcgQEAgZ190aW1lX3pvbmVfbmV3IChj b25zdCBnY2hhciAqaWRlbnRpZmllcikKLSAgIGlmICh0ei0+dF9pbmZvID09IE5VTEwpCi0gICAg IHsKLSAjaWZkZWYgR19PU19VTklYCi0tICAgICAgR0J5dGVzICp6b25laW5mbyA9IHpvbmVfaW5m b191bml4IChpZGVudGlmaWVyLCAmcmVzb2x2ZWRfaWRlbnRpZmllcik7Ci0rICAgICAgR0J5dGVz ICp6b25laW5mbyA9IHpvbmVfaW5mb191bml4IChpZGVudGlmaWVyLCByZXNvbHZlZF9pZGVudGlm aWVyKTsKLSAgICAgICBpZiAoem9uZWluZm8gIT0gTlVMTCkKLSAgICAgICAgIHsKLSAgICAgICAg ICAgaW5pdF96b25lX2Zyb21faWFuYV9pbmZvICh0eiwgem9uZWluZm8sIGdfc3RlYWxfcG9pbnRl ciAoJnJlc29sdmVkX2lkZW50aWZpZXIpKTsKLUBAIC0xNzQ4LDkgKzE3MjMsOCBAQCBnX3RpbWVf em9uZV9uZXcgKGNvbnN0IGdjaGFyICppZGVudGlmaWVyKQotICAgICAgICAgfQotICNlbGlmIGRl ZmluZWQgKEdfT1NfV0lOMzIpCi0gICAgICAgaWYgKChydWxlc19udW0gPSBydWxlc19mcm9tX3dp bmRvd3NfdGltZV96b25lIChpZGVudGlmaWVyLAotLSAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgJnJlc29sdmVkX2lkZW50aWZpZXIsCi0tICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcnVsZXMsCi0t ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUUlVF KSkpCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICByZXNvbHZlZF9pZGVudGlmaWVyLAotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgJnJ1bGVzKSkpCi0gICAgICAgICB7Ci0gICAgICAgICAgIGlu aXRfem9uZV9mcm9tX3J1bGVzICh0eiwgcnVsZXMsIHJ1bGVzX251bSwgZ19zdGVhbF9wb2ludGVy ICgmcmVzb2x2ZWRfaWRlbnRpZmllcikpOwotICAgICAgICAgICBnX2ZyZWUgKHJ1bGVzKTsKLUBA IC0xNzc3LDcgKzE3NTEsNyBAQCBnX3RpbWVfem9uZV9uZXcgKGNvbnN0IGdjaGFyICppZGVudGlm aWVyKQotICAgICAgICAgICAgICAgICAgIHJ1bGVzWzBdLnN0YXJ0X3llYXIgPSBNSU5fVFpZRUFS OwotICAgICAgICAgICAgICAgICAgIHJ1bGVzWzFdLnN0YXJ0X3llYXIgPSBNQVhfVFpZRUFSOwot IAotLSAgICAgICAgICAgICAgICAgIGluaXRfem9uZV9mcm9tX3J1bGVzICh0eiwgcnVsZXMsIDIs IHdpbmRvd3NfZGVmYXVsdF90em5hbWUgKCkpOwotKyAgICAgICAgICAgICAgICAgIGluaXRfem9u ZV9mcm9tX3J1bGVzICh0eiwgcnVsZXMsIDIsIGdfc3RlYWxfcG9pbnRlciAoJnJlc29sdmVkX2lk ZW50aWZpZXIpKTsKLSAgICAgICAgICAgICAgICAgfQotIAotICAgICAgICAgICAgICAgZ19mcmVl IChydWxlcyk7Ci0tLSAKLUdpdExhYgotCi0KLUZyb20gNTIzN2I0OTg0MzA2ODQ3ZGZmMDVkYjU0 YjVjMTJjODM2NjJmMmYxZCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206ID0/VVRGLTg/ cT9BbnQ9QzM9QjNuaW89MjBGZXJuYW5kZXM/PSA8YW50b25pb2ZAZ25vbWUub3JnPgotRGF0ZTog VGh1LCAxIE9jdCAyMDIwIDIxOjExOjQ0ICswMTAwCi1TdWJqZWN0OiBbUEFUQ0ggMy80XSBndGlt ZXpvbmU6IENhY2hlIGRlZmF1bHQgdGltZXpvbmUgaW5kZWZpbml0ZWx5Ci0KLVdlIGNhY2hlIEdU aW1lWm9uZSBpbnN0YW5jZXMgdG8gYXZvaWQgZXhwZW5zaXZlIGNvbnN0cnVjdGlvbiB3aGVuIHRo ZQotc2FtZSBpZCBpcyByZXF1ZXN0ZWQgYWdhaW4uCi0KLUhvd2V2ZXIsIGlmIHRoZSBOVUxMIGlk IGlzIHBhc3NlZCB0byBnX3RpbWVfem9uZV9uZXcoKSwgd2UgYWx3YXlzCi1jb25zdHJ1Y3QgYSBu ZXcgaW5zdGFuY2UgZm9yIHRoZSBkZWZhdWx0L2ZhbGxiYWNrIHRpbWV6b25lLgotCi1XaXRoIHRo ZSByZWNlbnQgaW50cm9kdWN0aW9uIG9mIHNvbWUgaGVhdnkgY2FsY3VsYXRpb25zWzFdLCByZXBl YXRlZAotaW5zdGFuY2UgY29uc3RydWN0aW9uIGluIHN1Y2ggY2FzZXMgaGFzIHZpc2libGUgcGVy Zm9ybWFuY2UgaW1wYWN0IGluCi1uYXV0aWx1cyBsaXN0IHZpZXcgYW5kIG90aGVyIHN1Y2ggR3Rr VHJlZVZpZXcgY29uc3VtZXJzLgotCi1UbyBhdm9pZCB0aGlzLCBjYWNoZSByZWZlcmVuY2UgdG8g YSBjb25zdHJ1Y3RlZCBkZWZhdWx0IHRpbWV6b25lIGFuZAotdXNlIGl0IHRoZSBuZXh0IHRpbWUg Z190aW1lX3pvbmVfbmV3KCkgaXMgY2FsbGVkIHdpdGggTlVMTCBhcmd1bWVudCwKLWFzIGxvbmcg YXMgdGhlIGRlZmF1bHQgaWRlbnRpZmllciBkb2Vzbid0IGNoYW5nZS4gV2UgYWxyZWFkeSBkaWQg dGhlCi1zYW1lIGZvciB0aGUgbG9jYWwgdGltZXpvbmVbMl0uCi0KLUZpeGVzOiBodHRwczovL2dp dGxhYi5nbm9tZS5vcmcvR05PTUUvZ2xpYi8tL2lzc3Vlcy8yMjA0Ci0KLUJhc2VkIG9uIGlkZWEg cHJvcG9zZWQgYnkgU2ViYXN0aWFuIEtlbGxlciA8c2tlbGxlckBnbm9tZS5vcmc+LgotCi1bMV0g MjVkOTUwYjYxZjkyZjI1Y2M5YWIyMGQ2ODNhYTRkNjk2OWY5MzA5OAotWzJdIDU1MWU4MzY2MmRl OTgxNWQxNjFhODJjNzYwY2ZhNzc5OTU5MDU3NDAKLS0tLQotIGdsaWIvZ3RpbWV6b25lLmMgfCAz NyArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tCi0gMSBmaWxlIGNoYW5nZWQs IDMyIGluc2VydGlvbnMoKyksIDUgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9nbGliL2d0 aW1lem9uZS5jIGIvZ2xpYi9ndGltZXpvbmUuYwotaW5kZXggNDAwNjRjOWFiLi4wMzVkYTJmNDUg MTAwNjQ0Ci0tLS0gYS9nbGliL2d0aW1lem9uZS5jCi0rKysgYi9nbGliL2d0aW1lem9uZS5jCi1A QCAtMTk1LDYgKzE5NSw4IEBAIHN0cnVjdCBfR1RpbWVab25lCi0gCi0gR19MT0NLX0RFRklORV9T VEFUSUMgKHRpbWVfem9uZXMpOwotIHN0YXRpYyBHSGFzaFRhYmxlLyo8c3RyaW5nPywgR1RpbWVa b25lPiovICp0aW1lX3pvbmVzOwotK0dfTE9DS19ERUZJTkVfU1RBVElDICh0el9kZWZhdWx0KTsK LStzdGF0aWMgR1RpbWVab25lICp0el9kZWZhdWx0ID0gTlVMTDsKLSBHX0xPQ0tfREVGSU5FX1NU QVRJQyAodHpfbG9jYWwpOwotIHN0YXRpYyBnY2hhciAqdHplbnZfY2FjaGVkID0gTlVMTDsKLSBz dGF0aWMgR1RpbWVab25lICp0el9sb2NhbCA9IE5VTEw7Ci1AQCAtMTY3NSwxMiArMTY3NywxMiBA QCBnX3RpbWVfem9uZV9uZXcgKGNvbnN0IGdjaGFyICppZGVudGlmaWVyKQotICAgZ2ludCBydWxl c19udW07Ci0gICBnY2hhciAqcmVzb2x2ZWRfaWRlbnRpZmllciA9IE5VTEw7Ci0gCi0tICBHX0xP Q0sgKHRpbWVfem9uZXMpOwotLSAgaWYgKHRpbWVfem9uZXMgPT0gTlVMTCkKLS0gICAgdGltZV96 b25lcyA9IGdfaGFzaF90YWJsZV9uZXcgKGdfc3RyX2hhc2gsIGdfc3RyX2VxdWFsKTsKLS0KLSAg IGlmIChpZGVudGlmaWVyKQotICAgICB7Ci0rICAgICAgR19MT0NLICh0aW1lX3pvbmVzKTsKLSsg ICAgICBpZiAodGltZV96b25lcyA9PSBOVUxMKQotKyAgICAgICAgdGltZV96b25lcyA9IGdfaGFz aF90YWJsZV9uZXcgKGdfc3RyX2hhc2gsIGdfc3RyX2VxdWFsKTsKLSsKLSAgICAgICB0eiA9IGdf aGFzaF90YWJsZV9sb29rdXAgKHRpbWVfem9uZXMsIGlkZW50aWZpZXIpOwotICAgICAgIGlmICh0 eikKLSAgICAgICAgIHsKLUBAIC0xNjkzLDExICsxNjk1LDI2IEBAIGdfdGltZV96b25lX25ldyAo Y29uc3QgZ2NoYXIgKmlkZW50aWZpZXIpCi0gICAgIH0KLSAgIGVsc2UKLSAgICAgewotKyAgICAg IEdfTE9DSyAodHpfZGVmYXVsdCk7Ci0gI2lmZGVmIEdfT1NfVU5JWAotICAgICAgIHJlc29sdmVk X2lkZW50aWZpZXIgPSB6b25lX2lkZW50aWZpZXJfdW5peCAoKTsKLSAjZWxpZiBkZWZpbmVkIChH X09TX1dJTjMyKQotICAgICAgIHJlc29sdmVkX2lkZW50aWZpZXIgPSB3aW5kb3dzX2RlZmF1bHRf dHpuYW1lICgpOwotICNlbmRpZgotKyAgICAgIGlmICh0el9kZWZhdWx0KQotKyAgICAgICAgewot KyAgICAgICAgICAvKiBGbHVzaCBkZWZhdWx0IGlmIGNoYW5nZWQgKi8KLSsgICAgICAgICAgaWYg KGdfc3RyY21wMCAodHpfZGVmYXVsdC0+bmFtZSwgcmVzb2x2ZWRfaWRlbnRpZmllcikpCi0rICAg ICAgICAgICAgZ19jbGVhcl9wb2ludGVyICgmdHpfZGVmYXVsdCwgZ190aW1lX3pvbmVfdW5yZWYp OwotKyAgICAgICAgICBlbHNlCi0rICAgICAgICAgICAgewotKyAgICAgICAgICAgICAgdHogPSBn X3RpbWVfem9uZV9yZWYgKHR6X2RlZmF1bHQpOwotKyAgICAgICAgICAgICAgR19VTkxPQ0sgKHR6 X2RlZmF1bHQpOwotKwotKyAgICAgICAgICAgICAgZ19mcmVlIChyZXNvbHZlZF9pZGVudGlmaWVy KTsKLSsgICAgICAgICAgICAgIHJldHVybiB0ejsKLSsgICAgICAgICAgICB9Ci0rICAgICAgICB9 Ci0gICAgIH0KLSAKLSAgIHR6ID0gZ19zbGljZV9uZXcwIChHVGltZVpvbmUpOwotQEAgLTE3NzMs OSArMTc5MCwxOSBAQCBnX3RpbWVfem9uZV9uZXcgKGNvbnN0IGdjaGFyICppZGVudGlmaWVyKQot ICAgICB7Ci0gICAgICAgaWYgKGlkZW50aWZpZXIpCi0gICAgICAgICBnX2hhc2hfdGFibGVfaW5z ZXJ0ICh0aW1lX3pvbmVzLCB0ei0+bmFtZSwgdHopOwotKyAgICAgIGVsc2UgaWYgKHR6LT5uYW1l KQotKyAgICAgICAgewotKyAgICAgICAgICAvKiBDYWNoaW5nIHJlZmVyZW5jZSAqLwotKyAgICAg ICAgICBnX2F0b21pY19pbnRfaW5jICgmdHotPnJlZl9jb3VudCk7Ci0rICAgICAgICAgIHR6X2Rl ZmF1bHQgPSB0ejsKLSsgICAgICAgIH0KLSAgICAgfQotICAgZ19hdG9taWNfaW50X2luYyAoJnR6 LT5yZWZfY291bnQpOwotLSAgR19VTkxPQ0sgKHRpbWVfem9uZXMpOwotKwotKyAgaWYgKGlkZW50 aWZpZXIpCi0rICAgIEdfVU5MT0NLICh0aW1lX3pvbmVzKTsKLSsgIGVsc2UKLSsgICAgR19VTkxP Q0sgKHR6X2RlZmF1bHQpOwotIAotICAgcmV0dXJuIHR6OwotIH0KLS0tIAotR2l0TGFiCi0KLQot RnJvbSAwMjc1MzY0NGIzMzY2MGExNzVkMWE5YjFlYTllODcxN2MzMTRlZjIzIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQotRnJvbTogPT9VVEYtOD9xP0FudD1DMz1CM25pbz0yMEZlcm5hbmRlcz89 IDxhbnRvbmlvZkBnbm9tZS5vcmc+Ci1EYXRlOiBXZWQsIDIzIFNlcCAyMDIwIDE5OjM2OjQ5ICsw MTAwCi1TdWJqZWN0OiBbUEFUQ0ggNC80XSBSZXZlcnQgImd0aW1lem9uZTogQ2FjaGUgdGltZXpv bmVzIGJhc2VkIG9uIHRoZQotIGlkZW50aWZpZXIgdGhleSB3ZXJlIGNyZWF0ZWQgYnkiCitGcm9t IGMzNTViMDk3MDUyMWJkOGIzZTVmNGZlZTZhMmExNzBjNjViOWQ3MjMgTW9uIFNlcCAxNyAwMDow MDowMCAyMDAxCitGcm9tOiBNaWNoYWVsIENhdGFuemFybyA8bWNhdGFuemFyb0Bnbm9tZS5vcmc+ CitEYXRlOiBXZWQsIDE0IE9jdCAyMDIwIDE1OjMwOjE4IC0wNTAwCitTdWJqZWN0OiBbUEFUQ0hd IFJldmVydCAiZ3RpbWV6b25lOiBDYWNoZSB0aW1lem9uZXMgYmFzZWQgb24gdGhlIGlkZW50aWZp ZXIKKyB0aGV5IHdlcmUgY3JlYXRlZCBieSIKIAogVGhpcyByZXZlcnRzIGNvbW1pdCA4NTEyNDFm MTlhM2ZkOWVjNjkzYjNkZDhmMzdhODRjN2Y5NzA5ODRhLgotCi1UaGF0IGNvbW1pdCBhdm9pZHMg YSBwZXJmb3JtYW5jZSByZWdyZXNzaW9uIGJ1dCBpbnRyb2R1Y2VzIGEgYmVoYXZpb3IgcmVncmVz c2lvbjoKLWNoYW5nZXMgdG8gL2V0Yy9sb2NhbHRpbWUgaGF2ZSBubyBlZmZlY3QgZm9yIHRoZSBy ZW1haW5pbmcgb2YgdGhlIGFwcGxpY2F0aW9uJ3MKLXJ1bnRpbWUuCi0KLVdpdGggdGhlIG9wdGlt aXphdGlvbiBpbnRyb2R1Y2VkIGJ5IHRoZSBwcmV2aW91cyBjb21taXQsIHdlIGNhbiBwYXNzIE5V TEwgdG8KLWdfdGltZV96b25lX25ldygpIHJlcGVhdGVkbHkgd2l0aCBubyBwZXJmb3JtYW5jZSBk cmF3YmFjaywgc28gd2Ugbm8gbG9uZ2VyIGhhdmUKLXRvIHdvcmthcm91bmQgdGhpcyBjYXNlLgog LS0tCiAgZ2xpYi9ndGltZXpvbmUuYyB8IDEzICsrKy0tLS0tLS0tLS0KICAxIGZpbGUgY2hhbmdl ZCwgMyBpbnNlcnRpb25zKCspLCAxMCBkZWxldGlvbnMoLSkKIAogZGlmZiAtLWdpdCBhL2dsaWIv Z3RpbWV6b25lLmMgYi9nbGliL2d0aW1lem9uZS5jCi1pbmRleCAwMzVkYTJmNDUuLjhlMzhiYjU0 OSAxMDA2NDQKK2luZGV4IGVmNjdlYzUwYi4uOGUwNjIxZTU0IDEwMDY0NAogLS0tIGEvZ2xpYi9n dGltZXpvbmUuYwogKysrIGIvZ2xpYi9ndGltZXpvbmUuYwotQEAgLTE5OCw3ICsxOTgsNiBAQCBz dGF0aWMgR0hhc2hUYWJsZS8qPHN0cmluZz8sIEdUaW1lWm9uZT4qLyAqdGltZV96b25lczsKLSBH X0xPQ0tfREVGSU5FX1NUQVRJQyAodHpfZGVmYXVsdCk7Ci0gc3RhdGljIEdUaW1lWm9uZSAqdHpf ZGVmYXVsdCA9IE5VTEw7CitAQCAtMTk2LDcgKzE5Niw2IEBAIHN0cnVjdCBfR1RpbWVab25lCisg R19MT0NLX0RFRklORV9TVEFUSUMgKHRpbWVfem9uZXMpOworIHN0YXRpYyBHSGFzaFRhYmxlLyo8 c3RyaW5nPywgR1RpbWVab25lPiovICp0aW1lX3pvbmVzOwogIEdfTE9DS19ERUZJTkVfU1RBVElD ICh0el9sb2NhbCk7CiAtc3RhdGljIGdjaGFyICp0emVudl9jYWNoZWQgPSBOVUxMOwogIHN0YXRp YyBHVGltZVpvbmUgKnR6X2xvY2FsID0gTlVMTDsKICAKICAjZGVmaW5lIE1JTl9UWllFQVIgMTkx NiAvKiBEYXlsaWdodCBTYXZpbmdzIHN0YXJ0ZWQgaW4gV1dJICovCi1AQCAtMTg2MywxNyArMTg2 MiwxMSBAQCBnX3RpbWVfem9uZV9uZXdfbG9jYWwgKHZvaWQpCitAQCAtMTg0MywxNyArMTg0Miwx MSBAQCBnX3RpbWVfem9uZV9uZXdfbG9jYWwgKHZvaWQpCiAgICBHX0xPQ0sgKHR6X2xvY2FsKTsK ICAKICAgIC8qIElzIHRpbWUgem9uZSBjaGFuZ2VkIGFuZCBtdXN0IGJlIGZsdXNoZWQ/ICovCkBA IC01OTUsNSArNDMsNCBAQCBpbmRleCAwMzVkYTJmNDUuLjhlMzhiYjU0OSAxMDA2NDQKICAgIHR6 ID0gZ190aW1lX3pvbmVfcmVmICh0el9sb2NhbCk7CiAgCiAtLSAKLUdpdExhYgotCisyLjI4LjAK