From mboxrd@z Thu Jan 1 00:00:00 1970 From: Mathieu Desnoyers Subject: [PATCH lttng-ust] Fix: race between lttng-ust getenv() and application setenv() Date: Fri, 10 Mar 2017 18:30:18 -0500 Message-ID: <1489188618-30878-1-git-send-email-mathieu.desnoyers__45361.9068292484$1489188651$gmane$org@efficios.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail.efficios.com (mail.efficios.com [167.114.142.141]) by lists.lttng.org (Postfix) with ESMTPS id 3vg3R306F5zw6l for ; Fri, 10 Mar 2017 23:30:38 +0000 (UTC) List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: lttng-dev-bounces@lists.lttng.org Sender: "lttng-dev" To: douglas.graham@ericsson.com Cc: lttng-dev@lists.lttng.org List-Id: lttng-dev@lists.lttng.org VGhlIExUVG5nLVVTVCBsaXN0ZW5lciB0aHJlYWRzIGludm9rZSBnZXRlbnYoKSwgd2hpY2ggY2Fu IGNhdXNlIGlzc3VlcwppZiB0aGUgYXBwbGljYXRpb24gaXNzdWVzIHNldGVudigpIGNvbmN1cnJl bnRseS4gVGhpcyBpcyBhIGxlZ2l0aW1hdGUKdXNlIGJ5IHRoZSBhcHBsaWNhdGlvbiBiZWNhdXNl IGl0IG1heSBoYXZlIGEgc2luZ2xlIHRocmVhZCBhbmQgbm90IGJlCmF3YXJlIHRoYXQgaXQgcnVu cyB3aXRoIGxpYmx0dG5nLXVzdC4KCkZpeCB0aGlzIGJ5IGtlZXBpbmcgb3VyIG93biBlbnZpcm9u bWVudCB2YXJpYWJsZSB0YWJsZSBmb3IgdGhlIHZhcmlhYmxlcwp3ZSBjYXJlIGFib3V0LiBJbml0 aWFsaXplIHRoaXMgdGFibGUgd2l0aGluIHRoZSBsdHRuZy11c3QgbGlicmFyeQpjb25zdHJ1Y3Rv ciwgd2hlbiB3ZSBkb24ndCByYWNlIHdpdGggdGhlIGFwcGxpY2F0aW9uLgoKQXMgdGhpcyB0aHJl YWQgc2hvd3M6Cmh0dHBzOi8vc291cmNld2FyZS5vcmcvYnVnemlsbGEvc2hvd19idWcuY2dpP2lk PTUwNjkjYzEwCgpnZXRlbnYoKSBkb2VzIF9ub3RfIGFwcGVhciB0byBiZSB0aHJlYWQtc2FmZSBp ZiBhbiBhcHBsaWNhdGlvbiB1c2VzCnNldGVudigpIG9yIHB1dGVudigpLgoKU2lnbmVkLW9mZi1i eTogTWF0aGlldSBEZXNub3llcnMgPG1hdGhpZXUuZGVzbm95ZXJzQGVmZmljaW9zLmNvbT4KLS0t CiBsaWJsdHRuZy11c3QtY3RsL3VzdGN0bC5jICAgICAgICAgIHwgIDEgKwogbGlibHR0bmctdXN0 L01ha2VmaWxlLmFtICAgICAgICAgICB8ICAyICsKIGxpYmx0dG5nLXVzdC9nZXRlbnYuYyAgICAg ICAgICAgICAgfCA5OCArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwogbGli bHR0bmctdXN0L2dldGVudi5oICAgICAgICAgICAgICB8IDI5ICsrKystLS0tLS0tCiBsaWJsdHRu Zy11c3QvbHR0bmctY2xvY2suYyAgICAgICAgIHwgIDIgKy0KIGxpYmx0dG5nLXVzdC9sdHRuZy1n ZXRjcHUuYyAgICAgICAgfCAgMiArLQogbGlibHR0bmctdXN0L2x0dG5nLXVzdC1jb21tLmMgICAg ICB8ICA5ICsrLS0KIGxpYmx0dG5nLXVzdC9sdHRuZy11c3Qtc3RhdGVkdW1wLmMgfCAgNSArLQog c25wcmludGYvY29yZS5jICAgICAgICAgICAgICAgICAgICB8ICA1ICsrCiA5IGZpbGVzIGNoYW5n ZWQsIDEyNiBpbnNlcnRpb25zKCspLCAyNyBkZWxldGlvbnMoLSkKIGNyZWF0ZSBtb2RlIDEwMDY0 NCBsaWJsdHRuZy11c3QvZ2V0ZW52LmMKCmRpZmYgLS1naXQgYS9saWJsdHRuZy11c3QtY3RsL3Vz dGN0bC5jIGIvbGlibHR0bmctdXN0LWN0bC91c3RjdGwuYwppbmRleCAyYWY3OTE0Li40MDY3NzU4 IDEwMDY0NAotLS0gYS9saWJsdHRuZy11c3QtY3RsL3VzdGN0bC5jCisrKyBiL2xpYmx0dG5nLXVz dC1jdGwvdXN0Y3RsLmMKQEAgLTIyMDUsNiArMjIwNSw3IEBAIHN0YXRpYyBfX2F0dHJpYnV0ZV9f KChjb25zdHJ1Y3RvcikpCiB2b2lkIHVzdGN0bF9pbml0KHZvaWQpCiB7CiAJaW5pdF91c3RlcnIo KTsKKwlsdHRuZ191c3RfZ2V0ZW52X2luaXQoKTsJLyogTmVlZHMgaW5pdF91c3RlcnIoKSB0byBi ZSBjb21wbGV0ZWQuICovCiAJbHR0bmdfdXN0X2Nsb2NrX2luaXQoKTsKIAlsdHRuZ19yaW5nX2J1 ZmZlcl9tZXRhZGF0YV9jbGllbnRfaW5pdCgpOwogCWx0dG5nX3JpbmdfYnVmZmVyX2NsaWVudF9v dmVyd3JpdGVfaW5pdCgpOwpkaWZmIC0tZ2l0IGEvbGlibHR0bmctdXN0L01ha2VmaWxlLmFtIGIv bGlibHR0bmctdXN0L01ha2VmaWxlLmFtCmluZGV4IDdlZGFjMjYuLmU3OTU5MWEgMTAwNjQ0Ci0t LSBhL2xpYmx0dG5nLXVzdC9NYWtlZmlsZS5hbQorKysgYi9saWJsdHRuZy11c3QvTWFrZWZpbGUu YW0KQEAgLTcwLDYgKzcwLDggQEAgbGlibHR0bmdfdXN0X3N1cHBvcnRfbGFfU09VUkNFUyA9IFwK IAlsdHRuZy10cmFjZXIuaCBcCiAJbHR0bmctdHJhY2VyLWNvcmUuaCBcCiAJdXN0LWNvcmUuYyBc CisJZ2V0ZW52LmggXAorCWdldGVudi5jIFwKIAlsdHRuZy11c3QtZHluYW1pYy10eXBlLmMgXAog CWx0dG5nLXJiLWNsaWVudHMuaCBcCiAJbHR0bmctcmluZy1idWZmZXItY2xpZW50LmggXApkaWZm IC0tZ2l0IGEvbGlibHR0bmctdXN0L2dldGVudi5jIGIvbGlibHR0bmctdXN0L2dldGVudi5jCm5l dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmI0ZGM3M2EKLS0tIC9kZXYvbnVsbAor KysgYi9saWJsdHRuZy11c3QvZ2V0ZW52LmMKQEAgLTAsMCArMSw5OCBAQAorLyoKKyAqIENvcHly aWdodCAoQykgMjAxNyAtIE1hdGhpZXUgRGVzbm95ZXJzIDxtYXRoaWV1LmRlc25veWVyc0BlZmZp Y2lvcy5jb20+CisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4g cmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0 aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYworICogTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkg dGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgb25seQorICogdmVyc2lvbiAyLjEgb2YgdGhl IExpY2Vuc2UuCisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3Bl IHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdp dGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9y IEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiBTZWUgdGhlIEdOVQorICogTGVzc2Vy IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hv dWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGlj CisgKiBMaWNlbnNlIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBpZiBub3QsIHdyaXRlIHRvIHRo ZSBGcmVlIFNvZnR3YXJlCisgKiBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQs IEZpZnRoIEZsb29yLCBCb3N0b24sIE1BIDAyMTEwLTEzMDEgVVNBCisgKi8KKworI2luY2x1ZGUg PHN0ZGxpYi5oPgorI2luY2x1ZGUgPHVuaXN0ZC5oPgorI2luY2x1ZGUgPHN0ZGJvb2wuaD4KKyNp bmNsdWRlIDxzeXMvdHlwZXMuaD4KKyNpbmNsdWRlIDx1c3RlcnItc2lnbmFsLXNhZmUuaD4KKyNp bmNsdWRlIDxoZWxwZXIuaD4KKyNpbmNsdWRlICJnZXRlbnYuaCIKKworZW51bSBsdHRuZ19lbnZf c2VjdXJlIHsKKwlMVFROR19FTlZfU0VDVVJFLAorCUxUVE5HX0VOVl9OT1RfU0VDVVJFLAorfTsK Kworc3RydWN0IGx0dG5nX2VudiB7CisJY29uc3QgY2hhciAqa2V5OworCWVudW0gbHR0bmdfZW52 X3NlY3VyZSBzZWN1cmU7CisJY2hhciAqdmFsdWU7Cit9OworCitzdGF0aWMgc3RydWN0IGx0dG5n X2VudiBsdHRuZ19lbnZbXSA9IHsKKwkvKgorCSAqIExUVE5HX1VTVF9ERUJVRyBpcyB1c2VkIGRp cmVjdGx5IGJ5IHNucHJpbnRmLCBiZWNhdXNlIGl0CisJICogbmVlZHMgdG8gYmUgYWxyZWFkeSBz ZXQgZm9yIEVSUigpIHVzZWQgaW4KKwkgKiBsdHRuZ191c3RfZ2V0ZW52X2luaXQoKS4KKwkgKi8K Kwl7ICJMVFROR19VU1RfREVCVUciLCBMVFROR19FTlZfTk9UX1NFQ1VSRSwgTlVMTCwgfSwKKwor CS8qIEVudi4gdmFyLiB3aGljaCBjYW4gYmUgdXNlZCBpbiBzZXR1aWQvc2V0Z2lkIGV4ZWN1dGFi bGVzLiAqLworCXsgIkxUVE5HX1VTVF9XSVRIT1VUX0JBRERSX1NUQVRFRFVNUCIsIExUVE5HX0VO Vl9OT1RfU0VDVVJFLCBOVUxMLCB9LAorCXsgIkxUVE5HX1VTVF9SRUdJU1RFUl9USU1FT1VUIiwg TFRUTkdfRU5WX05PVF9TRUNVUkUsIE5VTEwsIH0sCisKKwkvKiBFbnYuIHZhci4gd2hpY2ggYXJl IG5vdCBmZXRjaGVkIGluIHNldHVpZC9zZXRnaWQgZXhlY3V0YWJsZXMuICovCisJeyAiTFRUTkdf VVNUX0NMT0NLX1BMVUdJTiIsIExUVE5HX0VOVl9TRUNVUkUsIE5VTEwsIH0sCisJeyAiTFRUTkdf VVNUX0dFVENQVV9QTFVHSU4iLCBMVFROR19FTlZfU0VDVVJFLCBOVUxMLCB9LAorCXsgIkxUVE5H X1VTVF9CTE9DS0lOR19SRVRSWV9USU1FT1VUIiwgTFRUTkdfRU5WX1NFQ1VSRSwgTlVMTCwgfSwK Kwl7ICJIT01FIiwgTFRUTkdfRU5WX1NFQ1VSRSwgTlVMTCwgfSwKKwl7ICJMVFROR19IT01FIiwg TFRUTkdfRU5WX1NFQ1VSRSwgTlVMTCwgfSwKK307CisKK3N0YXRpYworaW50IGx0dG5nX2lzX3Nl dHVpZF9zZXRnaWQodm9pZCkKK3sKKwlyZXR1cm4gZ2V0ZXVpZCgpICE9IGdldHVpZCgpIHx8IGdl dGVnaWQoKSAhPSBnZXRnaWQoKTsKK30KKworY2hhciAqbHR0bmdfZ2V0ZW52KGNvbnN0IGNoYXIg Km5hbWUpCit7CisJc2l6ZV90IGk7CisJc3RydWN0IGx0dG5nX2VudiAqZTsKKwlib29sIGZvdW5k ID0gZmFsc2U7CisKKwlmb3IgKGkgPSAwOyBpIDwgTFRUTkdfQVJSQVlfU0laRShsdHRuZ19lbnYp OyBpKyspIHsKKwkJZSA9ICZsdHRuZ19lbnZbaV07CisKKwkJaWYgKHN0cmNtcChlLT5rZXksIG5h bWUpID09IDApIHsKKwkJCWZvdW5kID0gdHJ1ZTsKKwkJCWJyZWFrOworCQl9CisJfQorCWlmICgh Zm91bmQpIHsKKwkJcmV0dXJuIE5VTEw7CisJfQorCXJldHVybiBlLT52YWx1ZTsKK30KKwordm9p ZCBsdHRuZ191c3RfZ2V0ZW52X2luaXQodm9pZCkKK3sKKwlzaXplX3QgaTsKKworCWZvciAoaSA9 IDA7IGkgPCBMVFROR19BUlJBWV9TSVpFKGx0dG5nX2Vudik7IGkrKykgeworCQlzdHJ1Y3QgbHR0 bmdfZW52ICplID0gJmx0dG5nX2VudltpXTsKKworCQlpZiAoZS0+c2VjdXJlID09IExUVE5HX0VO Vl9TRUNVUkUgJiYgbHR0bmdfaXNfc2V0dWlkX3NldGdpZCgpKSB7CisJCQlFUlIoIkdldHRpbmcg ZW52aXJvbm1lbnQgdmFyaWFibGUgJyVzJyBmcm9tIHNldHVpZC9zZXRnaWQgYmluYXJ5IHJlZnVz ZWQgZm9yIHNlY3VyaXR5IHJlYXNvbnMuIiwKKwkJCQllLT5rZXkpOworCQkJY29udGludWU7CisJ CX0KKwkJZS0+dmFsdWUgPSBnZXRlbnYoZS0+a2V5KTsKKwl9Cit9CmRpZmYgLS1naXQgYS9saWJs dHRuZy11c3QvZ2V0ZW52LmggYi9saWJsdHRuZy11c3QvZ2V0ZW52LmgKaW5kZXggMDU4NjRmYi4u MTRkNzA1MCAxMDA2NDQKLS0tIGEvbGlibHR0bmctdXN0L2dldGVudi5oCisrKyBiL2xpYmx0dG5n LXVzdC9nZXRlbnYuaApAQCAtMTksMjYgKzE5LDE3IEBACiAgKiBGb3VuZGF0aW9uLCBJbmMuLCA1 MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLCBCb3N0b24sIE1BIDAyMTEwLTEzMDEgVVNB CiAgKi8KIAotI2luY2x1ZGUgPHN0ZGxpYi5oPgotI2luY2x1ZGUgPHVuaXN0ZC5oPgotI2luY2x1 ZGUgPHN5cy90eXBlcy5oPgotI2luY2x1ZGUgPHVzdGVyci1zaWduYWwtc2FmZS5oPgorLyoKKyAq IEFsd2F5cyBhZGQgdGhlIGx0dG5nLXVzdCBlbnZpcm9ubWVudCB2YXJpYWJsZXMgdG8gbHR0bmdf Z2V0ZW52KCkKKyAqIGluZnJhc3RydWN0dXJlIHJhdGhlciB0aGFuIHVzaW5nIGdldGVudigpIGRp cmVjdGx5IGZyb20gbHR0bmctdXN0LgorICogVGhpcyBlbnN1cmVzIHRoYXQgd2UgZG9uJ3QgdHJp Z2dlciByYWNlcyBiZXR3ZWVuIGdldGVudigpIGludm9rZWQgYnkKKyAqIGx0dG5nLXVzdCBsaXN0 ZW5lciB0aHJlYWRzIGludm9rZWQgY29uY3VycmVudGx5IHdpdGggc2V0ZW52KCkgY2FsbGVkCisg KiBieSBhbiBvdGhlcndpc2Ugc2luZ2xlLXRocmVhZGVkIGFwcGxpY2F0aW9uIHRocmVhZC4gKHRo ZSBhcHBsaWNhdGlvbgorICogaXMgbm90IGF3YXJlIHRoYXQgaXQgcnVucyB3aXRoIGx0dG5nLXVz dCkKKyAqLwogCi1zdGF0aWMgaW5saW5lCi1pbnQgbHR0bmdfaXNfc2V0dWlkX3NldGdpZCh2b2lk KQotewotCXJldHVybiBnZXRldWlkKCkgIT0gZ2V0dWlkKCkgfHwgZ2V0ZWdpZCgpICE9IGdldGdp ZCgpOwotfQorY2hhciAqbHR0bmdfZ2V0ZW52KGNvbnN0IGNoYXIgKm5hbWUpOwogCi1zdGF0aWMg aW5saW5lCi1jaGFyICpsdHRuZ19zZWN1cmVfZ2V0ZW52KGNvbnN0IGNoYXIgKm5hbWUpCi17Ci0J aWYgKGx0dG5nX2lzX3NldHVpZF9zZXRnaWQoKSkgewotCQlFUlIoIkdldHRpbmcgZW52aXJvbm1l bnQgdmFyaWFibGUgJyVzJyBmcm9tIHNldHVpZC9zZXRnaWQgYmluYXJ5IHJlZnVzZWQgZm9yIHNl Y3VyaXR5IHJlYXNvbnMuIiwKLQkJCW5hbWUpOwotCQlyZXR1cm4gTlVMTDsKLQl9Ci0JcmV0dXJu IGdldGVudihuYW1lKTsKLX0KK3ZvaWQgbHR0bmdfdXN0X2dldGVudl9pbml0KHZvaWQpOwogCiAj ZW5kaWYgLyogX0NPTVBBVF9HRVRFTlZfSCAqLwpkaWZmIC0tZ2l0IGEvbGlibHR0bmctdXN0L2x0 dG5nLWNsb2NrLmMgYi9saWJsdHRuZy11c3QvbHR0bmctY2xvY2suYwppbmRleCBiMjRmZjM3Li44 NzdiNWQ2IDEwMDY0NAotLS0gYS9saWJsdHRuZy11c3QvbHR0bmctY2xvY2suYworKysgYi9saWJs dHRuZy11c3QvbHR0bmctY2xvY2suYwpAQCAtMTAyLDcgKzEwMiw3IEBAIHZvaWQgbHR0bmdfdXN0 X2Nsb2NrX2luaXQodm9pZCkKIAogCWlmIChjbG9ja19oYW5kbGUpCiAJCXJldHVybjsKLQlsaWJu YW1lID0gbHR0bmdfc2VjdXJlX2dldGVudigiTFRUTkdfVVNUX0NMT0NLX1BMVUdJTiIpOworCWxp Ym5hbWUgPSBsdHRuZ19nZXRlbnYoIkxUVE5HX1VTVF9DTE9DS19QTFVHSU4iKTsKIAlpZiAoIWxp Ym5hbWUpCiAJCXJldHVybjsKIAljbG9ja19oYW5kbGUgPSBkbG9wZW4obGlibmFtZSwgUlRMRF9O T1cpOwpkaWZmIC0tZ2l0IGEvbGlibHR0bmctdXN0L2x0dG5nLWdldGNwdS5jIGIvbGlibHR0bmct dXN0L2x0dG5nLWdldGNwdS5jCmluZGV4IDdiNjA4ZWYuLjdjYzlmYWEgMTAwNjQ0Ci0tLSBhL2xp Ymx0dG5nLXVzdC9sdHRuZy1nZXRjcHUuYworKysgYi9saWJsdHRuZy11c3QvbHR0bmctZ2V0Y3B1 LmMKQEAgLTQ3LDcgKzQ3LDcgQEAgdm9pZCBsdHRuZ191c3RfZ2V0Y3B1X2luaXQodm9pZCkKIAog CWlmIChnZXRjcHVfaGFuZGxlKQogCQlyZXR1cm47Ci0JbGlibmFtZSA9IGx0dG5nX3NlY3VyZV9n ZXRlbnYoIkxUVE5HX1VTVF9HRVRDUFVfUExVR0lOIik7CisJbGlibmFtZSA9IGx0dG5nX2dldGVu digiTFRUTkdfVVNUX0dFVENQVV9QTFVHSU4iKTsKIAlpZiAoIWxpYm5hbWUpCiAJCXJldHVybjsK IAlnZXRjcHVfaGFuZGxlID0gZGxvcGVuKGxpYm5hbWUsIFJUTERfTk9XKTsKZGlmZiAtLWdpdCBh L2xpYmx0dG5nLXVzdC9sdHRuZy11c3QtY29tbS5jIGIvbGlibHR0bmctdXN0L2x0dG5nLXVzdC1j b21tLmMKaW5kZXggNjUxZDJhYS4uNDM3MjhmZiAxMDA2NDQKLS0tIGEvbGlibHR0bmctdXN0L2x0 dG5nLXVzdC1jb21tLmMKKysrIGIvbGlibHR0bmctdXN0L2x0dG5nLXVzdC1jb21tLmMKQEAgLTM2 NiwxMSArMzY2LDExIEBAIGNvbnN0IGNoYXIgKmdldF9sdHRuZ19ob21lX2Rpcih2b2lkKQogewog ICAgICAgIGNvbnN0IGNoYXIgKnZhbDsKIAotICAgICAgIHZhbCA9IChjb25zdCBjaGFyICopIGx0 dG5nX3NlY3VyZV9nZXRlbnYoIkxUVE5HX0hPTUUiKTsKKyAgICAgICB2YWwgPSAoY29uc3QgY2hh ciAqKSBsdHRuZ19nZXRlbnYoIkxUVE5HX0hPTUUiKTsKICAgICAgICBpZiAodmFsICE9IE5VTEwp IHsKICAgICAgICAgICAgICAgIHJldHVybiB2YWw7CiAgICAgICAgfQotICAgICAgIHJldHVybiAo Y29uc3QgY2hhciAqKSBsdHRuZ19zZWN1cmVfZ2V0ZW52KCJIT01FIik7CisgICAgICAgcmV0dXJu IChjb25zdCBjaGFyICopIGx0dG5nX2dldGVudigiSE9NRSIpOwogfQogCiAvKgpAQCAtNDcxLDcg KzQ3MSw3IEBAIGxvbmcgZ2V0X3RpbWVvdXQodm9pZCkKIAlsb25nIGNvbnN0cnVjdG9yX2RlbGF5 X21zID0gTFRUTkdfVVNUX0RFRkFVTFRfQ09OU1RSVUNUT1JfVElNRU9VVF9NUzsKIAogCWlmICgh Z290X3RpbWVvdXRfZW52KSB7Ci0JCXN0cl90aW1lb3V0ID0gZ2V0ZW52KCJMVFROR19VU1RfUkVH SVNURVJfVElNRU9VVCIpOworCQlzdHJfdGltZW91dCA9IGx0dG5nX2dldGVudigiTFRUTkdfVVNU X1JFR0lTVEVSX1RJTUVPVVQiKTsKIAkJZ290X3RpbWVvdXRfZW52ID0gMTsKIAl9CiAJaWYgKHN0 cl90aW1lb3V0KQpAQCAtNTM4LDcgKzUzOCw3IEBAIHN0YXRpYwogdm9pZCBnZXRfYmxvY2tpbmdf cmV0cnlfdGltZW91dCh2b2lkKQogewogCWNvbnN0IGNoYXIgKnN0cl9ibG9ja2luZ19yZXRyeV90 aW1lb3V0ID0KLQkJbHR0bmdfc2VjdXJlX2dldGVudigiTFRUTkdfVVNUX0JMT0NLSU5HX1JFVFJZ X1RJTUVPVVQiKTsKKwkJbHR0bmdfZ2V0ZW52KCJMVFROR19VU1RfQkxPQ0tJTkdfUkVUUllfVElN RU9VVCIpOwogCiAJaWYgKHN0cl9ibG9ja2luZ19yZXRyeV90aW1lb3V0KSB7CiAJCWxvbmcgdGlt ZW91dCA9IHN0cnRvbChzdHJfYmxvY2tpbmdfcmV0cnlfdGltZW91dCwgTlVMTCwgMTApOwpAQCAt MTY3OSw2ICsxNjc5LDcgQEAgdm9pZCBfX2F0dHJpYnV0ZV9fKChjb25zdHJ1Y3RvcikpIGx0dG5n X3VzdF9pbml0KHZvaWQpCiAJICogc2Vzc2lvbmQgYmVmb3JlIHRoZSBpbml0IGZ1bmN0aW9ucyBh cmUgY29tcGxldGVkKS4KIAkgKi8KIAlpbml0X3VzdGVycigpOworCWx0dG5nX3VzdF9nZXRlbnZf aW5pdCgpOwkvKiBOZWVkcyBpbml0X3VzdGVycigpIHRvIGJlIGNvbXBsZXRlZC4gKi8KIAlpbml0 X3RyYWNlcG9pbnQoKTsKIAlsdHRuZ191c3RfaW5pdF9mZF90cmFja2VyKCk7CiAJbHR0bmdfdXN0 X2Nsb2NrX2luaXQoKTsKZGlmZiAtLWdpdCBhL2xpYmx0dG5nLXVzdC9sdHRuZy11c3Qtc3RhdGVk dW1wLmMgYi9saWJsdHRuZy11c3QvbHR0bmctdXN0LXN0YXRlZHVtcC5jCmluZGV4IDE3MWNiYWUu LmVmYThhNTUgMTAwNjQ0Ci0tLSBhL2xpYmx0dG5nLXVzdC9sdHRuZy11c3Qtc3RhdGVkdW1wLmMK KysrIGIvbGlibHR0bmctdXN0L2x0dG5nLXVzdC1zdGF0ZWR1bXAuYwpAQCAtMzQsNiArMzQsNyBA QAogI2luY2x1ZGUgImx0dG5nLXRyYWNlci1jb3JlLmgiCiAjaW5jbHVkZSAibHR0bmctdXN0LXN0 YXRlZHVtcC5oIgogI2luY2x1ZGUgImpoYXNoLmgiCisjaW5jbHVkZSAiZ2V0ZW52LmgiCiAKICNk ZWZpbmUgVFJBQ0VQT0lOVF9ERUZJTkUKICNpbmNsdWRlICJ1c3RfbGliLmgiCQkJCS8qIE9ubHkg ZGVmaW5lLiAqLwpAQCAtNTQ4LDcgKzU0OSw3IEBAIHZvaWQgbHR0bmdfdXN0X2RsX3VwZGF0ZSh2 b2lkICppcCkKIHsKIAlzdHJ1Y3QgZGxfaXRlcmF0ZV9kYXRhIGRhdGE7CiAKLQlpZiAoZ2V0ZW52 KCJMVFROR19VU1RfV0lUSE9VVF9CQUREUl9TVEFURURVTVAiKSkKKwlpZiAobHR0bmdfZ2V0ZW52 KCJMVFROR19VU1RfV0lUSE9VVF9CQUREUl9TVEFURURVTVAiKSkKIAkJcmV0dXJuOwogCiAJLyoK QEAgLTU4Miw3ICs1ODMsNyBAQCB2b2lkIGx0dG5nX3VzdF9kbF91cGRhdGUodm9pZCAqaXApCiBz dGF0aWMKIGludCBkb19iYWRkcl9zdGF0ZWR1bXAodm9pZCAqb3duZXIpCiB7Ci0JaWYgKGdldGVu digiTFRUTkdfVVNUX1dJVEhPVVRfQkFERFJfU1RBVEVEVU1QIikpCisJaWYgKGx0dG5nX2dldGVu digiTFRUTkdfVVNUX1dJVEhPVVRfQkFERFJfU1RBVEVEVU1QIikpCiAJCXJldHVybiAwOwogCWx0 dG5nX3VzdF9kbF91cGRhdGUoTFRUTkdfVVNUX0NBTExFUl9JUCgpKTsKIAl1c3RfZGxfdGFibGVf c3RhdGVkdW1wKG93bmVyKTsKZGlmZiAtLWdpdCBhL3NucHJpbnRmL2NvcmUuYyBiL3NucHJpbnRm L2NvcmUuYwppbmRleCA5NjZiNTg4Li5jMDE3YjgzIDEwMDY0NAotLS0gYS9zbnByaW50Zi9jb3Jl LmMKKysrIGIvc25wcmludGYvY29yZS5jCkBAIC0yNyw2ICsyNywxMSBAQCB2b2lkIGluaXRfdXN0 ZXJyKHZvaWQpCiAJY2hhciAqdXN0X2RlYnVnOwogCiAJaWYgKHVzdF9sb2dsZXZlbCA9PSBVU1Rf TE9HTEVWRUxfVU5LTk9XTikgeworCQkvKgorCQkgKiBUaGlzIGdldGVudiBpcyBub3QgcGFydCBv ZiBsdHRuZ19nZXRlbnYoKSBiZWNhdXNlIGl0CisJCSAqIGlzIHJlcXVpcmVkIHRvIHByaW50IEVS UigpIHBlcmZvcm1lZCBkdXJpbmcgZ2V0ZW52CisJCSAqIGluaXRpYWxpemF0aW9uLgorCQkgKi8K IAkJdXN0X2RlYnVnID0gZ2V0ZW52KCJMVFROR19VU1RfREVCVUciKTsKIAkJaWYgKHVzdF9kZWJ1 ZykKIAkJCXVzdF9sb2dsZXZlbCA9IFVTVF9MT0dMRVZFTF9ERUJVRzsKLS0gCjIuMS40CgpfX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpsdHRuZy1kZXYgbWFp bGluZyBsaXN0Cmx0dG5nLWRldkBsaXN0cy5sdHRuZy5vcmcKaHR0cHM6Ly9saXN0cy5sdHRuZy5v cmcvY2dpLWJpbi9tYWlsbWFuL2xpc3RpbmZvL2x0dG5nLWRldgo=