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 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id F0456C433EF for ; Wed, 27 Oct 2021 09:35:10 +0000 (UTC) Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 7A5E061056 for ; Wed, 27 Oct 2021 09:35:10 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.4.1 mail.kernel.org 7A5E061056 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=huawei.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=redhat.com Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-474-IBLFGmswP6-0rEf4aWDZJg-1; Wed, 27 Oct 2021 05:35:07 -0400 X-MC-Unique: IBLFGmswP6-0rEf4aWDZJg-1 Received: from smtp.corp.redhat.com (int-mx08.intmail.prod.int.phx2.redhat.com [10.5.11.23]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 278F9804B96; Wed, 27 Oct 2021 09:35:03 +0000 (UTC) Received: from colo-mx.corp.redhat.com (colo-mx02.intmail.prod.int.phx2.redhat.com [10.5.11.21]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 9A42219D9D; Wed, 27 Oct 2021 09:35:02 +0000 (UTC) Received: from lists01.pubmisc.prod.ext.phx2.redhat.com (lists01.pubmisc.prod.ext.phx2.redhat.com [10.5.19.33]) by colo-mx.corp.redhat.com (Postfix) with ESMTP id 164964A704; Wed, 27 Oct 2021 09:35:01 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx03.intmail.prod.int.rdu2.redhat.com [10.11.54.3]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id 19R9YwpP028602 for ; Wed, 27 Oct 2021 05:34:58 -0400 Received: by smtp.corp.redhat.com (Postfix) id 30CE21121315; Wed, 27 Oct 2021 09:34:58 +0000 (UTC) Received: from mimecast-mx02.redhat.com (mimecast06.extmail.prod.ext.rdu2.redhat.com [10.11.55.22]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 2C8351121314 for ; Wed, 27 Oct 2021 09:34:55 +0000 (UTC) Received: from us-smtp-1.mimecast.com (us-smtp-delivery-1.mimecast.com [205.139.110.120]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 63112185A79C for ; Wed, 27 Oct 2021 09:34:55 +0000 (UTC) Received: from frasgout.his.huawei.com (frasgout.his.huawei.com [185.176.79.56]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-584-arjwOSeKNLqCzGHwoxOIPA-1; Wed, 27 Oct 2021 05:34:50 -0400 X-MC-Unique: arjwOSeKNLqCzGHwoxOIPA-1 Received: from fraeml713-chm.china.huawei.com (unknown [172.18.147.200]) by frasgout.his.huawei.com (SkyGuard) with ESMTP id 4HfNht67kzz6GD8D; Wed, 27 Oct 2021 17:30:38 +0800 (CST) Received: from fraeml714-chm.china.huawei.com (10.206.15.33) by fraeml713-chm.china.huawei.com (10.206.15.32) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.15; Wed, 27 Oct 2021 11:34:48 +0200 Received: from fraeml714-chm.china.huawei.com ([10.206.15.33]) by fraeml714-chm.china.huawei.com ([10.206.15.33]) with mapi id 15.01.2308.015; Wed, 27 Oct 2021 11:34:48 +0200 From: Roberto Sassu To: Deven Bowers , Eric Biggers Thread-Topic: [RFC PATCH v7 12/16] fsverity|security: add security hooks to fsverity digest and signature Thread-Index: AQHXwGWUN6BqcPCg3Uma5jdt5usPz6vRLYAAgAMlHYCAAAy0gIARNsyAgAESBxA= Date: Wed, 27 Oct 2021 09:34:48 +0000 Message-ID: <154208f2a248482e8664903f734cf0b4@huawei.com> References: <1634151995-16266-1-git-send-email-deven.desai@linux.microsoft.com> <1634151995-16266-13-git-send-email-deven.desai@linux.microsoft.com> <9089bdb0-b28a-9fa0-c510-00fa275af621@linux.microsoft.com> In-Reply-To: Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.221.98.153] MIME-Version: 1.0 X-CFilter-Loop: Reflected X-Mimecast-Impersonation-Protect: Policy=CLT - Impersonation Protection Definition; Similar Internal Domain=false; Similar Monitored External Domain=false; Custom External Domain=false; Mimecast External Domain=false; Newly Observed Domain=false; Internal User Name=false; Custom Display Name List=false; Reply-to Address Mismatch=false; Targeted Threat Dictionary=false; Mimecast Threat Dictionary=false; Custom Threat Dictionary=false X-Scanned-By: MIMEDefang 2.78 on 10.11.54.3 X-MIME-Autoconverted: from base64 to 8bit by lists01.pubmisc.prod.ext.phx2.redhat.com id 19R9YwpP028602 X-loop: dm-devel@redhat.com Cc: "axboe@kernel.dk" , "linux-security-module@vger.kernel.org" , "tytso@mit.edu" , "paul@paul-moore.com" , "snitzer@redhat.com" , "corbet@lwn.net" , "jannh@google.com" , "linux-doc@vger.kernel.org" , "jmorris@namei.org" , "eparis@redhat.com" , "linux-kernel@vger.kernel.org" , "linux-block@vger.kernel.org" , "dm-devel@redhat.com" , "linux-audit@redhat.com" , "linux-fscrypt@vger.kernel.org" , "agk@redhat.com" , "serge@hallyn.com" Subject: Re: [dm-devel] [RFC PATCH v7 12/16] fsverity|security: add security hooks to fsverity digest and signature X-BeenThere: dm-devel@redhat.com X-Mailman-Version: 2.1.12 Precedence: junk List-Id: device-mapper development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: dm-devel-bounces@redhat.com Errors-To: dm-devel-bounces@redhat.com X-Scanned-By: MIMEDefang 2.84 on 10.5.11.23 Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=dm-devel-bounces@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 PiBGcm9tOiBEZXZlbiBCb3dlcnMgW21haWx0bzpkZXZlbi5kZXNhaUBsaW51eC5taWNyb3NvZnQu Y29tXQo+IFNlbnQ6IFR1ZXNkYXksIE9jdG9iZXIgMjYsIDIwMjEgOTowNCBQTQo+IE9uIDEwLzE1 LzIwMjEgMToxMSBQTSwgRXJpYyBCaWdnZXJzIHdyb3RlOgo+IAo+ID4gT24gRnJpLCBPY3QgMTUs IDIwMjEgYXQgMTI6MjU6NTNQTSAtMDcwMCwgRGV2ZW4gQm93ZXJzIHdyb3RlOgo+ID4+IE9uIDEw LzEzLzIwMjEgMTI6MjQgUE0sIEVyaWMgQmlnZ2VycyB3cm90ZToKPiA+Pj4gT24gV2VkLCBPY3Qg MTMsIDIwMjEgYXQgMTI6MDY6MzFQTSAtCj4gMDcwMCxkZXZlbi5kZXNhaUBsaW51eC5taWNyb3Nv ZnQuY29tICB3cm90ZToKPiA+Pj4+IEZyb206IEZhbiBXdTx3dWZhbkBsaW51eC5taWNyb3NvZnQu Y29tPgo+ID4+Pj4KPiA+Pj4+IEFkZCBzZWN1cml0eV9pbm9kZV9zZXRzZWN1cml0eSB0byBmc3Zl cml0eSBzaWduYXR1cmUgdmVyaWZpY2F0aW9uLgo+ID4+Pj4gVGhpcyBjYW4gbGV0IExTTXMgc2F2 ZSB0aGUgc2lnbmF0dXJlIGRhdGEgYW5kIGRpZ2VzdCBoYXNoZXMgcHJvdmlkZWQKPiA+Pj4+IGJ5 IGZzdmVyaXR5Lgo+ID4+PiBDYW4geW91IGVsYWJvcmF0ZSBvbiB3aHkgTFNNcyBuZWVkIHRoaXMg aW5mb3JtYXRpb24/Cj4gPj4gVGhlIHByb3Bvc2VkIExTTSAoSVBFKSBvZiB0aGlzIHNlcmllcyB3 aWxsIGJlIHRoZSBvbmx5IG9uZSB0byBuZWVkCj4gPj4gdGhpcyBpbmZvcm1hdGlvbiBhdCB0aGXC oCBtb21lbnQuIElQReKAmXMgZ29hbCBpcyB0byBoYXZlIHByb3ZpZGUKPiA+PiB0cnVzdC1iYXNl ZCBhY2Nlc3MgY29udHJvbC4gVHJ1c3QgYW5kIEludGVncml0eSBhcmUgdGllZCB0b2dldGhlciwK PiA+PiBhcyB5b3UgY2Fubm90IHByb3ZlIHRydXN0IHdpdGhvdXQgcHJvdmluZyBpbnRlZ3JpdHku Cj4gPiBJIHRoaW5rIHlvdSBtZWFuIGF1dGhlbnRpY2l0eSwgbm90IGludGVncml0eT8KPiBJ4oCZ dmUgaGVhcmQgYSBsb3Qgb2YgcGVvcGxlIHVzZSB0aGVzZSB0ZXJtcyBpbiBvdmVybG9hZGVkIHdh eXMuCj4gCj4gSWYgd2XigJlyZSB3b3JraW5nIHdpdGggdGhlIGRlZmluaXRpb24gb2YgYXV0aGVu dGljaXR5IGJlaW5nCj4g4oCcdGhlIHByb3BlcnR5IHRoYXQgYSByZXNvdXJjZSB3YXMgX2FjdHVh bGx5XyBzZW50L2NyZWF0ZWQgYnkgYQo+IHBhcnR54oCdLCBhbmQgaW50ZWdyaXR5IGJlaW5nIOKA nHRoZSBwcm9wZXJ0eSB0aGF0IGEgcmVzb3VyY2Ugd2FzIG5vdAo+IG1vZGlmaWVkIGZyb20gYSBw b2ludCBvZiB0aW1l4oCdLCB0aGVuIHllcy4gVGhvdWdoIHRoZSBzdGF0ZW1lbnQgaXNu4oCZdAo+ IGZhbHNlLCB0aG91Z2gsIGJlY2F1c2UgeW914oCZZCBuZWVkIHRvIHByb3ZlIGludGVncml0eSBp biB0aGUgcHJvY2VzcyBvZgo+IHByb3ZpbmcgYXV0aGVudGljaXR5Lgo+IAo+IElmIG5vdCwgY291 bGQgeW91IGNsYXJpZnkgd2hhdCB5b3UgbWVhbiBieSBhdXRoZW50aWNpdHkgYW5kIGludGVncml0 eSwKPiBzbyB0aGF0IHdlIGNhbiB1c2UgY29uc2lzdGVudCBkZWZpbml0aW9ucz8KPiA+IEFsc28g aG93IGRvZXMgdGhpcyBkaWZmZXIgZnJvbSBJTUE/ICBJIGtub3cgdGhhdCBJTUEgZG9lc24ndCBz dXBwb3J0IGZzLXZlcml0eQo+ID4gZmlsZSBoYXNoZXMsIGJ1dCB0aGF0IGNvdWxkIGJlIGNoYW5n ZWQuICBXaHkgbm90IGV4dGVuZCBJTUEgdG8gY292ZXIgeW91ciB1c2UKPiA+IGNhc2Uocyk/Cj4g V2UgbG9va2VkIGF0IGV4dGVuZGluZyBJTUEgdG8gY292ZXIgb3VyIHJlcXVpcmVtZW50cyBleHRl bnNpdmVseSB0aGUKPiBwYXN0IHllYXIKPiBiYXNlZCBvbiBmZWVkYmFjayB0aGUgbGFzdCB0aW1l IEkgcG9zdGVkIHRoZXNlIHBhdGNoZXMuIFdlIGltcGxlbWVudGVkIGEKPiBwcm90b3R5cGUgdGhh dCBoYWQgaGFsZiBvZiBvdXIgcmVxdWlyZW1lbnRzLCBidXQgZm91bmQgaXQgcmVzdWx0ZWQgaW4g YQo+IGxhcmdlIGNoYW5nZSBsaXN0IHRoYXQgd291bGQgcmVzdWx0IGluIGEgbGFyZ2UgYW1vdW50 IG9mIHBhaW4gaW4gcmVzcGVjdAo+IHRvIG1haW50ZW5hbmNlLCBpbiBhZGRpdGlvbiB0byBvdGhl ciBtb3JlIGFyY2hpdGVjdHVyYWwgY29uY2VybnMgYWJvdXQgdGhlCj4gaW1wbGVtZW50YXRpb24u IFdlIHdlcmVu4oCZdCBjb252aW5jZWQgaXQgd2FzIHRoZSBjb3JyZWN0IGRpcmVjdGlvbiwgZm9y IG91cgo+IG5lZWRzLgo+IAo+IFRoZXJlIHdhcyBhIHByZXNlbnRhdGlvbiBkb25lIGF0IExTUyAy MDIxIGFyb3VuZCB0aGlzIHByb3RvdHlwZSBkb25lIGJ5IG15Cj4gY29sbGVhZ3VlLCBGYW4sIHdo byBhdXRob3JlZCB0aGlzIHBhdGNoIGFuZCBpbXBsZW1lbnRlZCB0aGUgYWZvcmVtZW50aW9uZWQK PiBwcm90b3R5cGUuCj4gCj4gSW4gZ2VuZXJhbCwgSU1BIHByb3ZpZGVzIGEgd2hvbGUgc3VpdGUg b2YgYW1hemluZyBmdW5jdGlvbmFsaXR5IHdoZW4gaXQKPiBjb21lcyB0byBldmVyeXRoaW5nIGlu dGVncml0eSwgYXMgdGhlIGZzLXZlcml0eSBkb2N1bWVudGF0aW9uIHN0YXRlcwo+IGl0c2VsZjoK PiAKPiAgICAgSU1BIHNwZWNpZmllcyBhIHN5c3RlbS13aWRlIHBvbGljeSB0aGF0IHNwZWNpZmll cyB3aGljaAo+ICAgICBmaWxlcyBhcmUgaGFzaGVkIGFuZCB3aGF0IHRvIGRvIHdpdGggdGhvc2Ug aGFzaGVzLCBzdWNoCj4gICAgIGFzIGxvZyB0aGVtLCBhdXRoZW50aWNhdGUgdGhlbSwgb3IgYWRk IHRoZW0gdG8gYQo+ICAgICBtZWFzdXJlbWVudCBsaXN0Lgo+IAo+IEluc3RlYWQsIElQRSBwcm92 aWRlcyBhIGZpbmUtdHVuZWQgd2F5IHRvIF9vbmx5XyBlbmZvcmNlIGFuIGFjY2VzcyBjb250cm9s Cj4gcG9saWN5IHRvIHRoZXNlIGZpbGVzIGJhc2VkIG9uIHRoZSBkZWZpbmVkIHRydXN0IHJlcXVp cmVtZW50cyBpbiB0aGUgcG9saWN5LAo+IHVuZGVyIHZhcmlvdXMgY29udGV4dHMsICh5b3UgbWln aHQgaGF2ZSBkaWZmZXJlbnQgcmVxdWlyZW1lbnRzIGZvciB3aGF0Cj4gZXhlY3V0ZXMgaW4gYSBn ZW5lcmFsIHB1cnBvc2UsIHZlcnN1cyBsb2FkYWJsZSBrZXJuZWwgbW9kdWxlcywgZm9yIGV4YW1w bGUpLgo+IEl0IHdpbGwgbmV2ZXIgcHJvdmlkZSBib3RoZXIgdG8gbG9nLCBtZWFzdXJlLCBvciBy ZXZhbGlkYXRlIHRoZXNlIGhhc2hlcwo+IGJlY2F1c2UKPiB0aGF04oCZcyBub3QgaXRzIHB1cnBv c2UuIFRoaXMgaXMgd2h5IGl0IGJlbG9uZ3MgYXQgdGhlIExTTSBsYXllciBpbnN0ZWFkCj4gb2Yg dGhlCj4gaW50ZWdyaXR5IHN1YnN5c3RlbSBsYXllciwgYXMgaXQgaXMgcHJvdmlkaW5nIGFjY2Vz cyBjb250cm9sIGJhc2VkIG9uIGEKPiBwb2xpY3ksCj4gdmVyc3VzIHByb3ZpZGluZyBkZWVwIGlu dGVncmF0aW9ucyB3aXRoIHRoZSBhY3R1YWwgaW50ZWdyaXR5IGNsYWltLgo+IAo+IElQRSBpcyB0 cnlpbmcgdG8gYmUgYWdub3N0aWMgdG8gaG93IHByZWNpc2VseSDigJx0cnVzdOKAnSBpcyBwcm92 aWRlZCwgYXMKPiBvcHBvc2VkIHRvIGJlIGRlZXBseSBpbnRlZ3JhdGVkIGludG8gdGhlIG1lY2hh bmlzbSB0aGF0IHByb3ZpZGVzCj4g4oCcdHJ1c3TigJ0uCj4gPj4gSVBFIG5lZWRzIHRoZSBkaWdl c3QgaW5mb3JtYXRpb24gdG8gYmUgYWJsZSB0byBjb21wYXJlIGEgZGlnZXN0Cj4gPj4gcHJvdmlk ZWQgYnkgdGhlIHBvbGljeSBhdXRob3IsIGFnYWluc3QgdGhlIGRpZ2VzdCBjYWxjdWxhdGVkIGJ5 Cj4gPj4gZnN2ZXJpdHkgdG8gbWFrZSBhIGRlY2lzaW9uIG9uIHdoZXRoZXIgdGhhdCBzcGVjaWZp YyBmaWxlLCByZXByZXNlbnRlZAo+ID4+IGJ5IHRoZSBkaWdlc3QgaXMgYXV0aG9yaXplZCBmb3Ig dGhlIGFjdGlvbnMgc3BlY2lmaWVkIGluIHRoZSBwb2xpY3kuCj4gPj4KPiA+PiBBIG1vcmUgY29u Y3JldGUgZXhhbXBsZSwgaWYgYW4gSVBFIHBvbGljeSBhdXRob3Igd3JpdGVzOgo+ID4+Cj4gPj4g IMKgwqDCoCBvcD1FWEVDVVRFIGZzdmVyaXR5X2RpZ2VzdD08SGV4RGlnZXN0ID4gYWN0aW9uPURF TlkKPiA+Pgo+ID4+IElQRSB0YWtlcyB0aGUgZGlnZXN0IHByb3ZpZGVkIGJ5IHRoaXMgc2VjdXJp dHkgaG9vaywgc3RvcmVzIGl0Cj4gPj4gaW4gSVBFJ3Mgc2VjdXJpdHkgYmxvYiBvbiB0aGUgaW5v ZGUuIElmIHRoaXMgZmlsZSBpcyBsYXRlcgo+ID4+IGV4ZWN1dGVkLCBJUEUgY29tcGFyZXMgdGhl IGRpZ2VzdCBzdG9yZWQgaW4gdGhlIExTTSBibG9iLAo+ID4+IHByb3ZpZGVkIGJ5IHRoaXMgaG9v aywgYWdhaW5zdCA8SGV4RGlnZXN0PiBpbiB0aGUgcG9saWN5LCBpZgo+ID4+IGl0IG1hdGNoZXMs IGl0IGRlbmllcyB0aGUgYWNjZXNzLCBwZXJmb3JtaW5nIGEgcmV2b2NhdGlvbgo+ID4+IG9mIHRo YXQgZmlsZS4KPiA+IERvIHlvdSBoYXZlIGEgYmV0dGVyIGV4YW1wbGU/ICBUaGlzIG9uZSBpcyBw cmV0dHkgdXNlbGVzcyBzaW5jZSBvbmUgY2FuIGdldAo+ID4gYXJvdW5kIGl0IGp1c3QgYnkgZXhl Y3V0aW5nIGEgZmlsZSB0aGF0IGRvZXNuJ3QgaGF2ZSBmcy12ZXJpdHkgZW5hYmxlZC4KPiBIZXJl 4oCZcyBhIG1vcmUgY29tcGxldGUgZXhhbXBsZToKPiAKPiAgICAgcG9saWN5X25hbWU94oCdZnMt ZXhlYy1vbmx54oCdIHBvbGljeV92ZXJzaW9uPTAuMC4xCj4gICAgIERFRkFVTFQgYWN0aW9uPUFM TE9XCj4gCj4gICAgIERFRkFVTFQgb3A9RVhFQ1VURSBhY3Rpb249REVOWQo+ICAgICBvcD1FWEVD VVRFIGZzdmVyaXR5X2RpZ2VzdD08RGlnZXN0PiBhY3Rpb249REVOWQo+ICAgICBvcD1FWEVDVVRF IGZzdmVyaXR5X3NpZ25hdHVyZT1UUlVFIGFjdGlvbj1BTExPVwo+IAo+IEV4ZWN1dGlvbiBpcyBw cm9oaWJpdGVkIHVubGVzcyBpdCBpcyBhIHNpZ25lZCBmcy12ZXJpdHkgZmlsZTsKPiBIb3dldmVy LCBhZnRlciBvbmUgb2YgdGhvc2UgZXhlY3V0YWJsZXMgd2FzIHNpZ25lZCBhbmQgcHVibGlzaGVk LAo+IGFuIGV4cGxvaXRhYmxlIHZ1bG5lcmFiaWxpdHkgaW4gc2FpZCBleGVjdXRhYmxlIHdhcyBm b3VuZCwgYSBuZXcKPiB2ZXJzaW9uIHdhcyBwdWJsaXNoZWQgd2l0aG91dCB0aGF0IHZ1bG5lcmFi aWxpdHkuIFdlIG5lZWQgdG8KPiByZXZva2UgdHJ1c3QgZm9yIHRoYXQgZXhlY3V0YWJsZSBzaW5j ZSBpdCBjb3VsZCBiZSB1c2VkIHRvIGV4cGxvaXQKPiB0aGUgc3lzdGVtLCBzbyB0aGUgZmlyc3Qg cnVsZSBwcmV2ZW50cyBpdCBmcm9tIG1hdGNoaW5nIHRoZSBzZWNvbmQuCgpXaXRoIERJR0xJTSwg cmV2b2NhdGlvbiB3aWxsIGJlIGNvbXBsZXRlbHkgdHJhbnNwYXJlbnQgc2luY2UKZGlnZXN0cyBv ZiBmaWxlcyBpbiB0aGUgcGFja2FnZXMgYmVpbmcgcmVtb3ZlZCB3aWxsIGJlIGFsc28gcmVtb3Zl ZApmcm9tIHRoZSBrZXJuZWwuIFRoZSBuZXh0IHRpbWUgSVBFIHdpbGwgZXZhbHVhdGUgYW4gb2xk IHZlcnNpb24gb2YgdGhlCmZpbGUgKGFzc3VtaW5nIHRoYXQgdGhlcmUgd2FzIGEgY29weSBzb21l d2hlcmUpIGl0IHdpbGwgcmVhbGl6ZSB0aGF0CnRoZSBkaWdlc3QgaXMgbm90IGtub3duIGFueW1v cmUgYW5kIHdpbGwgZGVueSBhY2Nlc3MuCgpSb2JlcnRvCgpIVUFXRUkgVEVDSE5PTE9HSUVTIER1 ZXNzZWxkb3JmIEdtYkgsIEhSQiA1NjA2MwpNYW5hZ2luZyBEaXJlY3RvcjogTGkgUGVuZywgWmhv bmcgUm9uZ2h1YQoKPiA+PiBUaGlzIGJyaW5ncyBtZSB0byB5b3VyIG5leHQgY29tbWVudDoKPiA+ Pgo+ID4+PiBUaGUgZGlnZXN0IGlzbid0IG1lYW5pbmdmdWwgd2l0aG91dCBrbm93aW5nIHRoZSBo YXNoIGFsZ29yaXRobSBpdCB1c2VzLgo+ID4+IEl0J3MgYXZhaWxhYmxlIGhlcmUsIGJ1dCB5b3Ug YXJlbid0IHBhc3NpbmcgaXQgdG8gdGhpcyBmdW5jdGlvbi4KPiA+Pgo+ID4+IFRoZSBkaWdlc3Qg aXMgbWVhbmluZ2Z1bCB3aXRob3V0IHRoZSBhbGdvcml0aG0gaW4gdGhpcyBjYXNlLgo+ID4gTm8s IGl0J3Mgbm90Lgo+ID4KPiA+IERpZ2VzdHMgYXJlIG1lYW5pbmdsZXNzIHdpdGhvdXQga25vd2lu ZyB3aGF0IGFsZ29yaXRobSB0aGV5IHdlcmUgY3JlYXRlZAo+IHdpdGguCj4gPgo+ID4gSWYgeW91 ciBzZWN1cml0eSBwb2xpY3kgaXMgc29tZXRoaW5nIGxpa2UgIlRydXN0IHRoZSBmaWxlIHdpdGgg ZGlnZXN0ICRmb28iIGFuZAo+ID4gbXVsdGlwbGUgaGFzaCBhbGdvcml0aG1zIGFyZSBwb3NzaWJs ZSwgdGhlbiB0aGUgYWxvcml0aG0gaW50ZW5kZWQgdG8gYmUgdXNlZAo+ID4gbmVlZHMgdG8gYmUg ZXhwbGljaXRseSBzcGVjaWZpZWQuICBPdGhlcndpc2UgYW55IGFsZ29yaXRobSB3aXRoIHRoZSBz YW1lIGxlbmd0aAo+ID4gZGlnZXN0IHdpbGwgYmUgYWNjZXB0ZWQuICBUaGF0J3MgYSBmYXRhbCBm bGF3IGlmIGFueSBvZiB0aGVzZSBhbGdvcml0aG1zIGlzCj4gPiBjcnlwdG9ncmFwaGljYWxseSBi cm9rZW4gb3Igd2FzIG5ldmVyIGludGVuZGVkIHRvIGJlIGEgY3J5cHRvZ3JhcGhpYwo+IGFsZ29y aXRobQo+ID4gaW4gdGhlIGZpcnN0IHBsYWNlIChlLmcuLCBhIG5vbi1jcnlwdG9ncmFwaGljIGNo ZWNrc3VtKS4KPiA+Cj4gPiBDcnlwdG9zeXN0ZW1zIGFsd2F5cyBuZWVkIHRvIHNwZWNpZnkgdGhl IGNyeXB0byBhbGdvcml0aG0ocykgdXNlZDsgdGhlCj4gYWR2ZXJzYXJ5Cj4gPiBtdXN0IG5vdCBi ZSBhbGxvd2VkIHRvIGNob29zZSB0aGUgYWxnb3JpdGhtcy4KPiBPb2YuIFlvdeKAmXJlIGNvbXBs ZXRlbHkgcmlnaHQuIFRoZSBwYXJ0IEkgd2FzIG1pc3NpbmcgaXMgdGhhdCBhcyB0aW1lCj4gZ29l cyBvbiwKPiB0aGUgc2VjdXJlIHN0YXR1cyBvZiB0aGVzZSBjcnlwdG9ncmFwaGljIGFsZ29yaXRo bXMgd2lsbCBjaGFuZ2UsIGFuZAo+IHRoZW4gd2XigJlsbAo+IG5lZWQgYSB3YXkgdG8gbWlncmF0 ZSBiZXR3ZWVuIGFsZ29yaXRobXMuIEFkZGl0aW9uYWxseSwgdG9vbGluZyBhbmQgdGhlCj4gbGlr ZSB3aWxsCj4gbGlrZWx5IG5lZWQgYSB3YXkgdG8gaWRlbnRpZnkgdGhpcyBmcm9tIHRoZSBwb2xp Y3kgdGV4dCB3aXRob3V0Cj4gY29uc3VsdGluZyBhbnl0aGluZwo+IGVsc2UuIFRoaXMgaXMgYSBt YWpvciBvdmVyc2lnaHQgZm9yIGdlbmVyYWwgdXNlLCB0aGUgc3lzdGVtIHRoYXQgdGhpcwo+IHdh cyBvcmlnaW5hbGx5Cj4gZGVzaWduZWQgZm9yIG9ubHkgaGFkIHN1cHBvcnQgZm9yIGEgc3Vic2V0 IG9mIHRoZSBzaGEyLWZhbWlseSAoYWxsCj4gc2VwYXJhdGUgbGVuZ3RocykKPiBzbyBJIGhhZG7i gJl0IGV2ZW4gY29uc2lkZXJlZCBpdC4KPiAKPiBJdCdzIHRyaXZpYWwgdG8gY29ycmVjdCBpbiBh IG1pbmltYWwgYW1vdW50IG9mIGNvZGUsIG1ha2luZyB0aGUgcG9saWN5Cj4gZXhwcmVzcyB0aGUK PiBkaWdlc3QgbGlrZSBzbzoKPiAKPiAgICAgZnN2ZXJpdHlfZGlnZXN0PTxhbGdvPjo8ZGlnZXN0 Pgo+IAo+IGFuZCBjaGFuZ2UgdGhlIGFyZ3VtZW50IHBhc3NlZCB0byB0aGUgTFNNIGhvb2sgdG8g YWNjZXB0IGEgc3RydWN0dXJlCj4gY29udGFpbmluZyB0aGVzZQo+IHR3byBmaWVsZHMuCj4gCj4g PiBJJ20gbm90IHN1cmUgaG93IHRoZXNlIHBhdGNoZXMgY2FuIGJlIHRha2VuIHNlcmlvdXNseSB3 aGVuIHRoZXkncmUgZ2V0dGluZwo+IHRoaXMKPiA+IHNvcnQgb2YgdGhpbmcgd3JvbmcuCj4gVGhh dCBzYWlkLCBJLCBwZXJzb25hbGx5LCBob3BlIHRoYXQgYW4gaG9uZXN0IG1pc3Rha2UsIGluIGEg c2VyaWVzCj4gc3VibWl0dGVkIGFzCj4gYW4gUkZDIHN1Ym1pdHRlZCBpbiBnb29kIGZhaXRoLCBp cyBub3QgYSByZWFzb24gdG8gZGlzY291bnQgYW4gZW50aXJlIHBhdGNoCj4gc2VyaWVzLgo+IAo+ IEkgaG9wZSB5b3UgY29udGludWUgdG8gcHJvdmlkZSBmZWVkYmFjaywgYXMgaXQgaXMgaW52YWx1 YWJsZSB0byBtYWtpbmcgdGhpcwo+IHN5c3RlbSBiZXR0ZXIsIGFuZCBtYWtpbmcgbWUsIHBlcnNv bmFsbHksIGEgYmV0dGVyIGRldmVsb3Blci4KPiA+Pj4+ICsJCQkJCUZTX1ZFUklUWV9TSUdOQVRV UkVfU0VDX05BTUUsCj4gPj4+PiArCQkJCQlzaWduYXR1cmUsIHNpZ19zaXplLCAwKTsKPiA+Pj4g VGhpcyBpcyBvbmx5IGZvciBmcy12ZXJpdHkgYnVpbHQtaW4gc2lnbmF0dXJlcyB3aGljaCBhcmVu J3QgdGhlIG9ubHkgd2F5IHRvIGRvCj4gPj4+IHNpZ25hdHVyZXMgd2l0aCBmcy12ZXJpdHkuICBB cmUgeW91IHN1cmUgdGhpcyBpcyB3aGF0IHlvdSdyZSBsb29raW5nIGZvcj8KPiA+PiBDb3VsZCB5 b3UgZWxhYm9yYXRlIG9uIHRoZSBvdGhlciBzaWduYXR1cmUgdHlwZXMgdGhhdCBjYW4gYmUgdXNl ZAo+ID4+IHdpdGggZnMtdmVyaXR5PyBJ4oCZbSA5OSUgc3VyZSB0aGlzIGlzIHdoYXQgSeKAmW0g bG9va2luZyBmb3IgYXMgdGhpcwo+ID4+IGlzIGEgc2lnbmF0dXJlIHZhbGlkYXRlZCBpbiB0aGUg a2VybmVsIGFnYWluc3QgdGhlIGZzLXZlcml0eSBrZXlyaW5nCj4gPj4gYXMgcGFydCBvZiB0aGUg 4oCcZnN2ZXJpdHkgZW5hYmxl4oCdIHV0aWxpdHkuCj4gPj4KPiA+PiBJdCdzIGltcG9ydGFudCB0 aGF0IHRoZSBzaWduYXR1cmUgaXMgdmFsaWRhdGVkIGluIHRoZSBrZXJuZWwsIGFzCj4gPj4gdXNl cnNwYWNlIGlzIGNvbnNpZGVyZWQgdW50cnVzdGVkIHVudGlsIHRoZSBzaWduYXR1cmUgaXMgdmFs aWRhdGVkCj4gPj4gZm9yIHRoaXMgY2FzZS4KPiA+Pgo+ID4+PiBDYW4geW91IGVsYWJvcmF0ZSBv biB5b3VyIHVzZSBjYXNlIGZvciBmcy12ZXJpdHkgYnVpbHQtaW4gc2lnbmF0dXJlcywKPiA+PiBT dXJlLCBzaWduYXR1cmVzLCBsaWtlIGRpZ2VzdHMsIGFsc28gcHJvdmlkZSBhIHdheSB0byBwcm92 ZSBpbnRlZ3JpdHksCj4gPj4gYW5kIHRoZSB0cnVzdCBjb21wb25lbnQgY29tZXMgZnJvbSB0aGUg dmFsaWRhdGlvbiBhZ2FpbnN0IHRoZSBrZXlyaW5nLAo+ID4+IGFzIG9wcG9zZWQgdG8gYSBmaXhl ZCB2YWx1ZSBpbiBJUEXigJlzIHBvbGljeS4gVGhlIHVzZSBjYXNlIGZvciBmcy12ZXJpdHkKPiA+ PiBidWlsdC1pbiBzaWduYXR1cmVzIGlzIHRoYXQgd2UgaGF2ZSBhIHJ3IGV4dDQgZmlsZXN5c3Rl bSB0aGF0IGhhcyBzb21lCj4gPj4gZXhlY3V0YWJsZSBmaWxlcywgYW5kIHdlIHdhbnQgdG8gaGF2 ZSBhIGV4ZWN1dGlvbiBwb2xpY3kgKHRocm91Z2ggSVBFKQo+ID4+IHRoYXQgb25seSBfdHJ1c3Rl ZF8gZXhlY3V0YWJsZXMgY2FuIHJ1bi4gUGVyZiBpcyBpbXBvcnRhbnQgaGVyZSwgaGVuY2UKPiA+ PiBmcy12ZXJpdHkuCj4gPiBNb3N0IHVzZXJzIG9mIGZzLXZlcml0eSBidWlsdC1pbiBzaWduYXR1 cmVzIGhhdmUgYWN0dWFsbHkgYmVlbiBlbmZvcmNpbmcgdGhlaXIKPiA+IHNlY3VyaXR5IHBvbGlj eSBpbiB1c2Vyc3BhY2UsIGJ5IGNoZWNraW5nIHdoZXRoZXIgc3BlY2lmaWMgZmlsZXMgaGF2ZSB0 aGUKPiA+IGZzLXZlcml0eSBiaXQgc2V0IG9yIG5vdC4gIFN1Y2ggdXNlcnMgY291bGQganVzdCBz dG9yZSBhbmQgdmVyaWZ5IHNpZ25hdHVyZXMgaW4KPiA+IHVzZXJzcGFjZSBpbnN0ZWFkLCB3aXRo b3V0IGFueSBrZXJuZWwgaW52b2x2ZW1lbnQuICBTbyB0aGF0J3Mgd2hhdCBJJ3ZlIGJlZW4KPiA+ IHJlY29tbWVuZGluZyAod2l0aCBsaW1pdGVkIHN1Y2Nlc3MsIHVuZm9ydHVuYXRlbHkpLgo+IEkg YmVsaWV2ZSB0aGUgZGlmZmVyZW5jZSBpbiBzZWN1cml0eSBtb2RlbHMgY29tZXMgZnJvbSB0aGlz IGxpbmUKPiAoZW1waGFzaXMsIG1pbmUpOgo+IAo+ICA+IGJ5IGNoZWNraW5nIHdoZXRoZXIgX3Nw ZWNpZmljIGZpbGVzXyBoYXZlIHRoZSBmcy12ZXJpdHkgYml0IHNldCBvciBub3QuCj4gCj4gSVBF IHBvbGljeSBpcyB3cml0dGVuIGJ5IGEgc3lzdGVtIGF1dGhvciB3aG8gb3ducyB0aGUgc3lzdGVt LCBidXQgbWF5Cj4gbm90IGhhdmUgMTAwJSBjb250cm9sIG92ZXIgYWxsIG9mIHRoZSBhcHBsaWNh dGlvbiBjb2RlIHJ1bm5pbmcgb24gdGhlCj4gc3lzdGVtLsKgIEluIHRoZSBjYXNlIG9mIGFwcGxp Y2F0aW9ucyB3aGljaCBhcmUgbm90IGF3YXJlIG9mIElQRSwgdGhlIHBvbGljeQo+IGNhbiBzdGls bCBlbmZvcmNlIHRoYXQgYWxsIG9mIHRoZSBjb2RlIHJ1bm5pbmcgb24gdGhlIHN5c3RlbSBpcyB0 cnVzdGVkLgo+IAo+IEFuIGV4YW1wbGUgYXR0YWNrIG9mIHdoYXQgd2UncmUgdHJ5aW5nIHRvIG1p dGlnYXRlOsKgIEEgaG9zdGlsZSBhY3Rvcgo+IGNvdWxkIGRvd25sb2FkcyBhIGJpbmFyeSBvZmYg dGhlIGludGVybmV0IHdpdGggYWxsIHJlcXVpcmVkCj4gZGVwZW5kZW5jaWVzIGludG8gdG1wZnMg YW5kIHJ1bnMgdGhlaXIgbWFsaWNpb3VzIGV4ZWN1dGFibGUuCj4gCj4gV2l0aCB1cyB2YWxpZGF0 aW5nIHRoaXMgaW5mb3JtYXRpb24gaW4gdGhlIGtlcm5lbCwgZXZlbiBpZiB0aGUgYXR0YWNrZXIK PiBkb3dubG9hZGVkIHRoZWlyIG1hbGljaW91cyBleGVjdXRhYmxlIHRvIC90bXAgYW5kIGV4ZWN1 dGVkIGl0LCBpdCB3b3VsZAo+IHN0aWxsIGZhaWwgdG8gcGFzcyBwb2xpY3kgYW5kIGJlIGRlbmll ZCwgYXMgdGhlIGtlcm5lbCBpcyB0aGUgY29tbW9uCj4gZW50cnlwb2ludCBhY3Jvc3MgYWxsIGV4 ZWN1dGFibGVzLgo+IAo+IE9wZXJhdGlvbmFsbHksIHRoaXMgX2NvdWxkXyBiZSBkb25lIGJ5IGRp Z2VzdCwgYnV0IHRoZSBwb2xpY2llcyB3b3VsZAo+IHF1aWNrbHkgYmVjb21lIGdpZ2FudGljIG9u IGEgY2FydG9vbmlzaCBwcm9wb3J0aW9uLCBhcyB5b3UnbGwgaGF2ZSB0bwo+IGF1dGhvcml6ZSBl dmVyeSBzaW5nbGUgZXhlY3V0YWJsZSBhbmQgZGVwZW5kZW5jeSBieSBkaWdlc3QgLSBhbmQKPiB0 aGVyZSB3b3VsZCBiZSBhIGNvbXBsaWNhdGVkIHVwZGF0ZSBzdG9yeSBhcyB0aGUgcG9saWN5IHdv dWxkIGhhdmUgdG8KPiBiZSB1cGRhdGVkIHRvIG9uYm9hcmQgbmV3IGRpZ2VzdHMuCj4gCj4gQnkg dXNpbmcgc2lnbmF0dXJlcywgd2UgY2FuIHByZXZlbnQgdGhlIHBvbGljeSB1cGRhdGUsIGFuZCBr ZWVwIHRoZQo+IHBvbGljeSBzaXplIHNtYWxsLgo+IAo+ID4gSWYgeW91IHJlYWxseSBkbyBuZWVk IGluLWtlcm5lbCBzaWduYXR1cmUgdmVyaWZpY2F0aW9uLCB0aGVuIHRoYXQgbWF5IGJlIGEKPiA+ IGxlZ2l0aW1hdGUgdXNlIGNhc2UgZm9yIHRoZSBmcy12ZXJpdHkgYnVpbHQtaW4gc2lnbmF0dXJl cywgYWx0aG91Z2ggSSBkbyB3b25kZXIKPiA+IHdoeSB5b3UgYXJlbid0IHVzaW5nIElNQSBhbmQg aXRzIHNpZ25hdHVyZSBtZWNoYW5pc20gaW5zdGVhZC4KPiA+Cj4gPiAtIEVyaWMKCi0tCmRtLWRl dmVsIG1haWxpbmcgbGlzdApkbS1kZXZlbEByZWRoYXQuY29tCmh0dHBzOi8vbGlzdG1hbi5yZWRo YXQuY29tL21haWxtYW4vbGlzdGluZm8vZG0tZGV2ZWw= 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 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 69B56C433F5 for ; Wed, 27 Oct 2021 12:46:56 +0000 (UTC) Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id D0B6160FC0 for ; Wed, 27 Oct 2021 12:46:55 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.4.1 mail.kernel.org D0B6160FC0 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=huawei.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=redhat.com Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-586-drlDtsESOcu6A4y_TuwdGg-1; Wed, 27 Oct 2021 08:46:51 -0400 X-MC-Unique: drlDtsESOcu6A4y_TuwdGg-1 Received: from smtp.corp.redhat.com (int-mx02.intmail.prod.int.phx2.redhat.com [10.5.11.12]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id E04CC8042EB; Wed, 27 Oct 2021 12:46:47 +0000 (UTC) Received: from colo-mx.corp.redhat.com (colo-mx01.intmail.prod.int.phx2.redhat.com [10.5.11.20]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 6E16C18950; Wed, 27 Oct 2021 12:46:46 +0000 (UTC) Received: from lists01.pubmisc.prod.ext.phx2.redhat.com (lists01.pubmisc.prod.ext.phx2.redhat.com [10.5.19.33]) by colo-mx.corp.redhat.com (Postfix) with ESMTP id A719F1832DDA; Wed, 27 Oct 2021 12:46:44 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx05.intmail.prod.int.rdu2.redhat.com [10.11.54.5]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id 19R9Yu0U028597 for ; Wed, 27 Oct 2021 05:34:57 -0400 Received: by smtp.corp.redhat.com (Postfix) id 9F6D551DD; Wed, 27 Oct 2021 09:34:56 +0000 (UTC) Received: from mimecast-mx02.redhat.com (mimecast02.extmail.prod.ext.rdu2.redhat.com [10.11.55.18]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 9828751DC for ; Wed, 27 Oct 2021 09:34:53 +0000 (UTC) Received: from us-smtp-1.mimecast.com (us-smtp-1.mimecast.com [205.139.110.61]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id AABE2800883 for ; Wed, 27 Oct 2021 09:34:53 +0000 (UTC) Received: from frasgout.his.huawei.com (frasgout.his.huawei.com [185.176.79.56]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-584-arjwOSeKNLqCzGHwoxOIPA-1; Wed, 27 Oct 2021 05:34:50 -0400 X-MC-Unique: arjwOSeKNLqCzGHwoxOIPA-1 Received: from fraeml713-chm.china.huawei.com (unknown [172.18.147.200]) by frasgout.his.huawei.com (SkyGuard) with ESMTP id 4HfNht67kzz6GD8D; Wed, 27 Oct 2021 17:30:38 +0800 (CST) Received: from fraeml714-chm.china.huawei.com (10.206.15.33) by fraeml713-chm.china.huawei.com (10.206.15.32) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.15; Wed, 27 Oct 2021 11:34:48 +0200 Received: from fraeml714-chm.china.huawei.com ([10.206.15.33]) by fraeml714-chm.china.huawei.com ([10.206.15.33]) with mapi id 15.01.2308.015; Wed, 27 Oct 2021 11:34:48 +0200 From: Roberto Sassu To: Deven Bowers , Eric Biggers Subject: RE: [RFC PATCH v7 12/16] fsverity|security: add security hooks to fsverity digest and signature Thread-Topic: [RFC PATCH v7 12/16] fsverity|security: add security hooks to fsverity digest and signature Thread-Index: AQHXwGWUN6BqcPCg3Uma5jdt5usPz6vRLYAAgAMlHYCAAAy0gIARNsyAgAESBxA= Date: Wed, 27 Oct 2021 09:34:48 +0000 Message-ID: <154208f2a248482e8664903f734cf0b4@huawei.com> References: <1634151995-16266-1-git-send-email-deven.desai@linux.microsoft.com> <1634151995-16266-13-git-send-email-deven.desai@linux.microsoft.com> <9089bdb0-b28a-9fa0-c510-00fa275af621@linux.microsoft.com> In-Reply-To: Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.221.98.153] MIME-Version: 1.0 X-CFilter-Loop: Reflected X-Mimecast-Impersonation-Protect: Policy=CLT - Impersonation Protection Definition; Similar Internal Domain=false; Similar Monitored External Domain=false; Custom External Domain=false; Mimecast External Domain=false; Newly Observed Domain=false; Internal User Name=false; Custom Display Name List=false; Reply-to Address Mismatch=false; Targeted Threat Dictionary=false; Mimecast Threat Dictionary=false; Custom Threat Dictionary=false X-Scanned-By: MIMEDefang 2.79 on 10.11.54.5 X-MIME-Autoconverted: from base64 to 8bit by lists01.pubmisc.prod.ext.phx2.redhat.com id 19R9Yu0U028597 X-loop: linux-audit@redhat.com X-Mailman-Approved-At: Wed, 27 Oct 2021 08:44:10 -0400 Cc: "axboe@kernel.dk" , "linux-security-module@vger.kernel.org" , "tytso@mit.edu" , "snitzer@redhat.com" , "corbet@lwn.net" , "jannh@google.com" , "linux-doc@vger.kernel.org" , "jmorris@namei.org" , "eparis@redhat.com" , "linux-kernel@vger.kernel.org" , "linux-block@vger.kernel.org" , "dm-devel@redhat.com" , "linux-audit@redhat.com" , "linux-fscrypt@vger.kernel.org" , "agk@redhat.com" , "serge@hallyn.com" X-BeenThere: linux-audit@redhat.com X-Mailman-Version: 2.1.12 Precedence: junk List-Id: Linux Audit Discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: linux-audit-bounces@redhat.com Errors-To: linux-audit-bounces@redhat.com X-Scanned-By: MIMEDefang 2.79 on 10.5.11.12 Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=linux-audit-bounces@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 PiBGcm9tOiBEZXZlbiBCb3dlcnMgW21haWx0bzpkZXZlbi5kZXNhaUBsaW51eC5taWNyb3NvZnQu Y29tXQo+IFNlbnQ6IFR1ZXNkYXksIE9jdG9iZXIgMjYsIDIwMjEgOTowNCBQTQo+IE9uIDEwLzE1 LzIwMjEgMToxMSBQTSwgRXJpYyBCaWdnZXJzIHdyb3RlOgo+IAo+ID4gT24gRnJpLCBPY3QgMTUs IDIwMjEgYXQgMTI6MjU6NTNQTSAtMDcwMCwgRGV2ZW4gQm93ZXJzIHdyb3RlOgo+ID4+IE9uIDEw LzEzLzIwMjEgMTI6MjQgUE0sIEVyaWMgQmlnZ2VycyB3cm90ZToKPiA+Pj4gT24gV2VkLCBPY3Qg MTMsIDIwMjEgYXQgMTI6MDY6MzFQTSAtCj4gMDcwMCxkZXZlbi5kZXNhaUBsaW51eC5taWNyb3Nv ZnQuY29tICB3cm90ZToKPiA+Pj4+IEZyb206IEZhbiBXdTx3dWZhbkBsaW51eC5taWNyb3NvZnQu Y29tPgo+ID4+Pj4KPiA+Pj4+IEFkZCBzZWN1cml0eV9pbm9kZV9zZXRzZWN1cml0eSB0byBmc3Zl cml0eSBzaWduYXR1cmUgdmVyaWZpY2F0aW9uLgo+ID4+Pj4gVGhpcyBjYW4gbGV0IExTTXMgc2F2 ZSB0aGUgc2lnbmF0dXJlIGRhdGEgYW5kIGRpZ2VzdCBoYXNoZXMgcHJvdmlkZWQKPiA+Pj4+IGJ5 IGZzdmVyaXR5Lgo+ID4+PiBDYW4geW91IGVsYWJvcmF0ZSBvbiB3aHkgTFNNcyBuZWVkIHRoaXMg aW5mb3JtYXRpb24/Cj4gPj4gVGhlIHByb3Bvc2VkIExTTSAoSVBFKSBvZiB0aGlzIHNlcmllcyB3 aWxsIGJlIHRoZSBvbmx5IG9uZSB0byBuZWVkCj4gPj4gdGhpcyBpbmZvcm1hdGlvbiBhdCB0aGXC oCBtb21lbnQuIElQReKAmXMgZ29hbCBpcyB0byBoYXZlIHByb3ZpZGUKPiA+PiB0cnVzdC1iYXNl ZCBhY2Nlc3MgY29udHJvbC4gVHJ1c3QgYW5kIEludGVncml0eSBhcmUgdGllZCB0b2dldGhlciwK PiA+PiBhcyB5b3UgY2Fubm90IHByb3ZlIHRydXN0IHdpdGhvdXQgcHJvdmluZyBpbnRlZ3JpdHku Cj4gPiBJIHRoaW5rIHlvdSBtZWFuIGF1dGhlbnRpY2l0eSwgbm90IGludGVncml0eT8KPiBJ4oCZ dmUgaGVhcmQgYSBsb3Qgb2YgcGVvcGxlIHVzZSB0aGVzZSB0ZXJtcyBpbiBvdmVybG9hZGVkIHdh eXMuCj4gCj4gSWYgd2XigJlyZSB3b3JraW5nIHdpdGggdGhlIGRlZmluaXRpb24gb2YgYXV0aGVu dGljaXR5IGJlaW5nCj4g4oCcdGhlIHByb3BlcnR5IHRoYXQgYSByZXNvdXJjZSB3YXMgX2FjdHVh bGx5XyBzZW50L2NyZWF0ZWQgYnkgYQo+IHBhcnR54oCdLCBhbmQgaW50ZWdyaXR5IGJlaW5nIOKA nHRoZSBwcm9wZXJ0eSB0aGF0IGEgcmVzb3VyY2Ugd2FzIG5vdAo+IG1vZGlmaWVkIGZyb20gYSBw b2ludCBvZiB0aW1l4oCdLCB0aGVuIHllcy4gVGhvdWdoIHRoZSBzdGF0ZW1lbnQgaXNu4oCZdAo+ IGZhbHNlLCB0aG91Z2gsIGJlY2F1c2UgeW914oCZZCBuZWVkIHRvIHByb3ZlIGludGVncml0eSBp biB0aGUgcHJvY2VzcyBvZgo+IHByb3ZpbmcgYXV0aGVudGljaXR5Lgo+IAo+IElmIG5vdCwgY291 bGQgeW91IGNsYXJpZnkgd2hhdCB5b3UgbWVhbiBieSBhdXRoZW50aWNpdHkgYW5kIGludGVncml0 eSwKPiBzbyB0aGF0IHdlIGNhbiB1c2UgY29uc2lzdGVudCBkZWZpbml0aW9ucz8KPiA+IEFsc28g aG93IGRvZXMgdGhpcyBkaWZmZXIgZnJvbSBJTUE/ICBJIGtub3cgdGhhdCBJTUEgZG9lc24ndCBz dXBwb3J0IGZzLXZlcml0eQo+ID4gZmlsZSBoYXNoZXMsIGJ1dCB0aGF0IGNvdWxkIGJlIGNoYW5n ZWQuICBXaHkgbm90IGV4dGVuZCBJTUEgdG8gY292ZXIgeW91ciB1c2UKPiA+IGNhc2Uocyk/Cj4g V2UgbG9va2VkIGF0IGV4dGVuZGluZyBJTUEgdG8gY292ZXIgb3VyIHJlcXVpcmVtZW50cyBleHRl bnNpdmVseSB0aGUKPiBwYXN0IHllYXIKPiBiYXNlZCBvbiBmZWVkYmFjayB0aGUgbGFzdCB0aW1l IEkgcG9zdGVkIHRoZXNlIHBhdGNoZXMuIFdlIGltcGxlbWVudGVkIGEKPiBwcm90b3R5cGUgdGhh dCBoYWQgaGFsZiBvZiBvdXIgcmVxdWlyZW1lbnRzLCBidXQgZm91bmQgaXQgcmVzdWx0ZWQgaW4g YQo+IGxhcmdlIGNoYW5nZSBsaXN0IHRoYXQgd291bGQgcmVzdWx0IGluIGEgbGFyZ2UgYW1vdW50 IG9mIHBhaW4gaW4gcmVzcGVjdAo+IHRvIG1haW50ZW5hbmNlLCBpbiBhZGRpdGlvbiB0byBvdGhl ciBtb3JlIGFyY2hpdGVjdHVyYWwgY29uY2VybnMgYWJvdXQgdGhlCj4gaW1wbGVtZW50YXRpb24u IFdlIHdlcmVu4oCZdCBjb252aW5jZWQgaXQgd2FzIHRoZSBjb3JyZWN0IGRpcmVjdGlvbiwgZm9y IG91cgo+IG5lZWRzLgo+IAo+IFRoZXJlIHdhcyBhIHByZXNlbnRhdGlvbiBkb25lIGF0IExTUyAy MDIxIGFyb3VuZCB0aGlzIHByb3RvdHlwZSBkb25lIGJ5IG15Cj4gY29sbGVhZ3VlLCBGYW4sIHdo byBhdXRob3JlZCB0aGlzIHBhdGNoIGFuZCBpbXBsZW1lbnRlZCB0aGUgYWZvcmVtZW50aW9uZWQK PiBwcm90b3R5cGUuCj4gCj4gSW4gZ2VuZXJhbCwgSU1BIHByb3ZpZGVzIGEgd2hvbGUgc3VpdGUg b2YgYW1hemluZyBmdW5jdGlvbmFsaXR5IHdoZW4gaXQKPiBjb21lcyB0byBldmVyeXRoaW5nIGlu dGVncml0eSwgYXMgdGhlIGZzLXZlcml0eSBkb2N1bWVudGF0aW9uIHN0YXRlcwo+IGl0c2VsZjoK PiAKPiAgICAgSU1BIHNwZWNpZmllcyBhIHN5c3RlbS13aWRlIHBvbGljeSB0aGF0IHNwZWNpZmll cyB3aGljaAo+ICAgICBmaWxlcyBhcmUgaGFzaGVkIGFuZCB3aGF0IHRvIGRvIHdpdGggdGhvc2Ug aGFzaGVzLCBzdWNoCj4gICAgIGFzIGxvZyB0aGVtLCBhdXRoZW50aWNhdGUgdGhlbSwgb3IgYWRk IHRoZW0gdG8gYQo+ICAgICBtZWFzdXJlbWVudCBsaXN0Lgo+IAo+IEluc3RlYWQsIElQRSBwcm92 aWRlcyBhIGZpbmUtdHVuZWQgd2F5IHRvIF9vbmx5XyBlbmZvcmNlIGFuIGFjY2VzcyBjb250cm9s Cj4gcG9saWN5IHRvIHRoZXNlIGZpbGVzIGJhc2VkIG9uIHRoZSBkZWZpbmVkIHRydXN0IHJlcXVp cmVtZW50cyBpbiB0aGUgcG9saWN5LAo+IHVuZGVyIHZhcmlvdXMgY29udGV4dHMsICh5b3UgbWln aHQgaGF2ZSBkaWZmZXJlbnQgcmVxdWlyZW1lbnRzIGZvciB3aGF0Cj4gZXhlY3V0ZXMgaW4gYSBn ZW5lcmFsIHB1cnBvc2UsIHZlcnN1cyBsb2FkYWJsZSBrZXJuZWwgbW9kdWxlcywgZm9yIGV4YW1w bGUpLgo+IEl0IHdpbGwgbmV2ZXIgcHJvdmlkZSBib3RoZXIgdG8gbG9nLCBtZWFzdXJlLCBvciBy ZXZhbGlkYXRlIHRoZXNlIGhhc2hlcwo+IGJlY2F1c2UKPiB0aGF04oCZcyBub3QgaXRzIHB1cnBv c2UuIFRoaXMgaXMgd2h5IGl0IGJlbG9uZ3MgYXQgdGhlIExTTSBsYXllciBpbnN0ZWFkCj4gb2Yg dGhlCj4gaW50ZWdyaXR5IHN1YnN5c3RlbSBsYXllciwgYXMgaXQgaXMgcHJvdmlkaW5nIGFjY2Vz cyBjb250cm9sIGJhc2VkIG9uIGEKPiBwb2xpY3ksCj4gdmVyc3VzIHByb3ZpZGluZyBkZWVwIGlu dGVncmF0aW9ucyB3aXRoIHRoZSBhY3R1YWwgaW50ZWdyaXR5IGNsYWltLgo+IAo+IElQRSBpcyB0 cnlpbmcgdG8gYmUgYWdub3N0aWMgdG8gaG93IHByZWNpc2VseSDigJx0cnVzdOKAnSBpcyBwcm92 aWRlZCwgYXMKPiBvcHBvc2VkIHRvIGJlIGRlZXBseSBpbnRlZ3JhdGVkIGludG8gdGhlIG1lY2hh bmlzbSB0aGF0IHByb3ZpZGVzCj4g4oCcdHJ1c3TigJ0uCj4gPj4gSVBFIG5lZWRzIHRoZSBkaWdl c3QgaW5mb3JtYXRpb24gdG8gYmUgYWJsZSB0byBjb21wYXJlIGEgZGlnZXN0Cj4gPj4gcHJvdmlk ZWQgYnkgdGhlIHBvbGljeSBhdXRob3IsIGFnYWluc3QgdGhlIGRpZ2VzdCBjYWxjdWxhdGVkIGJ5 Cj4gPj4gZnN2ZXJpdHkgdG8gbWFrZSBhIGRlY2lzaW9uIG9uIHdoZXRoZXIgdGhhdCBzcGVjaWZp YyBmaWxlLCByZXByZXNlbnRlZAo+ID4+IGJ5IHRoZSBkaWdlc3QgaXMgYXV0aG9yaXplZCBmb3Ig dGhlIGFjdGlvbnMgc3BlY2lmaWVkIGluIHRoZSBwb2xpY3kuCj4gPj4KPiA+PiBBIG1vcmUgY29u Y3JldGUgZXhhbXBsZSwgaWYgYW4gSVBFIHBvbGljeSBhdXRob3Igd3JpdGVzOgo+ID4+Cj4gPj4g IMKgwqDCoCBvcD1FWEVDVVRFIGZzdmVyaXR5X2RpZ2VzdD08SGV4RGlnZXN0ID4gYWN0aW9uPURF TlkKPiA+Pgo+ID4+IElQRSB0YWtlcyB0aGUgZGlnZXN0IHByb3ZpZGVkIGJ5IHRoaXMgc2VjdXJp dHkgaG9vaywgc3RvcmVzIGl0Cj4gPj4gaW4gSVBFJ3Mgc2VjdXJpdHkgYmxvYiBvbiB0aGUgaW5v ZGUuIElmIHRoaXMgZmlsZSBpcyBsYXRlcgo+ID4+IGV4ZWN1dGVkLCBJUEUgY29tcGFyZXMgdGhl IGRpZ2VzdCBzdG9yZWQgaW4gdGhlIExTTSBibG9iLAo+ID4+IHByb3ZpZGVkIGJ5IHRoaXMgaG9v aywgYWdhaW5zdCA8SGV4RGlnZXN0PiBpbiB0aGUgcG9saWN5LCBpZgo+ID4+IGl0IG1hdGNoZXMs IGl0IGRlbmllcyB0aGUgYWNjZXNzLCBwZXJmb3JtaW5nIGEgcmV2b2NhdGlvbgo+ID4+IG9mIHRo YXQgZmlsZS4KPiA+IERvIHlvdSBoYXZlIGEgYmV0dGVyIGV4YW1wbGU/ICBUaGlzIG9uZSBpcyBw cmV0dHkgdXNlbGVzcyBzaW5jZSBvbmUgY2FuIGdldAo+ID4gYXJvdW5kIGl0IGp1c3QgYnkgZXhl Y3V0aW5nIGEgZmlsZSB0aGF0IGRvZXNuJ3QgaGF2ZSBmcy12ZXJpdHkgZW5hYmxlZC4KPiBIZXJl 4oCZcyBhIG1vcmUgY29tcGxldGUgZXhhbXBsZToKPiAKPiAgICAgcG9saWN5X25hbWU94oCdZnMt ZXhlYy1vbmx54oCdIHBvbGljeV92ZXJzaW9uPTAuMC4xCj4gICAgIERFRkFVTFQgYWN0aW9uPUFM TE9XCj4gCj4gICAgIERFRkFVTFQgb3A9RVhFQ1VURSBhY3Rpb249REVOWQo+ICAgICBvcD1FWEVD VVRFIGZzdmVyaXR5X2RpZ2VzdD08RGlnZXN0PiBhY3Rpb249REVOWQo+ICAgICBvcD1FWEVDVVRF IGZzdmVyaXR5X3NpZ25hdHVyZT1UUlVFIGFjdGlvbj1BTExPVwo+IAo+IEV4ZWN1dGlvbiBpcyBw cm9oaWJpdGVkIHVubGVzcyBpdCBpcyBhIHNpZ25lZCBmcy12ZXJpdHkgZmlsZTsKPiBIb3dldmVy LCBhZnRlciBvbmUgb2YgdGhvc2UgZXhlY3V0YWJsZXMgd2FzIHNpZ25lZCBhbmQgcHVibGlzaGVk LAo+IGFuIGV4cGxvaXRhYmxlIHZ1bG5lcmFiaWxpdHkgaW4gc2FpZCBleGVjdXRhYmxlIHdhcyBm b3VuZCwgYSBuZXcKPiB2ZXJzaW9uIHdhcyBwdWJsaXNoZWQgd2l0aG91dCB0aGF0IHZ1bG5lcmFi aWxpdHkuIFdlIG5lZWQgdG8KPiByZXZva2UgdHJ1c3QgZm9yIHRoYXQgZXhlY3V0YWJsZSBzaW5j ZSBpdCBjb3VsZCBiZSB1c2VkIHRvIGV4cGxvaXQKPiB0aGUgc3lzdGVtLCBzbyB0aGUgZmlyc3Qg cnVsZSBwcmV2ZW50cyBpdCBmcm9tIG1hdGNoaW5nIHRoZSBzZWNvbmQuCgpXaXRoIERJR0xJTSwg cmV2b2NhdGlvbiB3aWxsIGJlIGNvbXBsZXRlbHkgdHJhbnNwYXJlbnQgc2luY2UKZGlnZXN0cyBv ZiBmaWxlcyBpbiB0aGUgcGFja2FnZXMgYmVpbmcgcmVtb3ZlZCB3aWxsIGJlIGFsc28gcmVtb3Zl ZApmcm9tIHRoZSBrZXJuZWwuIFRoZSBuZXh0IHRpbWUgSVBFIHdpbGwgZXZhbHVhdGUgYW4gb2xk IHZlcnNpb24gb2YgdGhlCmZpbGUgKGFzc3VtaW5nIHRoYXQgdGhlcmUgd2FzIGEgY29weSBzb21l d2hlcmUpIGl0IHdpbGwgcmVhbGl6ZSB0aGF0CnRoZSBkaWdlc3QgaXMgbm90IGtub3duIGFueW1v cmUgYW5kIHdpbGwgZGVueSBhY2Nlc3MuCgpSb2JlcnRvCgpIVUFXRUkgVEVDSE5PTE9HSUVTIER1 ZXNzZWxkb3JmIEdtYkgsIEhSQiA1NjA2MwpNYW5hZ2luZyBEaXJlY3RvcjogTGkgUGVuZywgWmhv bmcgUm9uZ2h1YQoKPiA+PiBUaGlzIGJyaW5ncyBtZSB0byB5b3VyIG5leHQgY29tbWVudDoKPiA+ Pgo+ID4+PiBUaGUgZGlnZXN0IGlzbid0IG1lYW5pbmdmdWwgd2l0aG91dCBrbm93aW5nIHRoZSBo YXNoIGFsZ29yaXRobSBpdCB1c2VzLgo+ID4+IEl0J3MgYXZhaWxhYmxlIGhlcmUsIGJ1dCB5b3Ug YXJlbid0IHBhc3NpbmcgaXQgdG8gdGhpcyBmdW5jdGlvbi4KPiA+Pgo+ID4+IFRoZSBkaWdlc3Qg aXMgbWVhbmluZ2Z1bCB3aXRob3V0IHRoZSBhbGdvcml0aG0gaW4gdGhpcyBjYXNlLgo+ID4gTm8s IGl0J3Mgbm90Lgo+ID4KPiA+IERpZ2VzdHMgYXJlIG1lYW5pbmdsZXNzIHdpdGhvdXQga25vd2lu ZyB3aGF0IGFsZ29yaXRobSB0aGV5IHdlcmUgY3JlYXRlZAo+IHdpdGguCj4gPgo+ID4gSWYgeW91 ciBzZWN1cml0eSBwb2xpY3kgaXMgc29tZXRoaW5nIGxpa2UgIlRydXN0IHRoZSBmaWxlIHdpdGgg ZGlnZXN0ICRmb28iIGFuZAo+ID4gbXVsdGlwbGUgaGFzaCBhbGdvcml0aG1zIGFyZSBwb3NzaWJs ZSwgdGhlbiB0aGUgYWxvcml0aG0gaW50ZW5kZWQgdG8gYmUgdXNlZAo+ID4gbmVlZHMgdG8gYmUg ZXhwbGljaXRseSBzcGVjaWZpZWQuICBPdGhlcndpc2UgYW55IGFsZ29yaXRobSB3aXRoIHRoZSBz YW1lIGxlbmd0aAo+ID4gZGlnZXN0IHdpbGwgYmUgYWNjZXB0ZWQuICBUaGF0J3MgYSBmYXRhbCBm bGF3IGlmIGFueSBvZiB0aGVzZSBhbGdvcml0aG1zIGlzCj4gPiBjcnlwdG9ncmFwaGljYWxseSBi cm9rZW4gb3Igd2FzIG5ldmVyIGludGVuZGVkIHRvIGJlIGEgY3J5cHRvZ3JhcGhpYwo+IGFsZ29y aXRobQo+ID4gaW4gdGhlIGZpcnN0IHBsYWNlIChlLmcuLCBhIG5vbi1jcnlwdG9ncmFwaGljIGNo ZWNrc3VtKS4KPiA+Cj4gPiBDcnlwdG9zeXN0ZW1zIGFsd2F5cyBuZWVkIHRvIHNwZWNpZnkgdGhl IGNyeXB0byBhbGdvcml0aG0ocykgdXNlZDsgdGhlCj4gYWR2ZXJzYXJ5Cj4gPiBtdXN0IG5vdCBi ZSBhbGxvd2VkIHRvIGNob29zZSB0aGUgYWxnb3JpdGhtcy4KPiBPb2YuIFlvdeKAmXJlIGNvbXBs ZXRlbHkgcmlnaHQuIFRoZSBwYXJ0IEkgd2FzIG1pc3NpbmcgaXMgdGhhdCBhcyB0aW1lCj4gZ29l cyBvbiwKPiB0aGUgc2VjdXJlIHN0YXR1cyBvZiB0aGVzZSBjcnlwdG9ncmFwaGljIGFsZ29yaXRo bXMgd2lsbCBjaGFuZ2UsIGFuZAo+IHRoZW4gd2XigJlsbAo+IG5lZWQgYSB3YXkgdG8gbWlncmF0 ZSBiZXR3ZWVuIGFsZ29yaXRobXMuIEFkZGl0aW9uYWxseSwgdG9vbGluZyBhbmQgdGhlCj4gbGlr ZSB3aWxsCj4gbGlrZWx5IG5lZWQgYSB3YXkgdG8gaWRlbnRpZnkgdGhpcyBmcm9tIHRoZSBwb2xp Y3kgdGV4dCB3aXRob3V0Cj4gY29uc3VsdGluZyBhbnl0aGluZwo+IGVsc2UuIFRoaXMgaXMgYSBt YWpvciBvdmVyc2lnaHQgZm9yIGdlbmVyYWwgdXNlLCB0aGUgc3lzdGVtIHRoYXQgdGhpcwo+IHdh cyBvcmlnaW5hbGx5Cj4gZGVzaWduZWQgZm9yIG9ubHkgaGFkIHN1cHBvcnQgZm9yIGEgc3Vic2V0 IG9mIHRoZSBzaGEyLWZhbWlseSAoYWxsCj4gc2VwYXJhdGUgbGVuZ3RocykKPiBzbyBJIGhhZG7i gJl0IGV2ZW4gY29uc2lkZXJlZCBpdC4KPiAKPiBJdCdzIHRyaXZpYWwgdG8gY29ycmVjdCBpbiBh IG1pbmltYWwgYW1vdW50IG9mIGNvZGUsIG1ha2luZyB0aGUgcG9saWN5Cj4gZXhwcmVzcyB0aGUK PiBkaWdlc3QgbGlrZSBzbzoKPiAKPiAgICAgZnN2ZXJpdHlfZGlnZXN0PTxhbGdvPjo8ZGlnZXN0 Pgo+IAo+IGFuZCBjaGFuZ2UgdGhlIGFyZ3VtZW50IHBhc3NlZCB0byB0aGUgTFNNIGhvb2sgdG8g YWNjZXB0IGEgc3RydWN0dXJlCj4gY29udGFpbmluZyB0aGVzZQo+IHR3byBmaWVsZHMuCj4gCj4g PiBJJ20gbm90IHN1cmUgaG93IHRoZXNlIHBhdGNoZXMgY2FuIGJlIHRha2VuIHNlcmlvdXNseSB3 aGVuIHRoZXkncmUgZ2V0dGluZwo+IHRoaXMKPiA+IHNvcnQgb2YgdGhpbmcgd3JvbmcuCj4gVGhh dCBzYWlkLCBJLCBwZXJzb25hbGx5LCBob3BlIHRoYXQgYW4gaG9uZXN0IG1pc3Rha2UsIGluIGEg c2VyaWVzCj4gc3VibWl0dGVkIGFzCj4gYW4gUkZDIHN1Ym1pdHRlZCBpbiBnb29kIGZhaXRoLCBp cyBub3QgYSByZWFzb24gdG8gZGlzY291bnQgYW4gZW50aXJlIHBhdGNoCj4gc2VyaWVzLgo+IAo+ IEkgaG9wZSB5b3UgY29udGludWUgdG8gcHJvdmlkZSBmZWVkYmFjaywgYXMgaXQgaXMgaW52YWx1 YWJsZSB0byBtYWtpbmcgdGhpcwo+IHN5c3RlbSBiZXR0ZXIsIGFuZCBtYWtpbmcgbWUsIHBlcnNv bmFsbHksIGEgYmV0dGVyIGRldmVsb3Blci4KPiA+Pj4+ICsJCQkJCUZTX1ZFUklUWV9TSUdOQVRV UkVfU0VDX05BTUUsCj4gPj4+PiArCQkJCQlzaWduYXR1cmUsIHNpZ19zaXplLCAwKTsKPiA+Pj4g VGhpcyBpcyBvbmx5IGZvciBmcy12ZXJpdHkgYnVpbHQtaW4gc2lnbmF0dXJlcyB3aGljaCBhcmVu J3QgdGhlIG9ubHkgd2F5IHRvIGRvCj4gPj4+IHNpZ25hdHVyZXMgd2l0aCBmcy12ZXJpdHkuICBB cmUgeW91IHN1cmUgdGhpcyBpcyB3aGF0IHlvdSdyZSBsb29raW5nIGZvcj8KPiA+PiBDb3VsZCB5 b3UgZWxhYm9yYXRlIG9uIHRoZSBvdGhlciBzaWduYXR1cmUgdHlwZXMgdGhhdCBjYW4gYmUgdXNl ZAo+ID4+IHdpdGggZnMtdmVyaXR5PyBJ4oCZbSA5OSUgc3VyZSB0aGlzIGlzIHdoYXQgSeKAmW0g bG9va2luZyBmb3IgYXMgdGhpcwo+ID4+IGlzIGEgc2lnbmF0dXJlIHZhbGlkYXRlZCBpbiB0aGUg a2VybmVsIGFnYWluc3QgdGhlIGZzLXZlcml0eSBrZXlyaW5nCj4gPj4gYXMgcGFydCBvZiB0aGUg 4oCcZnN2ZXJpdHkgZW5hYmxl4oCdIHV0aWxpdHkuCj4gPj4KPiA+PiBJdCdzIGltcG9ydGFudCB0 aGF0IHRoZSBzaWduYXR1cmUgaXMgdmFsaWRhdGVkIGluIHRoZSBrZXJuZWwsIGFzCj4gPj4gdXNl cnNwYWNlIGlzIGNvbnNpZGVyZWQgdW50cnVzdGVkIHVudGlsIHRoZSBzaWduYXR1cmUgaXMgdmFs aWRhdGVkCj4gPj4gZm9yIHRoaXMgY2FzZS4KPiA+Pgo+ID4+PiBDYW4geW91IGVsYWJvcmF0ZSBv biB5b3VyIHVzZSBjYXNlIGZvciBmcy12ZXJpdHkgYnVpbHQtaW4gc2lnbmF0dXJlcywKPiA+PiBT dXJlLCBzaWduYXR1cmVzLCBsaWtlIGRpZ2VzdHMsIGFsc28gcHJvdmlkZSBhIHdheSB0byBwcm92 ZSBpbnRlZ3JpdHksCj4gPj4gYW5kIHRoZSB0cnVzdCBjb21wb25lbnQgY29tZXMgZnJvbSB0aGUg dmFsaWRhdGlvbiBhZ2FpbnN0IHRoZSBrZXlyaW5nLAo+ID4+IGFzIG9wcG9zZWQgdG8gYSBmaXhl ZCB2YWx1ZSBpbiBJUEXigJlzIHBvbGljeS4gVGhlIHVzZSBjYXNlIGZvciBmcy12ZXJpdHkKPiA+ PiBidWlsdC1pbiBzaWduYXR1cmVzIGlzIHRoYXQgd2UgaGF2ZSBhIHJ3IGV4dDQgZmlsZXN5c3Rl bSB0aGF0IGhhcyBzb21lCj4gPj4gZXhlY3V0YWJsZSBmaWxlcywgYW5kIHdlIHdhbnQgdG8gaGF2 ZSBhIGV4ZWN1dGlvbiBwb2xpY3kgKHRocm91Z2ggSVBFKQo+ID4+IHRoYXQgb25seSBfdHJ1c3Rl ZF8gZXhlY3V0YWJsZXMgY2FuIHJ1bi4gUGVyZiBpcyBpbXBvcnRhbnQgaGVyZSwgaGVuY2UKPiA+ PiBmcy12ZXJpdHkuCj4gPiBNb3N0IHVzZXJzIG9mIGZzLXZlcml0eSBidWlsdC1pbiBzaWduYXR1 cmVzIGhhdmUgYWN0dWFsbHkgYmVlbiBlbmZvcmNpbmcgdGhlaXIKPiA+IHNlY3VyaXR5IHBvbGlj eSBpbiB1c2Vyc3BhY2UsIGJ5IGNoZWNraW5nIHdoZXRoZXIgc3BlY2lmaWMgZmlsZXMgaGF2ZSB0 aGUKPiA+IGZzLXZlcml0eSBiaXQgc2V0IG9yIG5vdC4gIFN1Y2ggdXNlcnMgY291bGQganVzdCBz dG9yZSBhbmQgdmVyaWZ5IHNpZ25hdHVyZXMgaW4KPiA+IHVzZXJzcGFjZSBpbnN0ZWFkLCB3aXRo b3V0IGFueSBrZXJuZWwgaW52b2x2ZW1lbnQuICBTbyB0aGF0J3Mgd2hhdCBJJ3ZlIGJlZW4KPiA+ IHJlY29tbWVuZGluZyAod2l0aCBsaW1pdGVkIHN1Y2Nlc3MsIHVuZm9ydHVuYXRlbHkpLgo+IEkg YmVsaWV2ZSB0aGUgZGlmZmVyZW5jZSBpbiBzZWN1cml0eSBtb2RlbHMgY29tZXMgZnJvbSB0aGlz IGxpbmUKPiAoZW1waGFzaXMsIG1pbmUpOgo+IAo+ICA+IGJ5IGNoZWNraW5nIHdoZXRoZXIgX3Nw ZWNpZmljIGZpbGVzXyBoYXZlIHRoZSBmcy12ZXJpdHkgYml0IHNldCBvciBub3QuCj4gCj4gSVBF IHBvbGljeSBpcyB3cml0dGVuIGJ5IGEgc3lzdGVtIGF1dGhvciB3aG8gb3ducyB0aGUgc3lzdGVt LCBidXQgbWF5Cj4gbm90IGhhdmUgMTAwJSBjb250cm9sIG92ZXIgYWxsIG9mIHRoZSBhcHBsaWNh dGlvbiBjb2RlIHJ1bm5pbmcgb24gdGhlCj4gc3lzdGVtLsKgIEluIHRoZSBjYXNlIG9mIGFwcGxp Y2F0aW9ucyB3aGljaCBhcmUgbm90IGF3YXJlIG9mIElQRSwgdGhlIHBvbGljeQo+IGNhbiBzdGls bCBlbmZvcmNlIHRoYXQgYWxsIG9mIHRoZSBjb2RlIHJ1bm5pbmcgb24gdGhlIHN5c3RlbSBpcyB0 cnVzdGVkLgo+IAo+IEFuIGV4YW1wbGUgYXR0YWNrIG9mIHdoYXQgd2UncmUgdHJ5aW5nIHRvIG1p dGlnYXRlOsKgIEEgaG9zdGlsZSBhY3Rvcgo+IGNvdWxkIGRvd25sb2FkcyBhIGJpbmFyeSBvZmYg dGhlIGludGVybmV0IHdpdGggYWxsIHJlcXVpcmVkCj4gZGVwZW5kZW5jaWVzIGludG8gdG1wZnMg YW5kIHJ1bnMgdGhlaXIgbWFsaWNpb3VzIGV4ZWN1dGFibGUuCj4gCj4gV2l0aCB1cyB2YWxpZGF0 aW5nIHRoaXMgaW5mb3JtYXRpb24gaW4gdGhlIGtlcm5lbCwgZXZlbiBpZiB0aGUgYXR0YWNrZXIK PiBkb3dubG9hZGVkIHRoZWlyIG1hbGljaW91cyBleGVjdXRhYmxlIHRvIC90bXAgYW5kIGV4ZWN1 dGVkIGl0LCBpdCB3b3VsZAo+IHN0aWxsIGZhaWwgdG8gcGFzcyBwb2xpY3kgYW5kIGJlIGRlbmll ZCwgYXMgdGhlIGtlcm5lbCBpcyB0aGUgY29tbW9uCj4gZW50cnlwb2ludCBhY3Jvc3MgYWxsIGV4 ZWN1dGFibGVzLgo+IAo+IE9wZXJhdGlvbmFsbHksIHRoaXMgX2NvdWxkXyBiZSBkb25lIGJ5IGRp Z2VzdCwgYnV0IHRoZSBwb2xpY2llcyB3b3VsZAo+IHF1aWNrbHkgYmVjb21lIGdpZ2FudGljIG9u IGEgY2FydG9vbmlzaCBwcm9wb3J0aW9uLCBhcyB5b3UnbGwgaGF2ZSB0bwo+IGF1dGhvcml6ZSBl dmVyeSBzaW5nbGUgZXhlY3V0YWJsZSBhbmQgZGVwZW5kZW5jeSBieSBkaWdlc3QgLSBhbmQKPiB0 aGVyZSB3b3VsZCBiZSBhIGNvbXBsaWNhdGVkIHVwZGF0ZSBzdG9yeSBhcyB0aGUgcG9saWN5IHdv dWxkIGhhdmUgdG8KPiBiZSB1cGRhdGVkIHRvIG9uYm9hcmQgbmV3IGRpZ2VzdHMuCj4gCj4gQnkg dXNpbmcgc2lnbmF0dXJlcywgd2UgY2FuIHByZXZlbnQgdGhlIHBvbGljeSB1cGRhdGUsIGFuZCBr ZWVwIHRoZQo+IHBvbGljeSBzaXplIHNtYWxsLgo+IAo+ID4gSWYgeW91IHJlYWxseSBkbyBuZWVk IGluLWtlcm5lbCBzaWduYXR1cmUgdmVyaWZpY2F0aW9uLCB0aGVuIHRoYXQgbWF5IGJlIGEKPiA+ IGxlZ2l0aW1hdGUgdXNlIGNhc2UgZm9yIHRoZSBmcy12ZXJpdHkgYnVpbHQtaW4gc2lnbmF0dXJl cywgYWx0aG91Z2ggSSBkbyB3b25kZXIKPiA+IHdoeSB5b3UgYXJlbid0IHVzaW5nIElNQSBhbmQg aXRzIHNpZ25hdHVyZSBtZWNoYW5pc20gaW5zdGVhZC4KPiA+Cj4gPiAtIEVyaWMKCi0tCkxpbnV4 LWF1ZGl0IG1haWxpbmcgbGlzdApMaW51eC1hdWRpdEByZWRoYXQuY29tCmh0dHBzOi8vbGlzdG1h bi5yZWRoYXQuY29tL21haWxtYW4vbGlzdGluZm8vbGludXgtYXVkaXQ= 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 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id C8B59C4332F for ; Wed, 27 Oct 2021 09:34:52 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id AF6BE6109E for ; Wed, 27 Oct 2021 09:34:52 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S241136AbhJ0JhQ (ORCPT ); Wed, 27 Oct 2021 05:37:16 -0400 Received: from frasgout.his.huawei.com ([185.176.79.56]:4034 "EHLO frasgout.his.huawei.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232422AbhJ0JhP (ORCPT ); Wed, 27 Oct 2021 05:37:15 -0400 Received: from fraeml713-chm.china.huawei.com (unknown [172.18.147.200]) by frasgout.his.huawei.com (SkyGuard) with ESMTP id 4HfNht67kzz6GD8D; Wed, 27 Oct 2021 17:30:38 +0800 (CST) Received: from fraeml714-chm.china.huawei.com (10.206.15.33) by fraeml713-chm.china.huawei.com (10.206.15.32) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.15; Wed, 27 Oct 2021 11:34:48 +0200 Received: from fraeml714-chm.china.huawei.com ([10.206.15.33]) by fraeml714-chm.china.huawei.com ([10.206.15.33]) with mapi id 15.01.2308.015; Wed, 27 Oct 2021 11:34:48 +0200 From: Roberto Sassu To: Deven Bowers , Eric Biggers CC: "corbet@lwn.net" , "axboe@kernel.dk" , "agk@redhat.com" , "snitzer@redhat.com" , "tytso@mit.edu" , "paul@paul-moore.com" , "eparis@redhat.com" , "jmorris@namei.org" , "serge@hallyn.com" , "jannh@google.com" , "dm-devel@redhat.com" , "linux-doc@vger.kernel.org" , "linux-kernel@vger.kernel.org" , "linux-block@vger.kernel.org" , "linux-fscrypt@vger.kernel.org" , "linux-audit@redhat.com" , "linux-security-module@vger.kernel.org" Subject: RE: [RFC PATCH v7 12/16] fsverity|security: add security hooks to fsverity digest and signature Thread-Topic: [RFC PATCH v7 12/16] fsverity|security: add security hooks to fsverity digest and signature Thread-Index: AQHXwGWUN6BqcPCg3Uma5jdt5usPz6vRLYAAgAMlHYCAAAy0gIARNsyAgAESBxA= Date: Wed, 27 Oct 2021 09:34:48 +0000 Message-ID: <154208f2a248482e8664903f734cf0b4@huawei.com> References: <1634151995-16266-1-git-send-email-deven.desai@linux.microsoft.com> <1634151995-16266-13-git-send-email-deven.desai@linux.microsoft.com> <9089bdb0-b28a-9fa0-c510-00fa275af621@linux.microsoft.com> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.221.98.153] Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-CFilter-Loop: Reflected Precedence: bulk List-ID: X-Mailing-List: linux-block@vger.kernel.org PiBGcm9tOiBEZXZlbiBCb3dlcnMgW21haWx0bzpkZXZlbi5kZXNhaUBsaW51eC5taWNyb3NvZnQu Y29tXQ0KPiBTZW50OiBUdWVzZGF5LCBPY3RvYmVyIDI2LCAyMDIxIDk6MDQgUE0NCj4gT24gMTAv MTUvMjAyMSAxOjExIFBNLCBFcmljIEJpZ2dlcnMgd3JvdGU6DQo+IA0KPiA+IE9uIEZyaSwgT2N0 IDE1LCAyMDIxIGF0IDEyOjI1OjUzUE0gLTA3MDAsIERldmVuIEJvd2VycyB3cm90ZToNCj4gPj4g T24gMTAvMTMvMjAyMSAxMjoyNCBQTSwgRXJpYyBCaWdnZXJzIHdyb3RlOg0KPiA+Pj4gT24gV2Vk LCBPY3QgMTMsIDIwMjEgYXQgMTI6MDY6MzFQTSAtDQo+IDA3MDAsZGV2ZW4uZGVzYWlAbGludXgu bWljcm9zb2Z0LmNvbSAgd3JvdGU6DQo+ID4+Pj4gRnJvbTogRmFuIFd1PHd1ZmFuQGxpbnV4Lm1p Y3Jvc29mdC5jb20+DQo+ID4+Pj4NCj4gPj4+PiBBZGQgc2VjdXJpdHlfaW5vZGVfc2V0c2VjdXJp dHkgdG8gZnN2ZXJpdHkgc2lnbmF0dXJlIHZlcmlmaWNhdGlvbi4NCj4gPj4+PiBUaGlzIGNhbiBs ZXQgTFNNcyBzYXZlIHRoZSBzaWduYXR1cmUgZGF0YSBhbmQgZGlnZXN0IGhhc2hlcyBwcm92aWRl ZA0KPiA+Pj4+IGJ5IGZzdmVyaXR5Lg0KPiA+Pj4gQ2FuIHlvdSBlbGFib3JhdGUgb24gd2h5IExT TXMgbmVlZCB0aGlzIGluZm9ybWF0aW9uPw0KPiA+PiBUaGUgcHJvcG9zZWQgTFNNIChJUEUpIG9m IHRoaXMgc2VyaWVzIHdpbGwgYmUgdGhlIG9ubHkgb25lIHRvIG5lZWQNCj4gPj4gdGhpcyBpbmZv cm1hdGlvbiBhdCB0aGXCoCBtb21lbnQuIElQReKAmXMgZ29hbCBpcyB0byBoYXZlIHByb3ZpZGUN Cj4gPj4gdHJ1c3QtYmFzZWQgYWNjZXNzIGNvbnRyb2wuIFRydXN0IGFuZCBJbnRlZ3JpdHkgYXJl IHRpZWQgdG9nZXRoZXIsDQo+ID4+IGFzIHlvdSBjYW5ub3QgcHJvdmUgdHJ1c3Qgd2l0aG91dCBw cm92aW5nIGludGVncml0eS4NCj4gPiBJIHRoaW5rIHlvdSBtZWFuIGF1dGhlbnRpY2l0eSwgbm90 IGludGVncml0eT8NCj4gSeKAmXZlIGhlYXJkIGEgbG90IG9mIHBlb3BsZSB1c2UgdGhlc2UgdGVy bXMgaW4gb3ZlcmxvYWRlZCB3YXlzLg0KPiANCj4gSWYgd2XigJlyZSB3b3JraW5nIHdpdGggdGhl IGRlZmluaXRpb24gb2YgYXV0aGVudGljaXR5IGJlaW5nDQo+IOKAnHRoZSBwcm9wZXJ0eSB0aGF0 IGEgcmVzb3VyY2Ugd2FzIF9hY3R1YWxseV8gc2VudC9jcmVhdGVkIGJ5IGENCj4gcGFydHnigJ0s IGFuZCBpbnRlZ3JpdHkgYmVpbmcg4oCcdGhlIHByb3BlcnR5IHRoYXQgYSByZXNvdXJjZSB3YXMg bm90DQo+IG1vZGlmaWVkIGZyb20gYSBwb2ludCBvZiB0aW1l4oCdLCB0aGVuIHllcy4gVGhvdWdo IHRoZSBzdGF0ZW1lbnQgaXNu4oCZdA0KPiBmYWxzZSwgdGhvdWdoLCBiZWNhdXNlIHlvdeKAmWQg bmVlZCB0byBwcm92ZSBpbnRlZ3JpdHkgaW4gdGhlIHByb2Nlc3Mgb2YNCj4gcHJvdmluZyBhdXRo ZW50aWNpdHkuDQo+IA0KPiBJZiBub3QsIGNvdWxkIHlvdSBjbGFyaWZ5IHdoYXQgeW91IG1lYW4g YnkgYXV0aGVudGljaXR5IGFuZCBpbnRlZ3JpdHksDQo+IHNvIHRoYXQgd2UgY2FuIHVzZSBjb25z aXN0ZW50IGRlZmluaXRpb25zPw0KPiA+IEFsc28gaG93IGRvZXMgdGhpcyBkaWZmZXIgZnJvbSBJ TUE/ICBJIGtub3cgdGhhdCBJTUEgZG9lc24ndCBzdXBwb3J0IGZzLXZlcml0eQ0KPiA+IGZpbGUg aGFzaGVzLCBidXQgdGhhdCBjb3VsZCBiZSBjaGFuZ2VkLiAgV2h5IG5vdCBleHRlbmQgSU1BIHRv IGNvdmVyIHlvdXIgdXNlDQo+ID4gY2FzZShzKT8NCj4gV2UgbG9va2VkIGF0IGV4dGVuZGluZyBJ TUEgdG8gY292ZXIgb3VyIHJlcXVpcmVtZW50cyBleHRlbnNpdmVseSB0aGUNCj4gcGFzdCB5ZWFy DQo+IGJhc2VkIG9uIGZlZWRiYWNrIHRoZSBsYXN0IHRpbWUgSSBwb3N0ZWQgdGhlc2UgcGF0Y2hl cy4gV2UgaW1wbGVtZW50ZWQgYQ0KPiBwcm90b3R5cGUgdGhhdCBoYWQgaGFsZiBvZiBvdXIgcmVx dWlyZW1lbnRzLCBidXQgZm91bmQgaXQgcmVzdWx0ZWQgaW4gYQ0KPiBsYXJnZSBjaGFuZ2UgbGlz dCB0aGF0IHdvdWxkIHJlc3VsdCBpbiBhIGxhcmdlIGFtb3VudCBvZiBwYWluIGluIHJlc3BlY3QN Cj4gdG8gbWFpbnRlbmFuY2UsIGluIGFkZGl0aW9uIHRvIG90aGVyIG1vcmUgYXJjaGl0ZWN0dXJh bCBjb25jZXJucyBhYm91dCB0aGUNCj4gaW1wbGVtZW50YXRpb24uIFdlIHdlcmVu4oCZdCBjb252 aW5jZWQgaXQgd2FzIHRoZSBjb3JyZWN0IGRpcmVjdGlvbiwgZm9yIG91cg0KPiBuZWVkcy4NCj4g DQo+IFRoZXJlIHdhcyBhIHByZXNlbnRhdGlvbiBkb25lIGF0IExTUyAyMDIxIGFyb3VuZCB0aGlz IHByb3RvdHlwZSBkb25lIGJ5IG15DQo+IGNvbGxlYWd1ZSwgRmFuLCB3aG8gYXV0aG9yZWQgdGhp cyBwYXRjaCBhbmQgaW1wbGVtZW50ZWQgdGhlIGFmb3JlbWVudGlvbmVkDQo+IHByb3RvdHlwZS4N Cj4gDQo+IEluIGdlbmVyYWwsIElNQSBwcm92aWRlcyBhIHdob2xlIHN1aXRlIG9mIGFtYXppbmcg ZnVuY3Rpb25hbGl0eSB3aGVuIGl0DQo+IGNvbWVzIHRvIGV2ZXJ5dGhpbmcgaW50ZWdyaXR5LCBh cyB0aGUgZnMtdmVyaXR5IGRvY3VtZW50YXRpb24gc3RhdGVzDQo+IGl0c2VsZjoNCj4gDQo+ICAg ICBJTUEgc3BlY2lmaWVzIGEgc3lzdGVtLXdpZGUgcG9saWN5IHRoYXQgc3BlY2lmaWVzIHdoaWNo DQo+ICAgICBmaWxlcyBhcmUgaGFzaGVkIGFuZCB3aGF0IHRvIGRvIHdpdGggdGhvc2UgaGFzaGVz LCBzdWNoDQo+ICAgICBhcyBsb2cgdGhlbSwgYXV0aGVudGljYXRlIHRoZW0sIG9yIGFkZCB0aGVt IHRvIGENCj4gICAgIG1lYXN1cmVtZW50IGxpc3QuDQo+IA0KPiBJbnN0ZWFkLCBJUEUgcHJvdmlk ZXMgYSBmaW5lLXR1bmVkIHdheSB0byBfb25seV8gZW5mb3JjZSBhbiBhY2Nlc3MgY29udHJvbA0K PiBwb2xpY3kgdG8gdGhlc2UgZmlsZXMgYmFzZWQgb24gdGhlIGRlZmluZWQgdHJ1c3QgcmVxdWly ZW1lbnRzIGluIHRoZSBwb2xpY3ksDQo+IHVuZGVyIHZhcmlvdXMgY29udGV4dHMsICh5b3UgbWln aHQgaGF2ZSBkaWZmZXJlbnQgcmVxdWlyZW1lbnRzIGZvciB3aGF0DQo+IGV4ZWN1dGVzIGluIGEg Z2VuZXJhbCBwdXJwb3NlLCB2ZXJzdXMgbG9hZGFibGUga2VybmVsIG1vZHVsZXMsIGZvciBleGFt cGxlKS4NCj4gSXQgd2lsbCBuZXZlciBwcm92aWRlIGJvdGhlciB0byBsb2csIG1lYXN1cmUsIG9y IHJldmFsaWRhdGUgdGhlc2UgaGFzaGVzDQo+IGJlY2F1c2UNCj4gdGhhdOKAmXMgbm90IGl0cyBw dXJwb3NlLiBUaGlzIGlzIHdoeSBpdCBiZWxvbmdzIGF0IHRoZSBMU00gbGF5ZXIgaW5zdGVhZA0K PiBvZiB0aGUNCj4gaW50ZWdyaXR5IHN1YnN5c3RlbSBsYXllciwgYXMgaXQgaXMgcHJvdmlkaW5n IGFjY2VzcyBjb250cm9sIGJhc2VkIG9uIGENCj4gcG9saWN5LA0KPiB2ZXJzdXMgcHJvdmlkaW5n IGRlZXAgaW50ZWdyYXRpb25zIHdpdGggdGhlIGFjdHVhbCBpbnRlZ3JpdHkgY2xhaW0uDQo+IA0K PiBJUEUgaXMgdHJ5aW5nIHRvIGJlIGFnbm9zdGljIHRvIGhvdyBwcmVjaXNlbHkg4oCcdHJ1c3Ti gJ0gaXMgcHJvdmlkZWQsIGFzDQo+IG9wcG9zZWQgdG8gYmUgZGVlcGx5IGludGVncmF0ZWQgaW50 byB0aGUgbWVjaGFuaXNtIHRoYXQgcHJvdmlkZXMNCj4g4oCcdHJ1c3TigJ0uDQo+ID4+IElQRSBu ZWVkcyB0aGUgZGlnZXN0IGluZm9ybWF0aW9uIHRvIGJlIGFibGUgdG8gY29tcGFyZSBhIGRpZ2Vz dA0KPiA+PiBwcm92aWRlZCBieSB0aGUgcG9saWN5IGF1dGhvciwgYWdhaW5zdCB0aGUgZGlnZXN0 IGNhbGN1bGF0ZWQgYnkNCj4gPj4gZnN2ZXJpdHkgdG8gbWFrZSBhIGRlY2lzaW9uIG9uIHdoZXRo ZXIgdGhhdCBzcGVjaWZpYyBmaWxlLCByZXByZXNlbnRlZA0KPiA+PiBieSB0aGUgZGlnZXN0IGlz IGF1dGhvcml6ZWQgZm9yIHRoZSBhY3Rpb25zIHNwZWNpZmllZCBpbiB0aGUgcG9saWN5Lg0KPiA+ Pg0KPiA+PiBBIG1vcmUgY29uY3JldGUgZXhhbXBsZSwgaWYgYW4gSVBFIHBvbGljeSBhdXRob3Ig d3JpdGVzOg0KPiA+Pg0KPiA+PiAgwqDCoMKgIG9wPUVYRUNVVEUgZnN2ZXJpdHlfZGlnZXN0PTxI ZXhEaWdlc3QgPiBhY3Rpb249REVOWQ0KPiA+Pg0KPiA+PiBJUEUgdGFrZXMgdGhlIGRpZ2VzdCBw cm92aWRlZCBieSB0aGlzIHNlY3VyaXR5IGhvb2ssIHN0b3JlcyBpdA0KPiA+PiBpbiBJUEUncyBz ZWN1cml0eSBibG9iIG9uIHRoZSBpbm9kZS4gSWYgdGhpcyBmaWxlIGlzIGxhdGVyDQo+ID4+IGV4 ZWN1dGVkLCBJUEUgY29tcGFyZXMgdGhlIGRpZ2VzdCBzdG9yZWQgaW4gdGhlIExTTSBibG9iLA0K PiA+PiBwcm92aWRlZCBieSB0aGlzIGhvb2ssIGFnYWluc3QgPEhleERpZ2VzdD4gaW4gdGhlIHBv bGljeSwgaWYNCj4gPj4gaXQgbWF0Y2hlcywgaXQgZGVuaWVzIHRoZSBhY2Nlc3MsIHBlcmZvcm1p bmcgYSByZXZvY2F0aW9uDQo+ID4+IG9mIHRoYXQgZmlsZS4NCj4gPiBEbyB5b3UgaGF2ZSBhIGJl dHRlciBleGFtcGxlPyAgVGhpcyBvbmUgaXMgcHJldHR5IHVzZWxlc3Mgc2luY2Ugb25lIGNhbiBn ZXQNCj4gPiBhcm91bmQgaXQganVzdCBieSBleGVjdXRpbmcgYSBmaWxlIHRoYXQgZG9lc24ndCBo YXZlIGZzLXZlcml0eSBlbmFibGVkLg0KPiBIZXJl4oCZcyBhIG1vcmUgY29tcGxldGUgZXhhbXBs ZToNCj4gDQo+ICAgICBwb2xpY3lfbmFtZT3igJ1mcy1leGVjLW9ubHnigJ0gcG9saWN5X3ZlcnNp b249MC4wLjENCj4gICAgIERFRkFVTFQgYWN0aW9uPUFMTE9XDQo+IA0KPiAgICAgREVGQVVMVCBv cD1FWEVDVVRFIGFjdGlvbj1ERU5ZDQo+ICAgICBvcD1FWEVDVVRFIGZzdmVyaXR5X2RpZ2VzdD08 RGlnZXN0PiBhY3Rpb249REVOWQ0KPiAgICAgb3A9RVhFQ1VURSBmc3Zlcml0eV9zaWduYXR1cmU9 VFJVRSBhY3Rpb249QUxMT1cNCj4gDQo+IEV4ZWN1dGlvbiBpcyBwcm9oaWJpdGVkIHVubGVzcyBp dCBpcyBhIHNpZ25lZCBmcy12ZXJpdHkgZmlsZTsNCj4gSG93ZXZlciwgYWZ0ZXIgb25lIG9mIHRo b3NlIGV4ZWN1dGFibGVzIHdhcyBzaWduZWQgYW5kIHB1Ymxpc2hlZCwNCj4gYW4gZXhwbG9pdGFi bGUgdnVsbmVyYWJpbGl0eSBpbiBzYWlkIGV4ZWN1dGFibGUgd2FzIGZvdW5kLCBhIG5ldw0KPiB2 ZXJzaW9uIHdhcyBwdWJsaXNoZWQgd2l0aG91dCB0aGF0IHZ1bG5lcmFiaWxpdHkuIFdlIG5lZWQg dG8NCj4gcmV2b2tlIHRydXN0IGZvciB0aGF0IGV4ZWN1dGFibGUgc2luY2UgaXQgY291bGQgYmUg dXNlZCB0byBleHBsb2l0DQo+IHRoZSBzeXN0ZW0sIHNvIHRoZSBmaXJzdCBydWxlIHByZXZlbnRz IGl0IGZyb20gbWF0Y2hpbmcgdGhlIHNlY29uZC4NCg0KV2l0aCBESUdMSU0sIHJldm9jYXRpb24g d2lsbCBiZSBjb21wbGV0ZWx5IHRyYW5zcGFyZW50IHNpbmNlDQpkaWdlc3RzIG9mIGZpbGVzIGlu IHRoZSBwYWNrYWdlcyBiZWluZyByZW1vdmVkIHdpbGwgYmUgYWxzbyByZW1vdmVkDQpmcm9tIHRo ZSBrZXJuZWwuIFRoZSBuZXh0IHRpbWUgSVBFIHdpbGwgZXZhbHVhdGUgYW4gb2xkIHZlcnNpb24g b2YgdGhlDQpmaWxlIChhc3N1bWluZyB0aGF0IHRoZXJlIHdhcyBhIGNvcHkgc29tZXdoZXJlKSBp dCB3aWxsIHJlYWxpemUgdGhhdA0KdGhlIGRpZ2VzdCBpcyBub3Qga25vd24gYW55bW9yZSBhbmQg d2lsbCBkZW55IGFjY2Vzcy4NCg0KUm9iZXJ0bw0KDQpIVUFXRUkgVEVDSE5PTE9HSUVTIER1ZXNz ZWxkb3JmIEdtYkgsIEhSQiA1NjA2Mw0KTWFuYWdpbmcgRGlyZWN0b3I6IExpIFBlbmcsIFpob25n IFJvbmdodWENCg0KPiA+PiBUaGlzIGJyaW5ncyBtZSB0byB5b3VyIG5leHQgY29tbWVudDoNCj4g Pj4NCj4gPj4+IFRoZSBkaWdlc3QgaXNuJ3QgbWVhbmluZ2Z1bCB3aXRob3V0IGtub3dpbmcgdGhl IGhhc2ggYWxnb3JpdGhtIGl0IHVzZXMuDQo+ID4+IEl0J3MgYXZhaWxhYmxlIGhlcmUsIGJ1dCB5 b3UgYXJlbid0IHBhc3NpbmcgaXQgdG8gdGhpcyBmdW5jdGlvbi4NCj4gPj4NCj4gPj4gVGhlIGRp Z2VzdCBpcyBtZWFuaW5nZnVsIHdpdGhvdXQgdGhlIGFsZ29yaXRobSBpbiB0aGlzIGNhc2UuDQo+ ID4gTm8sIGl0J3Mgbm90Lg0KPiA+DQo+ID4gRGlnZXN0cyBhcmUgbWVhbmluZ2xlc3Mgd2l0aG91 dCBrbm93aW5nIHdoYXQgYWxnb3JpdGhtIHRoZXkgd2VyZSBjcmVhdGVkDQo+IHdpdGguDQo+ID4N Cj4gPiBJZiB5b3VyIHNlY3VyaXR5IHBvbGljeSBpcyBzb21ldGhpbmcgbGlrZSAiVHJ1c3QgdGhl IGZpbGUgd2l0aCBkaWdlc3QgJGZvbyIgYW5kDQo+ID4gbXVsdGlwbGUgaGFzaCBhbGdvcml0aG1z IGFyZSBwb3NzaWJsZSwgdGhlbiB0aGUgYWxvcml0aG0gaW50ZW5kZWQgdG8gYmUgdXNlZA0KPiA+ IG5lZWRzIHRvIGJlIGV4cGxpY2l0bHkgc3BlY2lmaWVkLiAgT3RoZXJ3aXNlIGFueSBhbGdvcml0 aG0gd2l0aCB0aGUgc2FtZSBsZW5ndGgNCj4gPiBkaWdlc3Qgd2lsbCBiZSBhY2NlcHRlZC4gIFRo YXQncyBhIGZhdGFsIGZsYXcgaWYgYW55IG9mIHRoZXNlIGFsZ29yaXRobXMgaXMNCj4gPiBjcnlw dG9ncmFwaGljYWxseSBicm9rZW4gb3Igd2FzIG5ldmVyIGludGVuZGVkIHRvIGJlIGEgY3J5cHRv Z3JhcGhpYw0KPiBhbGdvcml0aG0NCj4gPiBpbiB0aGUgZmlyc3QgcGxhY2UgKGUuZy4sIGEgbm9u LWNyeXB0b2dyYXBoaWMgY2hlY2tzdW0pLg0KPiA+DQo+ID4gQ3J5cHRvc3lzdGVtcyBhbHdheXMg bmVlZCB0byBzcGVjaWZ5IHRoZSBjcnlwdG8gYWxnb3JpdGhtKHMpIHVzZWQ7IHRoZQ0KPiBhZHZl cnNhcnkNCj4gPiBtdXN0IG5vdCBiZSBhbGxvd2VkIHRvIGNob29zZSB0aGUgYWxnb3JpdGhtcy4N Cj4gT29mLiBZb3XigJlyZSBjb21wbGV0ZWx5IHJpZ2h0LiBUaGUgcGFydCBJIHdhcyBtaXNzaW5n IGlzIHRoYXQgYXMgdGltZQ0KPiBnb2VzIG9uLA0KPiB0aGUgc2VjdXJlIHN0YXR1cyBvZiB0aGVz ZSBjcnlwdG9ncmFwaGljIGFsZ29yaXRobXMgd2lsbCBjaGFuZ2UsIGFuZA0KPiB0aGVuIHdl4oCZ bGwNCj4gbmVlZCBhIHdheSB0byBtaWdyYXRlIGJldHdlZW4gYWxnb3JpdGhtcy4gQWRkaXRpb25h bGx5LCB0b29saW5nIGFuZCB0aGUNCj4gbGlrZSB3aWxsDQo+IGxpa2VseSBuZWVkIGEgd2F5IHRv IGlkZW50aWZ5IHRoaXMgZnJvbSB0aGUgcG9saWN5IHRleHQgd2l0aG91dA0KPiBjb25zdWx0aW5n IGFueXRoaW5nDQo+IGVsc2UuIFRoaXMgaXMgYSBtYWpvciBvdmVyc2lnaHQgZm9yIGdlbmVyYWwg dXNlLCB0aGUgc3lzdGVtIHRoYXQgdGhpcw0KPiB3YXMgb3JpZ2luYWxseQ0KPiBkZXNpZ25lZCBm b3Igb25seSBoYWQgc3VwcG9ydCBmb3IgYSBzdWJzZXQgb2YgdGhlIHNoYTItZmFtaWx5IChhbGwN Cj4gc2VwYXJhdGUgbGVuZ3RocykNCj4gc28gSSBoYWRu4oCZdCBldmVuIGNvbnNpZGVyZWQgaXQu DQo+IA0KPiBJdCdzIHRyaXZpYWwgdG8gY29ycmVjdCBpbiBhIG1pbmltYWwgYW1vdW50IG9mIGNv ZGUsIG1ha2luZyB0aGUgcG9saWN5DQo+IGV4cHJlc3MgdGhlDQo+IGRpZ2VzdCBsaWtlIHNvOg0K PiANCj4gICAgIGZzdmVyaXR5X2RpZ2VzdD08YWxnbz46PGRpZ2VzdD4NCj4gDQo+IGFuZCBjaGFu Z2UgdGhlIGFyZ3VtZW50IHBhc3NlZCB0byB0aGUgTFNNIGhvb2sgdG8gYWNjZXB0IGEgc3RydWN0 dXJlDQo+IGNvbnRhaW5pbmcgdGhlc2UNCj4gdHdvIGZpZWxkcy4NCj4gDQo+ID4gSSdtIG5vdCBz dXJlIGhvdyB0aGVzZSBwYXRjaGVzIGNhbiBiZSB0YWtlbiBzZXJpb3VzbHkgd2hlbiB0aGV5J3Jl IGdldHRpbmcNCj4gdGhpcw0KPiA+IHNvcnQgb2YgdGhpbmcgd3JvbmcuDQo+IFRoYXQgc2FpZCwg SSwgcGVyc29uYWxseSwgaG9wZSB0aGF0IGFuIGhvbmVzdCBtaXN0YWtlLCBpbiBhIHNlcmllcw0K PiBzdWJtaXR0ZWQgYXMNCj4gYW4gUkZDIHN1Ym1pdHRlZCBpbiBnb29kIGZhaXRoLCBpcyBub3Qg YSByZWFzb24gdG8gZGlzY291bnQgYW4gZW50aXJlIHBhdGNoDQo+IHNlcmllcy4NCj4gDQo+IEkg aG9wZSB5b3UgY29udGludWUgdG8gcHJvdmlkZSBmZWVkYmFjaywgYXMgaXQgaXMgaW52YWx1YWJs ZSB0byBtYWtpbmcgdGhpcw0KPiBzeXN0ZW0gYmV0dGVyLCBhbmQgbWFraW5nIG1lLCBwZXJzb25h bGx5LCBhIGJldHRlciBkZXZlbG9wZXIuDQo+ID4+Pj4gKwkJCQkJRlNfVkVSSVRZX1NJR05BVFVS RV9TRUNfTkFNRSwNCj4gPj4+PiArCQkJCQlzaWduYXR1cmUsIHNpZ19zaXplLCAwKTsNCj4gPj4+ IFRoaXMgaXMgb25seSBmb3IgZnMtdmVyaXR5IGJ1aWx0LWluIHNpZ25hdHVyZXMgd2hpY2ggYXJl bid0IHRoZSBvbmx5IHdheSB0byBkbw0KPiA+Pj4gc2lnbmF0dXJlcyB3aXRoIGZzLXZlcml0eS4g IEFyZSB5b3Ugc3VyZSB0aGlzIGlzIHdoYXQgeW91J3JlIGxvb2tpbmcgZm9yPw0KPiA+PiBDb3Vs ZCB5b3UgZWxhYm9yYXRlIG9uIHRoZSBvdGhlciBzaWduYXR1cmUgdHlwZXMgdGhhdCBjYW4gYmUg dXNlZA0KPiA+PiB3aXRoIGZzLXZlcml0eT8gSeKAmW0gOTklIHN1cmUgdGhpcyBpcyB3aGF0IEni gJltIGxvb2tpbmcgZm9yIGFzIHRoaXMNCj4gPj4gaXMgYSBzaWduYXR1cmUgdmFsaWRhdGVkIGlu IHRoZSBrZXJuZWwgYWdhaW5zdCB0aGUgZnMtdmVyaXR5IGtleXJpbmcNCj4gPj4gYXMgcGFydCBv ZiB0aGUg4oCcZnN2ZXJpdHkgZW5hYmxl4oCdIHV0aWxpdHkuDQo+ID4+DQo+ID4+IEl0J3MgaW1w b3J0YW50IHRoYXQgdGhlIHNpZ25hdHVyZSBpcyB2YWxpZGF0ZWQgaW4gdGhlIGtlcm5lbCwgYXMN Cj4gPj4gdXNlcnNwYWNlIGlzIGNvbnNpZGVyZWQgdW50cnVzdGVkIHVudGlsIHRoZSBzaWduYXR1 cmUgaXMgdmFsaWRhdGVkDQo+ID4+IGZvciB0aGlzIGNhc2UuDQo+ID4+DQo+ID4+PiBDYW4geW91 IGVsYWJvcmF0ZSBvbiB5b3VyIHVzZSBjYXNlIGZvciBmcy12ZXJpdHkgYnVpbHQtaW4gc2lnbmF0 dXJlcywNCj4gPj4gU3VyZSwgc2lnbmF0dXJlcywgbGlrZSBkaWdlc3RzLCBhbHNvIHByb3ZpZGUg YSB3YXkgdG8gcHJvdmUgaW50ZWdyaXR5LA0KPiA+PiBhbmQgdGhlIHRydXN0IGNvbXBvbmVudCBj b21lcyBmcm9tIHRoZSB2YWxpZGF0aW9uIGFnYWluc3QgdGhlIGtleXJpbmcsDQo+ID4+IGFzIG9w cG9zZWQgdG8gYSBmaXhlZCB2YWx1ZSBpbiBJUEXigJlzIHBvbGljeS4gVGhlIHVzZSBjYXNlIGZv ciBmcy12ZXJpdHkNCj4gPj4gYnVpbHQtaW4gc2lnbmF0dXJlcyBpcyB0aGF0IHdlIGhhdmUgYSBy dyBleHQ0IGZpbGVzeXN0ZW0gdGhhdCBoYXMgc29tZQ0KPiA+PiBleGVjdXRhYmxlIGZpbGVzLCBh bmQgd2Ugd2FudCB0byBoYXZlIGEgZXhlY3V0aW9uIHBvbGljeSAodGhyb3VnaCBJUEUpDQo+ID4+ IHRoYXQgb25seSBfdHJ1c3RlZF8gZXhlY3V0YWJsZXMgY2FuIHJ1bi4gUGVyZiBpcyBpbXBvcnRh bnQgaGVyZSwgaGVuY2UNCj4gPj4gZnMtdmVyaXR5Lg0KPiA+IE1vc3QgdXNlcnMgb2YgZnMtdmVy aXR5IGJ1aWx0LWluIHNpZ25hdHVyZXMgaGF2ZSBhY3R1YWxseSBiZWVuIGVuZm9yY2luZyB0aGVp cg0KPiA+IHNlY3VyaXR5IHBvbGljeSBpbiB1c2Vyc3BhY2UsIGJ5IGNoZWNraW5nIHdoZXRoZXIg c3BlY2lmaWMgZmlsZXMgaGF2ZSB0aGUNCj4gPiBmcy12ZXJpdHkgYml0IHNldCBvciBub3QuICBT dWNoIHVzZXJzIGNvdWxkIGp1c3Qgc3RvcmUgYW5kIHZlcmlmeSBzaWduYXR1cmVzIGluDQo+ID4g dXNlcnNwYWNlIGluc3RlYWQsIHdpdGhvdXQgYW55IGtlcm5lbCBpbnZvbHZlbWVudC4gIFNvIHRo YXQncyB3aGF0IEkndmUgYmVlbg0KPiA+IHJlY29tbWVuZGluZyAod2l0aCBsaW1pdGVkIHN1Y2Nl c3MsIHVuZm9ydHVuYXRlbHkpLg0KPiBJIGJlbGlldmUgdGhlIGRpZmZlcmVuY2UgaW4gc2VjdXJp dHkgbW9kZWxzIGNvbWVzIGZyb20gdGhpcyBsaW5lDQo+IChlbXBoYXNpcywgbWluZSk6DQo+IA0K PiAgPiBieSBjaGVja2luZyB3aGV0aGVyIF9zcGVjaWZpYyBmaWxlc18gaGF2ZSB0aGUgZnMtdmVy aXR5IGJpdCBzZXQgb3Igbm90Lg0KPiANCj4gSVBFIHBvbGljeSBpcyB3cml0dGVuIGJ5IGEgc3lz dGVtIGF1dGhvciB3aG8gb3ducyB0aGUgc3lzdGVtLCBidXQgbWF5DQo+IG5vdCBoYXZlIDEwMCUg Y29udHJvbCBvdmVyIGFsbCBvZiB0aGUgYXBwbGljYXRpb24gY29kZSBydW5uaW5nIG9uIHRoZQ0K PiBzeXN0ZW0uwqAgSW4gdGhlIGNhc2Ugb2YgYXBwbGljYXRpb25zIHdoaWNoIGFyZSBub3QgYXdh cmUgb2YgSVBFLCB0aGUgcG9saWN5DQo+IGNhbiBzdGlsbCBlbmZvcmNlIHRoYXQgYWxsIG9mIHRo ZSBjb2RlIHJ1bm5pbmcgb24gdGhlIHN5c3RlbSBpcyB0cnVzdGVkLg0KPiANCj4gQW4gZXhhbXBs ZSBhdHRhY2sgb2Ygd2hhdCB3ZSdyZSB0cnlpbmcgdG8gbWl0aWdhdGU6wqAgQSBob3N0aWxlIGFj dG9yDQo+IGNvdWxkIGRvd25sb2FkcyBhIGJpbmFyeSBvZmYgdGhlIGludGVybmV0IHdpdGggYWxs IHJlcXVpcmVkDQo+IGRlcGVuZGVuY2llcyBpbnRvIHRtcGZzIGFuZCBydW5zIHRoZWlyIG1hbGlj aW91cyBleGVjdXRhYmxlLg0KPiANCj4gV2l0aCB1cyB2YWxpZGF0aW5nIHRoaXMgaW5mb3JtYXRp b24gaW4gdGhlIGtlcm5lbCwgZXZlbiBpZiB0aGUgYXR0YWNrZXINCj4gZG93bmxvYWRlZCB0aGVp ciBtYWxpY2lvdXMgZXhlY3V0YWJsZSB0byAvdG1wIGFuZCBleGVjdXRlZCBpdCwgaXQgd291bGQN Cj4gc3RpbGwgZmFpbCB0byBwYXNzIHBvbGljeSBhbmQgYmUgZGVuaWVkLCBhcyB0aGUga2VybmVs IGlzIHRoZSBjb21tb24NCj4gZW50cnlwb2ludCBhY3Jvc3MgYWxsIGV4ZWN1dGFibGVzLg0KPiAN Cj4gT3BlcmF0aW9uYWxseSwgdGhpcyBfY291bGRfIGJlIGRvbmUgYnkgZGlnZXN0LCBidXQgdGhl IHBvbGljaWVzIHdvdWxkDQo+IHF1aWNrbHkgYmVjb21lIGdpZ2FudGljIG9uIGEgY2FydG9vbmlz aCBwcm9wb3J0aW9uLCBhcyB5b3UnbGwgaGF2ZSB0bw0KPiBhdXRob3JpemUgZXZlcnkgc2luZ2xl IGV4ZWN1dGFibGUgYW5kIGRlcGVuZGVuY3kgYnkgZGlnZXN0IC0gYW5kDQo+IHRoZXJlIHdvdWxk IGJlIGEgY29tcGxpY2F0ZWQgdXBkYXRlIHN0b3J5IGFzIHRoZSBwb2xpY3kgd291bGQgaGF2ZSB0 bw0KPiBiZSB1cGRhdGVkIHRvIG9uYm9hcmQgbmV3IGRpZ2VzdHMuDQo+IA0KPiBCeSB1c2luZyBz aWduYXR1cmVzLCB3ZSBjYW4gcHJldmVudCB0aGUgcG9saWN5IHVwZGF0ZSwgYW5kIGtlZXAgdGhl DQo+IHBvbGljeSBzaXplIHNtYWxsLg0KPiANCj4gPiBJZiB5b3UgcmVhbGx5IGRvIG5lZWQgaW4t a2VybmVsIHNpZ25hdHVyZSB2ZXJpZmljYXRpb24sIHRoZW4gdGhhdCBtYXkgYmUgYQ0KPiA+IGxl Z2l0aW1hdGUgdXNlIGNhc2UgZm9yIHRoZSBmcy12ZXJpdHkgYnVpbHQtaW4gc2lnbmF0dXJlcywg YWx0aG91Z2ggSSBkbyB3b25kZXINCj4gPiB3aHkgeW91IGFyZW4ndCB1c2luZyBJTUEgYW5kIGl0 cyBzaWduYXR1cmUgbWVjaGFuaXNtIGluc3RlYWQuDQo+ID4NCj4gPiAtIEVyaWMNCg==