From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-qv1-xf30.google.com (mail-qv1-xf30.google.com [IPv6:2607:f8b0:4864:20::f30]) by sourceware.org (Postfix) with ESMTPS id C16583947406 for ; Tue, 13 Apr 2021 19:27:15 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org C16583947406 Received: by mail-qv1-xf30.google.com with SMTP id i3so3148028qvj.7 for ; Tue, 13 Apr 2021 12:27:15 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:to:references:from:message-id:date :user-agent:mime-version:in-reply-to:content-language :content-transfer-encoding; bh=tFRYpUcg5gwhO/67duLLC49vwRzNh/hZ/Q67wIwO4as=; b=ENHfe0r2l0AKbU1Hs5LG/khnNQGSlDKl3uSQad8LBveceesrCcquWEUTmglTvGJEPi 6LDs+VExiCYeyFMEVZ6bELsuPjiqwvcsyBwN2/w1x+rZQ1CoFK+6LXuhSi/qoWwF/VdJ H+PpBWZf51wD5VmcT7fZ9ePMkYkJvN79YJTBl/JA2enT4pVwl7g72cxDlbmQ5A8sjCZr pA5wNtKNpAnXHTxOL6QP45TVpKMq8Dpwm7hgPpw32CPnB4P6DGE1rnitolZzyo67ubOM kWx0S7l7Pw10JumKsblne+1WmwbCUgDs6zqxalmp2pKNU67TEJZjRf6ma2LnqdyeyQMC wCCg== X-Gm-Message-State: AOAM533K3kQQ3w61lLD4AcGAAnfutZhvZ+FaNyiUdHZRgv7j9wwpZMnl tPWbqMvEYvhmBq8Fp5jHW8vAEQ== X-Google-Smtp-Source: ABdhPJwrBWhgsVLWkq39zTVzoZckJupYsQJN+pYzmAKu7DrcBYd0cDQ5xqDf1yyVZxOsoznpbCd8Xg== X-Received: by 2002:a05:6214:246a:: with SMTP id im10mr9808412qvb.7.1618342035182; Tue, 13 Apr 2021 12:27:15 -0700 (PDT) Received: from [192.168.1.132] ([177.194.41.149]) by smtp.gmail.com with ESMTPSA id k22sm2311155qkh.28.2021.04.13.12.27.13 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Tue, 13 Apr 2021 12:27:14 -0700 (PDT) Subject: Re: [PATCH] Linux: Add execveat system call wrapper To: libc-alpha@sourceware.org, =?UTF-8?Q?Alexandra_H=c3=a1jkov=c3=a1?= , Florian Weimer References: <20200428122019.26826-1-ahajkova@redhat.com> <20210412192648.1380396-1-ahajkova@redhat.com> From: Adhemerval Zanella Message-ID: Date: Tue, 13 Apr 2021 16:27:12 -0300 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.7.1 MIME-Version: 1.0 In-Reply-To: <20210412192648.1380396-1-ahajkova@redhat.com> Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: base64 X-Spam-Status: No, score=-12.5 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, KAM_SHORT, NICE_REPLY_A, RCVD_IN_DNSWL_NONE, SPF_HELO_NONE, SPF_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 13 Apr 2021 19:27:18 -0000 DQoNCk9uIDEyLzA0LzIwMjEgMTY6MjYsIEFsZXhhbmRyYSBIw6Fqa292w6EgdmlhIExpYmMt YWxwaGEgd3JvdGU6DQo+IEZyb206IEFsZXhhbmRyYSBIw6Fqa292w6EgPGFoYWprb3ZhQHJl ZGhhdC5jb20+DQo+IA0KPiAgQWxzbyBhZGQgdGhlIHRlc3QgZm9yIHRoZSBuZXcgd3JhcHBl ci4NCj4gLS0tDQo+IFRoaXMgdmVyc2lvbjoNCj4gKiBmaXhlcyBzb21lIGluZGVudGF0aW9u DQo+ICogbm90aGluZyBpcyBtaXNzaW5nIGluIE5FV1MNCj4gKiByZXR1cm5zIHRoZSBlcnJu byBhZnRlciBjYWxsaW5nIG9wZW5hdF9ub2NhbmNlbA0KPiAqIGZpeGVzIGNvcHkgcGFzdGUg Y29tbWVudCBlcnJvcg0KDQoNCj4gZGlmZiAtLWdpdCBhL3N5c2RlcHMvdW5peC9zeXN2L2xp bnV4L01ha2VmaWxlIGIvc3lzZGVwcy91bml4L3N5c3YvbGludXgvTWFrZWZpbGUNCj4gaW5k ZXggMzAzZmEyOTdiYy4uMzZiYzE4OGI1NSAxMDA2NDQNCj4gLS0tIGEvc3lzZGVwcy91bml4 L3N5c3YvbGludXgvTWFrZWZpbGUNCj4gKysrIGIvc3lzZGVwcy91bml4L3N5c3YvbGludXgv TWFrZWZpbGUNCj4gQEAgLTExNyw2ICsxMTcsNyBAQCB0ZXN0cyArPSB0c3Qtb2ZkbG9ja3Mt Y29tcGF0DQo+ICBlbmRpZg0KPiAgDQo+ICB0ZXN0cy1pbnRlcm5hbCArPSB0c3Qtc2lnY29u dGV4dC1nZXRfcGMNCj4gK3Rlc3RzLXN0YXRpYy1pbnRlcm5hbCArPSB0c3QtZXhlY3ZlYXQt Y29tcGF0DQo+ICANCj4gIENGTEFHUy10c3Qtc2lnY29udGV4dC1nZXRfcGMuYyA9IC1mYXN5 bmNocm9ub3VzLXVud2luZC10YWJsZXMNCj4gIA0KDQpUaGlzIG5vdCBidWlsZCB0aGUgdHN0 LWV4ZWN2ZWF0LWNvbXBhdCBzaW5jZSAndGVzdHMtc3RhdGljLWludGVybmFsJyBpcw0Kbm90 IGEgZ2VuZXJpYyBydWxlLiAgVGhlIGVsZi9NYWtlZmlsZSBkb2VzIGRlZmluZSBpdCwgYnV0 IGl0IGVuZGVkIGFkZGluZw0KaXMgb24gdGVzdC1pbnRlcm5hbCBhbmQgdGVzdC1zdGF0aWMg dG8gYWN0dWFsbHkgZW5hYmxlIHRoZSB0ZXN0Lg0KDQpZb3UgbmVlZCB0byBtaW1pYyBpdDoN Cg0KZGlmZiAtLWdpdCBhL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L01ha2VmaWxlIGIvc3lz ZGVwcy91bml4L3N5c3YvbGludXgvTWFrZWZpbGUgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp bmRleCAzNmJjMTg4YjU1Li40OWRmMTAyMjU3IDEwMDY0NCAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0tLSBh L3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L01ha2VmaWxlICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKysrIGIvc3lz ZGVwcy91bml4L3N5c3YvbGludXgvTWFrZWZpbGUgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAQCAtMTE3LDcgKzEx Nyw5IEBAIHRlc3RzICs9IHRzdC1vZmRsb2Nrcy1jb21wYXQgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbmRpZiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdHMtaW50ZXJuYWwgKz0gdHN0LXNp Z2NvbnRleHQtZ2V0X3BjICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIC10ZXN0cy1zdGF0aWMtaW50ZXJuYWwgKz0gdHN0 LWV4ZWN2ZWF0LWNvbXBhdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICArdGVzdHMtc3RhdGljICs9IHRzdC1leGVjdmVhdC1jb21wYXQg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICt0ZXN0cy1pbnRlcm5hbCArPSB0c3QtZXhlY3ZlYXQtY29tcGF0ICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgQ0ZMQUdTLXRzdC1zaWdjb250ZXh0LWdldF9wYy5jID0gLWZhc3luY2hyb25vdXMt dW53aW5kLXRhYmxlcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCg0KPiBkaWZmIC0t Z2l0IGEvc3lzZGVwcy91bml4L3N5c3YvbGludXgvZXhlY3ZlYXRfZmFsbGJhY2suYyBiL3N5 c2RlcHMvdW5peC9zeXN2L2xpbnV4L2V4ZWN2ZWF0X2ZhbGxiYWNrLmMNCj4gbmV3IGZpbGUg bW9kZSAxMDA2NDQNCj4gaW5kZXggMDAwMDAwMDAwMC4uZGI2N2RkMDMyMQ0KPiAtLS0gL2Rl di9udWxsDQo+ICsrKyBiL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2V4ZWN2ZWF0X2ZhbGxi YWNrLmMNCj4gQEAgLTAsMCArMSw2OSBAQA0KPiArLyogRXhlY3V0ZSBwcm9ncmFtIHJlbGF0 aXZlIHRvIGEgZGlyZWN0b3J5IGZpbGUgZGVzY3JpcHRvci4NCj4gKyAgIENvcHlyaWdodCAo QykgMjAyMSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4NCj4gKyAgIFRoaXMgZmls ZSBpcyBwYXJ0IG9mIHRoZSBHTlUgQyBMaWJyYXJ5Lg0KPiArDQo+ICsgICBUaGUgR05VIEMg TGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQv b3INCj4gKyAgIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMZXNzZXIg R2VuZXJhbCBQdWJsaWMNCj4gKyAgIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVl IFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcg0KPiArICAgdmVyc2lvbiAyLjEgb2YgdGhl IExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uDQo+ICsN Cj4gKyAgIFRoZSBHTlUgQyBMaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRo YXQgaXQgd2lsbCBiZSB1c2VmdWwsDQo+ICsgICBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7 IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZg0KPiArICAgTUVSQ0hBTlRB QklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBH TlUNCj4gKyAgIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFp bHMuDQo+ICsNCj4gKyAgIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhl IEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMNCj4gKyAgIExpY2Vuc2UgYWxvbmcgd2l0aCB0 aGUgR05VIEMgTGlicmFyeTsgaWYgbm90LCBzZWUNCj4gKyAgIDxodHRwczovL3d3dy5nbnUu b3JnL2xpY2Vuc2VzLz4uICAqLw0KPiArDQo+ICsjaW5jbHVkZSA8ZXJybm8uaD4NCj4gKyNp bmNsdWRlIDxzdGRkZWYuaD4NCj4gKyNpbmNsdWRlIDxzdGRpby5oPg0KPiArI2luY2x1ZGUg PHVuaXN0ZC5oPg0KPiArI2luY2x1ZGUgPGZjbnRsLmg+DQo+ICsjaW5jbHVkZSA8c3lzL3N0 YXQuaD4NCj4gKw0KPiArI2luY2x1ZGUgPHN5c2RlcC5oPg0KPiArI2luY2x1ZGUgPHN5cy9z eXNjYWxsLmg+DQo+ICsjaW5jbHVkZSA8a2VybmVsLWZlYXR1cmVzLmg+DQo+ICsjaW5jbHVk ZSA8ZmRfdG9fZmlsZW5hbWUuaD4NCj4gKyNpbmNsdWRlIDxub3QtY2FuY2VsLmg+DQo+ICsN Cj4gK2ludA0KPiArX19leGVjdmVhdF9mYWxsYmFjayAoaW50IGRpcmZkLCBjb25zdCBjaGFy ICpwYXRoLCBjaGFyICpjb25zdCBhcmd2W10sDQo+ICsgICAgICAgICAgICAgICAgICAgICBj aGFyICpjb25zdCBlbnZwW10sIGludCBmbGFncykNCj4gK3sNCj4gKyAgaW50IGZkOw0KPiAr DQo+ICsgIGlmIChwYXRoWzBdID09ICdcMCcgJiYgKGZsYWdzICYgQVRfRU1QVFlfUEFUSCkg JiYgZGlyZmQgPj0gMCkNCj4gKyAgICBmZCA9IGRpcmZkOw0KPiArICBlbHNlDQo+ICsgICAg ew0KPiArICAgICAgaW50IG9mbGFncyA9IE9fQ0xPRVhFQzsNCg0KVGhlIGRlZmF1bHQgT19D TE9FWEVDIGxlYWRzIHRoZSBzYW1lIGlzc3VlIGRlc2NyaWJlZCBieSBmZXhlY3ZlIG1hbiAN CnBhZ2UgWzFdOiBpZiBwYXRoWzBdIHJlZmVycyB0byBhbiBleGVjdXRhYmxlIHNjcmlwdCB3 aXRoIGEgc2hlYmFuZyANCmV4ZWN2ZWF0IHdpbGwgZmFpbCB3aXRoIEVOT0VOVDoNCg0KJCBj YXQgc2NyaXB0DQojIS9iaW4vc2gNCmV4aXQgJCoNCiQgY2F0IHRlc3QuYyANCiNpbmNsdWRl IDx1bmlzdGQuaD4NCiNpbmNsdWRlIDxhc3NlcnQuaD4NCiNpbmNsdWRlIDxmY250bC5oPg0K I2luY2x1ZGUgPHN0ZGxpYi5oPg0KI2luY2x1ZGUgPHN5cy93YWl0Lmg+DQoNCmV4dGVybiBp bnQgX19hdHRyaWJ1dGVfXygod2VhaykpIGV4ZWN2ZWF0IChpbnQgX19mZCwgY29uc3QgY2hh ciAqX19wYXRoLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IGNoYXIgKmNvbnN0IF9fYXJndltdLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIGNoYXIgKmNvbnN0IF9fZW52cFtdLCBpbnQgX19mbGFncyk7DQoNCmlu dCBtYWluIChpbnQgYXJnYywgY2hhciAqYXJndltdKQ0Kew0KICBjaGFyICpwYXRobmFtZSA9 ICJzY3JpcHQiOw0KDQogIHBpZF90IHBpZCA9IGZvcmsgKCk7DQogIGFzc2VydCAocGlkID49 IDApOw0KICBpZiAocGlkID09IDApDQogICAgew0KICAgICAgY2hhciAqYXJnc1tdID0geyBw YXRobmFtZSwgIjk5IiwgTlVMTCB9Ow0KICAgICAgY2hhciAqZW52cFtdID0geyBOVUxMIH07 DQogICAgICBleGVjdmVhdCAoQVRfRkRDV0QsIHBhdGhuYW1lLCBhcmdzLCBlbnZwLCAwKTsN CiAgICAgIF9leGl0IChFWElUX0ZBSUxVUkUpOw0KICAgIH0NCg0KICBpbnQgc3RhdHVzOw0K ICBpbnQgcmMgPSB3YWl0cGlkIChwaWQsICZzdGF0dXMsIDApOw0KICBhc3NlcnQgKHJjID09 IHBpZCk7DQogIGFzc2VydCAoV0lGRVhJVEVEKHN0YXR1cykpOw0KICBhc3NlcnQgKFdFWElU U1RBVFVTKHN0YXR1cykgPT0gOTkpOw0KDQogIHJldHVybiAwOw0KfQ0KJCBnY2MgdGVzdC5j IC1vIHRlc3QNCiQgLi90ZXN0cnVuLnNoIC4vdGVzdA0KL2Jpbi9zaDogMDogQ2FuJ3Qgb3Bl biAvcHJvYy9zZWxmL2ZkLzMNCnRlc3Q6IHRlc3QuYzozNDogbWFpbjogQXNzZXJ0aW9uIGBX RVhJVFNUQVRVUyhzdGF0dXMpID09IDk5JyBmYWlsZWQuDQpBYm9ydGVkIChjb3JlIGR1bXBl ZCkNCg0KVGhlIGZleGVjdmUgY2FsbCBjb3VsZCBiZSBtaXRpZ2F0ZWQgc2luY2UgaXQgbW92 ZXMgdGhlIHJlc3BvbnNhYmlsaXR5DQpvZiBhZGRpbmcgdGhlIE9fQ0xPRVhFQyB0byBjYWxs ZXIuICBJIHN0aWxsIHRoaW5rIGl0IGlzIG5vdCBpZGVhbCwNCmJ1dCBzaW5jZSBmZXhlY3Zl IGlzIFBPU0lYIGludGVyZmFjZSBpdCBzaG91bGQgYmUgYmV0dGVyIHRvIGFsd2F5cw0KZmFp bCB3aXRoIEVOT1NZUyBvbiBvbGRlciBrZXJuZWxzLg0KDQpUaGVyZSBpcyBhbm90aGVyIGNv cm5lciBjYXNlcyB0aGF0IHRoZSBmYWxsYmFjayBkbyBub3QgbWltaWMgZXhhY3RseQ0KdGhl IHN5c2NhbGw6DQoNCiAgZXhlY3ZlYXQgKDk5IC8qIGludmFsaWQgZmQgICovLCAiIiwgQVRf RU1QVFlfUEFUSCkNCg0Kd2hpY2ggcmV0dXJucyBFTk9FTlQgaW5zdGVhZCBvZiBFQkFERiwg YnV0IEkgZG8gbm90IGNvbnNpZGVyZSB0aGlzDQphIGRlYWwgYnJlYWsuDQoNClNvIHdlIGhh dmUgc29tZSBvcHRpb25zIGhlcmU6DQoNCiAgMS4gTGVhdmUgYXMgaXMgYW5kIGRvY3VtZW50 IHByb3Blcmx5IHRoYXQgdXNpbmcgd2l0aCBhbiBleGVjdXRhYmxlDQogICAgIHNjcmlwdCB3 aXRoIHNoZWJhbmcgbWlnaHQgZmFpbC4NCg0KICAyLiBSZW1vdmUgdGhlIE9fQ0xPRVhFQyBm cm9tIGZhbGxiYWNrLCB3aGljaCBsZWFkcyB0byBmaWxlIGxlYWthZ2UuDQoNCiAgMy4gUmVt b3ZlIHRoZSBmYWxsYmFjayBhbmQgcmV0dXJuIEVOT1NZUyBvbiBrZXJuZWwgd2l0aG91dCBl eGVjdmVhdA0KICAgICBzdXBwb3J0Lg0KDQpJIHBlcnNvbmFsbHkgcHJlZmVyIHRvIGdvIGZv ciAzLiBpbnN0ZWFkIG9mIHByb3ZpZGluZyBhIGJyb2tlbiBmYWxsYmFjay4NCg0KDQpbMV0g aHR0cHM6Ly9tYW43Lm9yZy9saW51eC9tYW4tcGFnZXMvbWFuMy9mZXhlY3ZlLjMuaHRtbA0K DQo+ICsgICAgICBpZiAoZmxhZ3MgJiBBVF9TWU1MSU5LX05PRk9MTE9XKQ0KPiArICAgICAg ICBvZmxhZ3MgfD0gT19OT0ZPTExPVzsNCj4gKyAgICAgIGZkID0gX19vcGVuYXRfbm9jYW5j ZWwgKGRpcmZkLCBwYXRoLCBvZmxhZ3MpOw0KPiArICAgIH0NCj4gKyAgaWYgKGZkIDwgMCkN Cj4gKyAgICByZXR1cm4gZXJybm87DQoNClRoaXMgcmV0dXJucyB0aGUgd3JvbmcgdmFsdWUs IGl0IHNob3VsZCByZXR1cm4gJ2ZkJyBvciBqdXN0ICctMScNCg0KPiArDQo+ICsgIHN0cnVj dCBmZF90b19maWxlbmFtZSBmZGZpbGVuYW1lOw0KPiArICBjb25zdCBjaGFyICpnZmlsZW5h bWUgPSBfX2ZkX3RvX2ZpbGVuYW1lIChmZCwgJmZkZmlsZW5hbWUpOw0KPiArIA0KPiArICAv KiBXZSBkbyBub3QgbmVlZCB0aGUgcmV0dXJuIHZhbHVlLiAgKi8NCj4gKyAgX19leGVjdmUg KGdmaWxlbmFtZSwgYXJndiwgZW52cCk7DQo+ICsNCj4gKyAgaW50IHNhdmUgPSBlcnJubzsN Cj4gKw0KPiArICAvKiBXZSBjb21lIGhlcmUgb25seSBpZiB0aGUgJ2V4ZWN2ZScgY2FsbCBm YWlscy4gIERldGVybWluZSB3aGV0aGVyDQo+ICsgICAgIC9wcm9jIGlzIG1vdW50ZWQuICBJ ZiBub3Qgd2UgcmV0dXJuIEVOT1NZUy4gICovDQo+ICsgIHN0cnVjdCBzdGF0NjQgc3Q7DQo+ ICsgIGlmIChfX3N0YXQ2NCAoRkRfVE9fRklMRU5BTUVfUFJFRklYLCAmc3QpICE9IDAgJiYg ZXJybm8gPT0gRU5PRU5UKQ0KPiArICAgIHNhdmUgPSBFTk9TWVM7DQo+ICsNCj4gKyAgaWYg KGZkICE9IGRpcmZkKQ0KPiArICAgIF9fY2xvc2Vfbm9jYW5jZWxfbm9zdGF0dXMgKGZkKTsN Cj4gKyAgX19zZXRfZXJybm8gKHNhdmUpOw0KPiArDQo+ICsgIHJldHVybiAtMTsNCj4gK30N Cg0KPiBkaWZmIC0tZ2l0IGEvc3lzZGVwcy91bml4L3N5c3YvbGludXgvdHN0LWV4ZWN2ZWF0 LWNvbXBhdC5jIGIvc3lzZGVwcy91bml4L3N5c3YvbGludXgvdHN0LWV4ZWN2ZWF0LWNvbXBh dC5jDQo+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0DQo+IGluZGV4IDAwMDAwMDAwMDAuLmEzN2Uy MzI5YTUNCj4gLS0tIC9kZXYvbnVsbA0KPiArKysgYi9zeXNkZXBzL3VuaXgvc3lzdi9saW51 eC90c3QtZXhlY3ZlYXQtY29tcGF0LmMNCj4gQEAgLTAsMCArMSwyOCBAQA0KPiArLyogVGVz dCB0aGUgZmFsbGJhY2sgaW1wbGVtZW50YXRpb24gb2YgZXhlY3ZlYXQuDQo+ICsgICBDb3B5 cmlnaHQgKEMpIDIwMjEgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuDQo+ICsgICBU aGlzIGZpbGUgaXMgcGFydCBvZiB0aGUgR05VIEMgTGlicmFyeS4NCj4gKw0KPiArICAgVGhl IEdOVSBDIExpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUg aXQgYW5kL29yDQo+ICsgICBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUg TGVzc2VyIEdlbmVyYWwgUHVibGljDQo+ICsgICBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0 aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXINCj4gKyAgIHZlcnNpb24gMi4x IG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9u Lg0KPiArDQo+ICsgICBUaGUgR05VIEMgTGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUg aG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLA0KPiArICAgYnV0IFdJVEhPVVQgQU5ZIFdB UlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YNCj4gKyAgIE1F UkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNl ZSB0aGUgR05VDQo+ICsgICBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9y ZSBkZXRhaWxzLg0KPiArDQo+ICsgICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5 IG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljDQo+ICsgICBMaWNlbnNlIGFsb25n IHdpdGggdGhlIEdOVSBDIExpYnJhcnk7IGlmIG5vdCwgc2VlDQo+ICsgICA8aHR0cDovL3d3 dy5nbnUub3JnL2xpY2Vuc2VzLz4uICAqLw0KPiArDQo+ICsvKiBHZXQgdGhlIGRlY2xhcmF0 aW9uIG9mIHRoZSBvZmZpY2lhbCBleGVjdmVhdCBmdW5jdGlvbi4gICovDQo+ICsjaW5jbHVk ZSA8dW5pc3RkLmg+DQo+ICsNCj4gKy8qIENvbXBpbGUgYSBsb2NhbCB2ZXJzaW9uIG9mIGV4 ZWN2ZWF0LiAgKi8NCj4gKyNpbmNsdWRlIDxzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9leGVj dmVhdF9mYWxsYmFjay5jPg0KPiArDQo+ICsvKiBSZS11c2UgdGhlIHRlc3QsIGJ1dCBydW4g aXQgYWdhaW5zdCBleGVjdmVhdF9mYWxsYmFjayBkZWZpbmVkDQo+ICsgICBhYm92ZS4gICov DQo+ICsjZGVmaW5lIGV4ZWN2ZWF0IGV4ZWN2ZWF0X2ZhbGxiYWNrDQoNCkJlY2F1c2UgeW91 IHdlcmVuJ3QgYnVpbGRpbmcgdGhlIHRlc3RzIHRoZSBmYWlsdXJlIHdhcyBub3Qgc2hvd2lu ZyBpdHNlbGY6DQpleGVjdmVhdF9mYWxsYmFjay5jIGRlZmluZWQgX19leGVjdmVhdF9mYWxs YmFjayBub3QgZXhlY3ZlYXRfZmFsbGJhY2suDQpZb3UgbmVlZCB0byBmaXggaXQgd2l0aDoN Cg0KZGlmZiAtLWdpdCBhL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3RzdC1leGVjdmVhdC1j b21wYXQuYyBiL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3RzdC1leGVjdmVhdC1jb21wYXQu Yw0KaW5kZXggYTM3ZTIzMjlhNS4uOTM3NDAxODYyNyAxMDA2NDQNCi0tLSBhL3N5c2RlcHMv dW5peC9zeXN2L2xpbnV4L3RzdC1leGVjdmVhdC1jb21wYXQuYw0KKysrIGIvc3lzZGVwcy91 bml4L3N5c3YvbGludXgvdHN0LWV4ZWN2ZWF0LWNvbXBhdC5jDQpAQCAtMjQsNSArMjQsNSBA QA0KIA0KIC8qIFJlLXVzZSB0aGUgdGVzdCwgYnV0IHJ1biBpdCBhZ2FpbnN0IGV4ZWN2ZWF0 X2ZhbGxiYWNrIGRlZmluZWQNCiAgICBhYm92ZS4gICovDQotI2RlZmluZSBleGVjdmVhdCBl eGVjdmVhdF9mYWxsYmFjaw0KKyNkZWZpbmUgZXhlY3ZlYXQgX19leGVjdmVhdF9mYWxsYmFj aw0KICNpbmNsdWRlIDxwb3NpeC90c3QtZXhlY3ZlYXQuYz4NCg==