From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-8.2 required=3.0 tests=DKIM_SIGNED,DKIM_VALID, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY, SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED,USER_AGENT_SANE_1 autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id AF826C3A59B for ; Fri, 30 Aug 2019 15:31:37 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 5C94822CE9 for ; Fri, 30 Aug 2019 15:31:37 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=yahoo.com header.i=@yahoo.com header.b="iNo2yOIR" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727904AbfH3Pbh (ORCPT ); Fri, 30 Aug 2019 11:31:37 -0400 Received: from sonic303-27.consmr.mail.ne1.yahoo.com ([66.163.188.153]:45970 "EHLO sonic303-27.consmr.mail.ne1.yahoo.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727751AbfH3Pbg (ORCPT ); Fri, 30 Aug 2019 11:31:36 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1567179093; bh=YsCM41DRxgqJ7bQDAlTbvv4y3j7g5s9eMQIG7dPUcdc=; h=Subject:To:Cc:References:From:Date:In-Reply-To:From:Subject; b=iNo2yOIR8die0TuOzKxfh91WHKVOZDt0O8b99tGlXDqP09EbHnSydELQ6Cgp96+qo4zZmLzAvm1YlFYDrnCBQEDLJvTimJfendbBdRYDedVGZ1C++Ryf/1AOn2SBHw5GflSMIt8amNHHnmn6A6CUefrOm9Zek8NapcdV0cUplZhmK9kT+9hi8Squ0wRi/z+BS42G+iqKZOFPYClu8zwo+r3ufeIrDYhE3FoEiW7mGoLVPEyxmjsG42yb81p3ZXIEIncaShotT7+w1nRhSc9m4LtMXdUVGTMhU1nAwRRFKzRM2hGNIWPP0kqhYTTTv7F+3GxMiBBNfa2T2Qq8SLpzKA== X-YMail-OSG: CgBDRnAVM1m5JEbpZSyYsJDq6wa2zY6PWCb1qwNgFJBddD1sBQ.WJwbsJkCUbyj _XYrs0tUVyxQC6WoPWU_auIyzNENbnZXkTybIpr4jrkDj0LSV9Y5pn.I5dTyKG_GCk.DqsHTFVTC Az6ueVqWuaxLX5DqAa1aXPeh5GziBQPU3ojosx_mNm0M.Ll8_jxJbeQsDAhURqBm5pCkzF0MjKVZ JFRH4SY.B_Y20QE2tT.EfI2dDOjq1ktuTCnFOmNNw1o67O.G.2w5idR66z.8ry2mY4s7y86NGKkN NaCU.bFspsHAPr9qj2K_FmNfTNXHPAZQmP..j84Rx.5xJOeoU_RKarWTn6xhalQ5tNK6IIqS8cyU 4tpNjXZbKfcFkFPtaCDXao8LMkvN2G8ynD8HCSK8prXAbkehKfimZFt3Kr5KAdIKnDt3PrTTphHY u732jQCX.z7NHKHerZc9GzDBDKiw1R0zNordceCjdmIzqe5y9YyshXRivzciaetgzxBSE7OmNf7B QwAEEwiopAa0nxtkIDVFTdk1UQikkpEC8WTZdgEi6XoB7ua2oF5U3uPqtItxUfYeoZgoRx8iiN2G tw.7ekipq0mo9bQR2fbT9wEixIs6DAmwxU0Z.CYf.QBKYPUyqvQKUNSjs_IZ8FVJRV3HriMXZej6 60BuW542Gag53tqsPZQvis4Y6GTfUT5o467daz9Cdy9atNn8j6DQQR0DrrX2wq9PT2c_SkwAKy.j 3mweXZoTB0vCwrG3d7OpqtcOgtGg5.lQGgYqnqrmoLV2_Mj4_sNXVKi566NX6WntvaeV.RWM08Hw fV3_q_wsPNjfr1Haz5_sTik.YbD68rPdks_P6Qn9xWMUci2ZsWH.k7vff02IX8lY335ZwQxCPoNj K6UadWSSpi.sdjhgzRUOpQRRSgpfH4f8x1KJar2OMYd6xdR_O5rgNi4i1LZy_lgw7jiL6tiUEz.E 29nA12ljFAEvJQuoResmqCTY7j.1sm1arPK.1J4bq4Dm5vgK6asha7cYId_VZjG9UgENEnZNuqsw UM.huvLYtvKpcrwSKV3vxmx0dgHXu28sgDSQWZ07wzgRgI_VGT8RI9ahRopuZYeZOH8YsZEAtpc4 Rw2E9iJ2h1ZMqqAegZmWVJDYju6kMRVnIvcjN9z9cMXRp0PVk39J4GvGLab1t4Mrbgj6kKhAy_rn z3q0BFLAikW1CPV2I182aEOhS36lg33N0gV55dlfaa4ASYQq9xxCNICRkzK7kLG_bexRNAQRl9XJ YDTvp47YpoPVcea7aIxj7iFACsqr6JVplR3F3a5NXP_LbYaziKEQPQWaSy6ziUZai0cwkw7Vc5k4 uNTaDhUGj8cFs Received: from sonic.gate.mail.ne1.yahoo.com by sonic303.consmr.mail.ne1.yahoo.com with HTTP; Fri, 30 Aug 2019 15:31:33 +0000 Received: by smtp403.mail.ne1.yahoo.com (Oath Hermes SMTP Server) with ESMTPA ID 5b7fad49954c1afb4635a79f8facf116; Fri, 30 Aug 2019 15:31:33 +0000 (UTC) Subject: Re: [RFC PATCH] audit, security: allow LSMs to selectively enable audit collection To: Stephen Smalley , Aaron Goidel , paul@paul-moore.com Cc: jmorris@namei.org, serge@hallyn.com, keescook@chromium.org, rgb@redhat.com, linux-audit@redhat.com, linux-security-module@vger.kernel.org, selinux@vger.kernel.org, casey@schaufler-ca.com References: <20190815174111.6309-1-acgoide@tycho.nsa.gov> From: Casey Schaufler Openpgp: preference=signencrypt Autocrypt: addr=casey@schaufler-ca.com; keydata= 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 abzjfg== Message-ID: Date: Fri, 30 Aug 2019 08:31:31 -0700 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:60.0) Gecko/20100101 Thunderbird/60.8.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: base64 Content-Language: en-US Sender: selinux-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: selinux@vger.kernel.org T24gOC8zMC8yMDE5IDY6NDQgQU0sIFN0ZXBoZW4gU21hbGxleSB3cm90ZToNCj4gT24gOC8x NS8xOSAxOjQxIFBNLCBBYXJvbiBHb2lkZWwgd3JvdGU6DQo+PiBQcmVzZW50bHksIHRoZXJl IGlzIG5vIHdheSBmb3IgTFNNcyB0byBlbmFibGUgY29sbGVjdGlvbiBvZiBzdXBwbGVtZW50 YWwNCj4+IGF1ZGl0IHJlY29yZHMgc3VjaCBhcyBwYXRoIGFuZCBpbm9kZSBpbmZvcm1hdGlv biB3aGVuIGEgcGVybWlzc2lvbiBkZW5pYWwNCj4+IG9jY3Vycy4gUHJvdmlkZSBhIExTTSBo b29rIHRvIGFsbG93IExTTXMgdG8gc2VsZWN0aXZlbHkgZW5hYmxlIGNvbGxlY3Rpb24NCj4+ IG9uIGEgcGVyLXRhc2sgYmFzaXMsIGV2ZW4gaWYgdGhlIGF1ZGl0IGNvbmZpZ3VyYXRpb24g d291bGQgb3RoZXJ3aXNlDQo+PiBkaXNhYmxlIGF1ZGl0aW5nIG9mIGEgdGFzayBhbmQvb3Ig Y29udGFpbnMgbm8gYXVkaXQgZmlsdGVyIHJ1bGVzLiBJZiB0aGUNCj4+IGhvb2sgcmV0dXJu cyBhIG5vbi16ZXJvIHJlc3VsdCwgY29sbGVjdCBhbGwgYXZhaWxhYmxlIGF1ZGl0IGluZm9y bWF0aW9uLiBJZg0KPj4gdGhlIGhvb2sgZ2VuZXJhdGVzIGl0cyBvd24gYXVkaXQgcmVjb3Jk LCB0aGVuIHN1cHBsZW1lbnRhbCBhdWRpdA0KPj4gaW5mb3JtYXRpb24gd2lsbCBiZSBlbWl0 dGVkIGF0IHN5c2NhbGwgZXhpdC4NCj4+DQo+PiBJbiBTRUxpbnV4LCB3ZSBpbXBsZW1lbnQg dGhpcyBob29rIGJ5IHJldHVybmluZyB0aGUgcmVzdWx0IG9mIGEgcGVybWlzc2lvbg0KPj4g Y2hlY2sgb24gdGhlIHByb2Nlc3MuIElmIHRoZSBuZXcgcHJvY2VzczI6YXVkaXRfZW5hYmxl IHBlcm1pc3Npb24gaXMNCj4+IGFsbG93ZWQgYnkgdGhlIHBvbGljeSwgdGhlbiBhdWRpdCBj b2xsZWN0aW9uIHdpbGwgYmUgZW5hYmxlZCBmb3IgdGhhdA0KPj4gcHJvY2Vzcy4gT3RoZXJ3 aXNlLCBTRUxpbnV4IHdpbGwgZGVmZXIgdG8gdGhlIGF1ZGl0IGNvbmZpZ3VyYXRpb24uDQo+ DQo+IEFueSBmZWVkYmFjayBvbiB0aGlzIFJGQyBwYXRjaD/CoCBJIGtub3cgUGF1bCBwcm92 aWRlZCBzb21lIHRob3VnaHRzIG9uIHRoZSBnZW5lcmFsIHRvcGljIG9mIExTTS9hdWRpdCBl bmFibGVtZW50IGluIHRoZSBvdGhlciBwYXRjaCB0aHJlYWQgYnV0IEkgaGF2ZW4ndCBzZWVu IGFueSByZXNwb25zZSB0byB0aGlzIHBhdGNoLg0KDQpBdWRpdCBwb2xpY3kgc2hvdWxkIGJl IGluZGVwZW5kZW50IG9mIHNlY3VyaXR5IG1vZHVsZSBwb2xpY3kuDQpJIHNob3VsZG4ndCBo YXZlIHRvIGNoYW5nZSBTRUxpbnV4IHBvbGljeSB0byBlbmFibGUgdGhpcyBkYXRhDQpjb2xs ZWN0aW9uLiBJIHNob3VsZCBiZSBhYmxlIHRvIGNoYW5nZSB0aGUgYXVkaXQgY29uZmlndXJh dGlvbg0KdG8gZ2V0IHRoaXMgaWYgSSB3YW50IGl0LiANCg0KDQo+DQo+Pg0KPj4gU2lnbmVk LW9mZi1ieTogQWFyb24gR29pZGVsIDxhY2dvaWRlQHR5Y2hvLm5zYS5nb3Y+DQo+PiAtLS0N Cj4+IMKgIGluY2x1ZGUvbGludXgvbHNtX2hvb2tzLmjCoMKgwqDCoMKgwqDCoMKgwqDCoCB8 wqAgNyArKysrKysrDQo+PiDCoCBpbmNsdWRlL2xpbnV4L3NlY3VyaXR5LmjCoMKgwqDCoMKg wqDCoMKgwqDCoMKgIHzCoCA3ICsrKysrKy0NCj4+IMKgIGtlcm5lbC9hdWRpdHNjLmPCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8IDEwICsrKysrKystLS0NCj4+ IMKgIHNlY3VyaXR5L3NlY3VyaXR5LmPCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oCB8wqAgNSArKysrKw0KPj4gwqAgc2VjdXJpdHkvc2VsaW51eC9ob29rcy5jwqDCoMKgwqDC oMKgwqDCoMKgwqDCoCB8IDExICsrKysrKysrKysrDQo+PiDCoCBzZWN1cml0eS9zZWxpbnV4 L2luY2x1ZGUvY2xhc3NtYXAuaCB8wqAgMiArLQ0KPj4gwqAgNiBmaWxlcyBjaGFuZ2VkLCAz NyBpbnNlcnRpb25zKCspLCA1IGRlbGV0aW9ucygtKQ0KPj4NCj4+IGRpZmYgLS1naXQgYS9p bmNsdWRlL2xpbnV4L2xzbV9ob29rcy5oIGIvaW5jbHVkZS9saW51eC9sc21faG9va3MuaA0K Pj4gaW5kZXggZWFkOThhZjljNjAyLi43ZDcwYTY3NTk2MjEgMTAwNjQ0DQo+PiAtLS0gYS9p bmNsdWRlL2xpbnV4L2xzbV9ob29rcy5oDQo+PiArKysgYi9pbmNsdWRlL2xpbnV4L2xzbV9o b29rcy5oDQo+PiBAQCAtMTM4MCw2ICsxMzgwLDExIEBADQo+PiDCoMKgICrCoMKgwqAgYXVk aXRfcnVsZV9pbml0Lg0KPj4gwqDCoCAqwqDCoMKgIEBsc21ydWxlIGNvbnRhaW5zIHRoZSBh bGxvY2F0ZWQgcnVsZQ0KPj4gwqDCoCAqDQo+PiArICogQGF1ZGl0X2VuYWJsZToNCj4+ICsg KsKgwqDCoCBBbGxvdyB0aGUgc2VjdXJpdHkgbW9kdWxlIHRvIHNlbGVjdGl2ZWx5IGVuYWJs ZSBhdWRpdCBjb2xsZWN0aW9uDQo+PiArICrCoMKgwqAgb24gcGVybWlzc2lvbiBkZW5pYWxz IGJhc2VkIG9uIHdoZXRoZXIgb3Igbm90IEB0c2sgaGFzIHRoZQ0KPj4gKyAqwqDCoMKgIHBy b2Nlc3MyOmF1ZGl0X2VuYWJsZSBwZXJtaXNzaW9uLg0KPj4gKyAqDQo+PiDCoMKgICogQGlu b2RlX2ludmFsaWRhdGVfc2VjY3R4Og0KPj4gwqDCoCAqwqDCoMKgIE5vdGlmeSB0aGUgc2Vj dXJpdHkgbW9kdWxlIHRoYXQgaXQgbXVzdCByZXZhbGlkYXRlIHRoZSBzZWN1cml0eSBjb250 ZXh0DQo+PiDCoMKgICrCoMKgwqAgb2YgYW4gaW5vZGUuDQo+PiBAQCAtMTgwMCw2ICsxODA1 LDcgQEAgdW5pb24gc2VjdXJpdHlfbGlzdF9vcHRpb25zIHsNCj4+IMKgwqDCoMKgwqAgaW50 ICgqYXVkaXRfcnVsZV9rbm93bikoc3RydWN0IGF1ZGl0X2tydWxlICprcnVsZSk7DQo+PiDC oMKgwqDCoMKgIGludCAoKmF1ZGl0X3J1bGVfbWF0Y2gpKHUzMiBzZWNpZCwgdTMyIGZpZWxk LCB1MzIgb3AsIHZvaWQgKmxzbXJ1bGUpOw0KPj4gwqDCoMKgwqDCoCB2b2lkICgqYXVkaXRf cnVsZV9mcmVlKSh2b2lkICpsc21ydWxlKTsNCj4+ICvCoMKgwqAgaW50ICgqYXVkaXRfZW5h YmxlKShzdHJ1Y3QgdGFza19zdHJ1Y3QgKnRzayk7DQo+PiDCoCAjZW5kaWYgLyogQ09ORklH X0FVRElUICovDQo+PiDCoCDCoCAjaWZkZWYgQ09ORklHX0JQRl9TWVNDQUxMDQo+PiBAQCAt MjA0Myw2ICsyMDQ5LDcgQEAgc3RydWN0IHNlY3VyaXR5X2hvb2tfaGVhZHMgew0KPj4gwqDC oMKgwqDCoCBzdHJ1Y3QgaGxpc3RfaGVhZCBhdWRpdF9ydWxlX2tub3duOw0KPj4gwqDCoMKg wqDCoCBzdHJ1Y3QgaGxpc3RfaGVhZCBhdWRpdF9ydWxlX21hdGNoOw0KPj4gwqDCoMKgwqDC oCBzdHJ1Y3QgaGxpc3RfaGVhZCBhdWRpdF9ydWxlX2ZyZWU7DQo+PiArwqDCoMKgIHN0cnVj dCBobGlzdF9oZWFkIGF1ZGl0X2VuYWJsZTsNCj4+IMKgICNlbmRpZiAvKiBDT05GSUdfQVVE SVQgKi8NCj4+IMKgICNpZmRlZiBDT05GSUdfQlBGX1NZU0NBTEwNCj4+IMKgwqDCoMKgwqAg c3RydWN0IGhsaXN0X2hlYWQgYnBmOw0KPj4gZGlmZiAtLWdpdCBhL2luY2x1ZGUvbGludXgv c2VjdXJpdHkuaCBiL2luY2x1ZGUvbGludXgvc2VjdXJpdHkuaA0KPj4gaW5kZXggN2Q5YzFk YTFmNjU5Li43YmU2NmRiOGRlNGUgMTAwNjQ0DQo+PiAtLS0gYS9pbmNsdWRlL2xpbnV4L3Nl Y3VyaXR5LmgNCj4+ICsrKyBiL2luY2x1ZGUvbGludXgvc2VjdXJpdHkuaA0KPj4gQEAgLTE3 MTksNyArMTcxOSw3IEBAIGludCBzZWN1cml0eV9hdWRpdF9ydWxlX2luaXQodTMyIGZpZWxk LCB1MzIgb3AsIGNoYXIgKnJ1bGVzdHIsIHZvaWQgKipsc21ydWxlKTsNCj4+IMKgIGludCBz ZWN1cml0eV9hdWRpdF9ydWxlX2tub3duKHN0cnVjdCBhdWRpdF9rcnVsZSAqa3J1bGUpOw0K Pj4gwqAgaW50IHNlY3VyaXR5X2F1ZGl0X3J1bGVfbWF0Y2godTMyIHNlY2lkLCB1MzIgZmll bGQsIHUzMiBvcCwgdm9pZCAqbHNtcnVsZSk7DQo+PiDCoCB2b2lkIHNlY3VyaXR5X2F1ZGl0 X3J1bGVfZnJlZSh2b2lkICpsc21ydWxlKTsNCj4+IC0NCj4+ICtpbnQgc2VjdXJpdHlfYXVk aXRfZW5hYmxlKHN0cnVjdCB0YXNrX3N0cnVjdCAqdHNrKTsNCj4+IMKgICNlbHNlDQo+PiDC oCDCoCBzdGF0aWMgaW5saW5lIGludCBzZWN1cml0eV9hdWRpdF9ydWxlX2luaXQodTMyIGZp ZWxkLCB1MzIgb3AsIGNoYXIgKnJ1bGVzdHIsDQo+PiBAQCAtMTc0Miw2ICsxNzQyLDExIEBA IHN0YXRpYyBpbmxpbmUgaW50IHNlY3VyaXR5X2F1ZGl0X3J1bGVfbWF0Y2godTMyIHNlY2lk LCB1MzIgZmllbGQsIHUzMiBvcCwNCj4+IMKgIHN0YXRpYyBpbmxpbmUgdm9pZCBzZWN1cml0 eV9hdWRpdF9ydWxlX2ZyZWUodm9pZCAqbHNtcnVsZSkNCj4+IMKgIHsgfQ0KPj4gwqAgK3N0 YXRpYyBpbmxpbmUgaW50IHNlY3VyaXR5X2F1ZGl0X2VuYWJsZShzdHJ1Y3QgdGFza19zdHJ1 Y3QgKnRzaykNCj4+ICt7DQo+PiArwqDCoMKgIHJldHVybiAwOw0KPj4gK30NCj4+ICsNCj4+ IMKgICNlbmRpZiAvKiBDT05GSUdfU0VDVVJJVFkgKi8NCj4+IMKgICNlbmRpZiAvKiBDT05G SUdfQVVESVQgKi8NCj4+IMKgIGRpZmYgLS1naXQgYS9rZXJuZWwvYXVkaXRzYy5jIGIva2Vy bmVsL2F1ZGl0c2MuYw0KPj4gaW5kZXggOTVhZTI3ZWRkNDE3Li43ZTA1MmI3MWJjNDIgMTAw NjQ0DQo+PiAtLS0gYS9rZXJuZWwvYXVkaXRzYy5jDQo+PiArKysgYi9rZXJuZWwvYXVkaXRz Yy5jDQo+PiBAQCAtOTA2LDggKzkwNiwxMiBAQCBpbnQgYXVkaXRfYWxsb2Moc3RydWN0IHRh c2tfc3RydWN0ICp0c2spDQo+PiDCoCDCoMKgwqDCoMKgIHN0YXRlID0gYXVkaXRfZmlsdGVy X3Rhc2sodHNrLCAma2V5KTsNCj4+IMKgwqDCoMKgwqAgaWYgKHN0YXRlID09IEFVRElUX0RJ U0FCTEVEKSB7DQo+PiAtwqDCoMKgwqDCoMKgwqAgY2xlYXJfdHNrX3RocmVhZF9mbGFnKHRz aywgVElGX1NZU0NBTExfQVVESVQpOw0KPj4gLcKgwqDCoMKgwqDCoMKgIHJldHVybiAwOw0K Pj4gK8KgwqDCoMKgwqDCoMKgIGlmIChzZWN1cml0eV9hdWRpdF9lbmFibGUodHNrKSkgew0K Pj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqAgc3RhdGUgPSBBVURJVF9CVUlMRF9DT05URVhU Ow0KPj4gK8KgwqDCoMKgwqDCoMKgIH0gZWxzZSB7DQo+PiArwqDCoMKgwqDCoMKgwqDCoMKg wqDCoCBjbGVhcl90c2tfdGhyZWFkX2ZsYWcodHNrLCBUSUZfU1lTQ0FMTF9BVURJVCk7DQo+ PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCByZXR1cm4gMDsNCj4+ICvCoMKgwqDCoMKgwqDC oCB9DQo+PiDCoMKgwqDCoMKgIH0NCj4+IMKgIMKgwqDCoMKgwqAgaWYgKCEoY29udGV4dCA9 IGF1ZGl0X2FsbG9jX2NvbnRleHQoc3RhdGUpKSkgew0KPj4gQEAgLTE2MjMsNyArMTYyNyw3 IEBAIHZvaWQgX19hdWRpdF9zeXNjYWxsX2VudHJ5KGludCBtYWpvciwgdW5zaWduZWQgbG9u ZyBhMSwgdW5zaWduZWQgbG9uZyBhMiwNCj4+IMKgwqDCoMKgwqAgaWYgKHN0YXRlID09IEFV RElUX0RJU0FCTEVEKQ0KPj4gwqDCoMKgwqDCoMKgwqDCoMKgIHJldHVybjsNCj4+IMKgIC3C oMKgwqAgY29udGV4dC0+ZHVtbXkgPSAhYXVkaXRfbl9ydWxlczsNCj4+ICvCoMKgwqAgY29u dGV4dC0+ZHVtbXkgPSAhYXVkaXRfbl9ydWxlcyAmJiAhc2VjdXJpdHlfYXVkaXRfZW5hYmxl KGN1cnJlbnQpOw0KPj4gwqDCoMKgwqDCoCBpZiAoIWNvbnRleHQtPmR1bW15ICYmIHN0YXRl ID09IEFVRElUX0JVSUxEX0NPTlRFWFQpIHsNCj4+IMKgwqDCoMKgwqDCoMKgwqDCoCBjb250 ZXh0LT5wcmlvID0gMDsNCj4+IMKgwqDCoMKgwqDCoMKgwqDCoCBpZiAoYXVkaXRkX3Rlc3Rf dGFzayhjdXJyZW50KSkNCj4+IGRpZmYgLS1naXQgYS9zZWN1cml0eS9zZWN1cml0eS5jIGIv c2VjdXJpdHkvc2VjdXJpdHkuYw0KPj4gaW5kZXggMzA2ODdlMTM2NmI3Li4wNGUxNjBlNWQ0 YWIgMTAwNjQ0DQo+PiAtLS0gYS9zZWN1cml0eS9zZWN1cml0eS5jDQo+PiArKysgYi9zZWN1 cml0eS9zZWN1cml0eS5jDQo+PiBAQCAtMjMzMyw2ICsyMzMzLDExIEBAIGludCBzZWN1cml0 eV9hdWRpdF9ydWxlX21hdGNoKHUzMiBzZWNpZCwgdTMyIGZpZWxkLCB1MzIgb3AsIHZvaWQg KmxzbXJ1bGUpDQo+PiDCoCB7DQo+PiDCoMKgwqDCoMKgIHJldHVybiBjYWxsX2ludF9ob29r KGF1ZGl0X3J1bGVfbWF0Y2gsIDAsIHNlY2lkLCBmaWVsZCwgb3AsIGxzbXJ1bGUpOw0KPj4g wqAgfQ0KPj4gKw0KPj4gK2ludCBzZWN1cml0eV9hdWRpdF9lbmFibGUoc3RydWN0IHRhc2tf c3RydWN0ICp0c2spDQo+PiArew0KPj4gK8KgwqDCoCByZXR1cm4gY2FsbF9pbnRfaG9vayhh dWRpdF9lbmFibGUsIDAsIHRzayk7DQo+PiArfQ0KPj4gwqAgI2VuZGlmIC8qIENPTkZJR19B VURJVCAqLw0KPj4gwqAgwqAgI2lmZGVmIENPTkZJR19CUEZfU1lTQ0FMTA0KPj4gZGlmZiAt LWdpdCBhL3NlY3VyaXR5L3NlbGludXgvaG9va3MuYyBiL3NlY3VyaXR5L3NlbGludXgvaG9v a3MuYw0KPj4gaW5kZXggZDU1NTcxYzU4NWZmLi44ODc2NGFhMGFiNDMgMTAwNjQ0DQo+PiAt LS0gYS9zZWN1cml0eS9zZWxpbnV4L2hvb2tzLmMNCj4+ICsrKyBiL3NlY3VyaXR5L3NlbGlu dXgvaG9va3MuYw0KPj4gQEAgLTY2MjgsNiArNjYyOCwxNiBAQCBzdGF0aWMgdm9pZCBzZWxp bnV4X2liX2ZyZWVfc2VjdXJpdHkodm9pZCAqaWJfc2VjKQ0KPj4gwqAgfQ0KPj4gwqAgI2Vu ZGlmDQo+PiDCoCArI2lmZGVmIENPTkZJR19BVURJVA0KPj4gK3N0YXRpYyBpbnQgc2VsaW51 eF9hdWRpdF9lbmFibGUoc3RydWN0IHRhc2tfc3RydWN0ICp0c2spDQo+PiArew0KPj4gK8Kg wqDCoCB1MzIgc2lkID0gY3VycmVudF9zaWQoKTsNCj4+ICsNCj4+ICvCoMKgwqAgcmV0dXJu ICFhdmNfaGFzX3Blcm0oJnNlbGludXhfc3RhdGUsIHNpZCwgc2lkLCBTRUNDTEFTU19QUk9D RVNTMiwNCj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIFBST0NFU1MyX19BVURJVF9FTkFC TEUsIE5VTEwpOw0KPj4gK30NCj4+ICsjZW5kaWYNCj4+ICsNCj4+IMKgICNpZmRlZiBDT05G SUdfQlBGX1NZU0NBTEwNCj4+IMKgIHN0YXRpYyBpbnQgc2VsaW51eF9icGYoaW50IGNtZCwg dW5pb24gYnBmX2F0dHIgKmF0dHIsDQo+PiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoCB1bnNpZ25lZCBpbnQgc2l6ZSkNCj4+IEBAIC02OTk5LDYgKzcw MDksNyBAQCBzdGF0aWMgc3RydWN0IHNlY3VyaXR5X2hvb2tfbGlzdCBzZWxpbnV4X2hvb2tz W10gX19sc21fcm9fYWZ0ZXJfaW5pdCA9IHsNCj4+IMKgwqDCoMKgwqAgTFNNX0hPT0tfSU5J VChhdWRpdF9ydWxlX2tub3duLCBzZWxpbnV4X2F1ZGl0X3J1bGVfa25vd24pLA0KPj4gwqDC oMKgwqDCoCBMU01fSE9PS19JTklUKGF1ZGl0X3J1bGVfbWF0Y2gsIHNlbGludXhfYXVkaXRf cnVsZV9tYXRjaCksDQo+PiDCoMKgwqDCoMKgIExTTV9IT09LX0lOSVQoYXVkaXRfcnVsZV9m cmVlLCBzZWxpbnV4X2F1ZGl0X3J1bGVfZnJlZSksDQo+PiArwqDCoMKgIExTTV9IT09LX0lO SVQoYXVkaXRfZW5hYmxlLCBzZWxpbnV4X2F1ZGl0X2VuYWJsZSksDQo+PiDCoCAjZW5kaWYN Cj4+IMKgIMKgICNpZmRlZiBDT05GSUdfQlBGX1NZU0NBTEwNCj4+IGRpZmYgLS1naXQgYS9z ZWN1cml0eS9zZWxpbnV4L2luY2x1ZGUvY2xhc3NtYXAuaCBiL3NlY3VyaXR5L3NlbGludXgv aW5jbHVkZS9jbGFzc21hcC5oDQo+PiBpbmRleCAzMmU5YjAzYmUzZGQuLmQ3ZDg1NmNiZDQ4 NiAxMDA2NDQNCj4+IC0tLSBhL3NlY3VyaXR5L3NlbGludXgvaW5jbHVkZS9jbGFzc21hcC5o DQo+PiArKysgYi9zZWN1cml0eS9zZWxpbnV4L2luY2x1ZGUvY2xhc3NtYXAuaA0KPj4gQEAg LTUyLDcgKzUyLDcgQEAgc3RydWN0IHNlY3VyaXR5X2NsYXNzX21hcHBpbmcgc2VjY2xhc3Nf bWFwW10gPSB7DQo+PiDCoMKgwqDCoMKgwqDCoMKgwqAgImV4ZWNtZW0iLCAiZXhlY3N0YWNr IiwgImV4ZWNoZWFwIiwgInNldGtleWNyZWF0ZSIsDQo+PiDCoMKgwqDCoMKgwqDCoMKgwqAg InNldHNvY2tjcmVhdGUiLCAiZ2V0cmxpbWl0IiwgTlVMTCB9IH0sDQo+PiDCoMKgwqDCoMKg IHsgInByb2Nlc3MyIiwNCj4+IC3CoMKgwqDCoMKgIHsgIm5ucF90cmFuc2l0aW9uIiwgIm5v c3VpZF90cmFuc2l0aW9uIiwgTlVMTCB9IH0sDQo+PiArwqDCoMKgwqDCoCB7ICJubnBfdHJh bnNpdGlvbiIsICJub3N1aWRfdHJhbnNpdGlvbiIsICJhdWRpdF9lbmFibGUiLCBOVUxMIH0g fSwNCj4+IMKgwqDCoMKgwqAgeyAic3lzdGVtIiwNCj4+IMKgwqDCoMKgwqDCoMKgIHsgImlw Y19pbmZvIiwgInN5c2xvZ19yZWFkIiwgInN5c2xvZ19tb2QiLA0KPj4gwqDCoMKgwqDCoMKg wqDCoMKgICJzeXNsb2dfY29uc29sZSIsICJtb2R1bGVfcmVxdWVzdCIsICJtb2R1bGVfbG9h ZCIsIE5VTEwgfSB9LA0KPj4NCj4NCg==