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=-15.3 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER, INCLUDES_PATCH,MAILING_LIST_MULTI,NICE_REPLY_A,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 70C59C433E0 for ; Mon, 22 Feb 2021 16:41:06 +0000 (UTC) Received: from merlin.infradead.org (merlin.infradead.org [205.233.59.134]) (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 2432A64E5C for ; Mon, 22 Feb 2021 16:41:06 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 2432A64E5C Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=redhat.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=merlin.20170209; h=Sender:Content-Type: Content-Transfer-Encoding:Cc:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:In-Reply-To:MIME-Version:Date:Message-ID:References: To:From:Subject:Reply-To:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=WLv3gNyggLMEiMGkXmPodA9dsuRlSLxmJkLZ5vML+1Y=; b=ETlPXcxJONH8eHu0MnEdbYPjm 7j7ct08mGINwgF4n57wSY1lj5Cg7QSV6kOr45j6RFxQeePYHWxhQQnFp8Ao6v42cMaqwYgDPTjwVP 6tIPiR2JimeHTT09oNh8UF6kYj/XWjzoDOygOgVHk1glMNzLg8DOk/deahqcV/CGGVNQsdRAdlmXt zzNLO5ev5BN7ezgmKgAZIU+y8ZTtxnDrGc9KdrHUx2o/GH93z6Up89s+jjlJv37zWF0uBLekcJ289 bcsIWHXwO6wNa7qbc4zcOIY0GPCMHTou2pnAatAxojfBq7CFF0U2/N75hagAuYNJ+y2Frg6hE/9ZG WXrQSY8/g==; Received: from localhost ([::1] helo=merlin.infradead.org) by merlin.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1lEEFQ-0004FM-BF; Mon, 22 Feb 2021 16:39:48 +0000 Received: from us-smtp-delivery-124.mimecast.com ([216.205.24.124]) by merlin.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1lEEFK-0004Ce-7g for linux-arm-kernel@lists.infradead.org; Mon, 22 Feb 2021 16:39:44 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1614011981; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=GUJtY9R2iZ6J1VlDQs1KAeFyAZBypUCoHyYC6H1JgCo=; b=LyR7zvl+g4X622G9AsopzdApdl9BtjUFFUbf4rYs1GoLVfpO1Na82jAas7gV6H8NfWa6ZY I49ui+VEI5Dtcm2Qb4XQIEkVch+O0AY1CvE3ji3Mvev0XVFElwa0zWvf+ZZZCcHnpmeN6s 3DIKI/Dqeq6XhpLz4cUCF4tcsZUAsSs= 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-295-i7f3EASKP-qVMmcsUMFMqQ-1; Mon, 22 Feb 2021 11:39:38 -0500 X-MC-Unique: i7f3EASKP-qVMmcsUMFMqQ-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 591BE801965; Mon, 22 Feb 2021 16:39:35 +0000 (UTC) Received: from [10.36.115.16] (ovpn-115-16.ams2.redhat.com [10.36.115.16]) by smtp.corp.redhat.com (Postfix) with ESMTP id F117719C45; Mon, 22 Feb 2021 16:39:30 +0000 (UTC) Subject: Re: [PATCH] mm, kasan: don't poison boot memory From: David Hildenbrand To: George Kennedy , Andrey Konovalov References: <487751e1ccec8fcd32e25a06ce000617e96d7ae1.1613595269.git.andreyknvl@google.com> <797fae72-e3ea-c0b0-036a-9283fa7f2317@oracle.com> <1ac78f02-d0af-c3ff-cc5e-72d6b074fc43@redhat.com> <56c97056-6d8b-db0e-e303-421ee625abe3@redhat.com> Organization: Red Hat GmbH Message-ID: <4c7351e2-e97c-e740-5800-ada5504588aa@redhat.com> Date: Mon, 22 Feb 2021 17:39:29 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.7.0 MIME-Version: 1.0 In-Reply-To: <56c97056-6d8b-db0e-e303-421ee625abe3@redhat.com> Content-Language: en-US X-Scanned-By: MIMEDefang 2.84 on 10.5.11.23 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20210222_113942_406546_89D26588 X-CRM114-Status: GOOD ( 38.82 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Linux ARM , Marco Elver , Dhaval Giani , Mike Rapoport , Catalin Marinas , Kevin Brodsky , Will Deacon , Branislav Rankov , kasan-dev , LKML , Christoph Hellwig , Linux Memory Management List , Alexander Potapenko , Evgenii Stepanov , Andrey Ryabinin , Konrad Rzeszutek Wilk , Andrew Morton , Vincenzo Frascino , Peter Collingbourne , Dmitry Vyukov Content-Transfer-Encoding: base64 Content-Type: text/plain; charset="utf-8"; Format="flowed" Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org T24gMjIuMDIuMjEgMTc6MTMsIERhdmlkIEhpbGRlbmJyYW5kIHdyb3RlOgo+IE9uIDIyLjAyLjIx IDE2OjEzLCBHZW9yZ2UgS2VubmVkeSB3cm90ZToKPj4KPj4KPj4gT24gMi8yMi8yMDIxIDQ6NTIg QU0sIERhdmlkIEhpbGRlbmJyYW5kIHdyb3RlOgo+Pj4gT24gMjAuMDIuMjEgMDA6MDQsIEdlb3Jn ZSBLZW5uZWR5IHdyb3RlOgo+Pj4+Cj4+Pj4KPj4+PiBPbiAyLzE5LzIwMjEgMTE6NDUgQU0sIEdl b3JnZSBLZW5uZWR5IHdyb3RlOgo+Pj4+Pgo+Pj4+Pgo+Pj4+PiBPbiAyLzE4LzIwMjEgNzowOSBQ TSwgQW5kcmV5IEtvbm92YWxvdiB3cm90ZToKPj4+Pj4+IE9uIEZyaSwgRmViIDE5LCAyMDIxIGF0 IDE6MDYgQU0gR2VvcmdlIEtlbm5lZHkKPj4+Pj4+IDxnZW9yZ2Uua2VubmVkeUBvcmFjbGUuY29t PiB3cm90ZToKPj4+Pj4+Pgo+Pj4+Pj4+Cj4+Pj4+Pj4gT24gMi8xOC8yMDIxIDM6NTUgQU0sIERh dmlkIEhpbGRlbmJyYW5kIHdyb3RlOgo+Pj4+Pj4+PiBPbiAxNy4wMi4yMSAyMTo1NiwgQW5kcmV5 IEtvbm92YWxvdiB3cm90ZToKPj4+Pj4+Pj4+IER1cmluZyBib290LCBhbGwgbm9uLXJlc2VydmVk IG1lbWJsb2NrIG1lbW9yeSBpcyBleHBvc2VkIHRvIHRoZQo+Pj4+Pj4+Pj4gYnVkZHkKPj4+Pj4+ Pj4+IGFsbG9jYXRvci4gUG9pc29uaW5nIGFsbCB0aGF0IG1lbW9yeSB3aXRoIEtBU0FOIGxlbmd0 aGVucyBib290Cj4+Pj4+Pj4+PiB0aW1lLAo+Pj4+Pj4+Pj4gZXNwZWNpYWxseSBvbiBzeXN0ZW1z IHdpdGggbGFyZ2UgYW1vdW50IG9mIFJBTS4gVGhpcyBwYXRjaCBtYWtlcwo+Pj4+Pj4+Pj4gcGFn ZV9hbGxvYyB0byBub3QgY2FsbCBrYXNhbl9mcmVlX3BhZ2VzKCkgb24gYWxsIG5ldyBtZW1vcnku Cj4+Pj4+Pj4+Pgo+Pj4+Pj4+Pj4gX19mcmVlX3BhZ2VzX2NvcmUoKSBpcyB1c2VkIHdoZW4gZXhw b3NpbmcgZnJlc2ggbWVtb3J5IGR1cmluZwo+Pj4+Pj4+Pj4gc3lzdGVtCj4+Pj4+Pj4+PiBib290 IGFuZCB3aGVuIG9ubGluaW5nIG1lbW9yeSBkdXJpbmcgaG90cGx1Zy4gVGhpcyBwYXRjaCBhZGRz IGEgbmV3Cj4+Pj4+Pj4+PiBGUElfU0tJUF9LQVNBTl9QT0lTT04gZmxhZyBhbmQgcGFzc2VzIGl0 IHRvIF9fZnJlZV9wYWdlc19vaygpCj4+Pj4+Pj4+PiB0aHJvdWdoCj4+Pj4+Pj4+PiBmcmVlX3Bh Z2VzX3ByZXBhcmUoKSBmcm9tIF9fZnJlZV9wYWdlc19jb3JlKCkuCj4+Pj4+Pj4+Pgo+Pj4+Pj4+ Pj4gVGhpcyBoYXMgbGl0dGxlIGltcGFjdCBvbiBLQVNBTiBtZW1vcnkgdHJhY2tpbmcuCj4+Pj4+ Pj4+Pgo+Pj4+Pj4+Pj4gQXNzdW1pbmcgdGhhdCB0aGVyZSBhcmUgbm8gcmVmZXJlbmNlcyB0byBu ZXdseSBleHBvc2VkIHBhZ2VzCj4+Pj4+Pj4+PiBiZWZvcmUgdGhleQo+Pj4+Pj4+Pj4gYXJlIGV2 ZXIgYWxsb2NhdGVkLCB0aGVyZSB3b24ndCBiZSBhbnkgaW50ZW5kZWQgKGJ1dCBidWdneSkKPj4+ Pj4+Pj4+IGFjY2Vzc2VzIHRvCj4+Pj4+Pj4+PiB0aGF0IG1lbW9yeSB0aGF0IEtBU0FOIHdvdWxk IG5vcm1hbGx5IGRldGVjdC4KPj4+Pj4+Pj4+Cj4+Pj4+Pj4+PiBIb3dldmVyLCB3aXRoIHRoaXMg cGF0Y2gsIEtBU0FOIHN0b3BzIGRldGVjdGluZyB3aWxkIGFuZCBsYXJnZQo+Pj4+Pj4+Pj4gb3V0 LW9mLWJvdW5kcyBhY2Nlc3NlcyB0aGF0IGhhcHBlbiB0byBsYW5kIG9uIGEgZnJlc2ggbWVtb3J5 IHBhZ2UKPj4+Pj4+Pj4+IHRoYXQKPj4+Pj4+Pj4+IHdhcyBuZXZlciBhbGxvY2F0ZWQuIFRoaXMg aXMgdGFrZW4gYXMgYW4gYWNjZXB0YWJsZSB0cmFkZS1vZmYuCj4+Pj4+Pj4+Pgo+Pj4+Pj4+Pj4g QWxsIG1lbW9yeSBhbGxvY2F0ZWQgbm9ybWFsbHkgd2hlbiB0aGUgYm9vdCBpcyBvdmVyIGtlZXBz IGdldHRpbmcKPj4+Pj4+Pj4+IHBvaXNvbmVkIGFzIHVzdWFsLgo+Pj4+Pj4+Pj4KPj4+Pj4+Pj4+ IFNpZ25lZC1vZmYtYnk6IEFuZHJleSBLb25vdmFsb3YgPGFuZHJleWtudmxAZ29vZ2xlLmNvbT4K Pj4+Pj4+Pj4+IENoYW5nZS1JZDogSWFlNmIxZTRiYjgyMTY5NTVmZmMxNGFmMjU1YTdlYWFhNmYz NTMyNGQKPj4+Pj4+Pj4gTm90IHN1cmUgdGhpcyBpcyB0aGUgcmlnaHQgdGhpbmcgdG8gZG8sIHNl ZQo+Pj4+Pj4+Pgo+Pj4+Pj4+PiBodHRwczovL2xrbWwua2VybmVsLm9yZy9yL2JjZjg5MjVkLTA5 NDktM2ZlMS1iYWE4LWNjNTM2YzUyOTg2MEBvcmFjbGUuY29tCj4+Pj4+Pj4+Cj4+Pj4+Pj4+Cj4+ Pj4+Pj4+Cj4+Pj4+Pj4+IFJldmVyc2luZyB0aGUgb3JkZXIgaW4gd2hpY2ggbWVtb3J5IGdldHMg YWxsb2NhdGVkICsgdXNlZCBkdXJpbmcKPj4+Pj4+Pj4gYm9vdAo+Pj4+Pj4+PiAoaW4gYSBwYXRj aCBieSBtZSkgbWlnaHQgaGF2ZSByZXZlYWxlZCBhbiBpbnZhbGlkIG1lbW9yeSBhY2Nlc3MKPj4+ Pj4+Pj4gZHVyaW5nCj4+Pj4+Pj4+IGJvb3QuCj4+Pj4+Pj4+Cj4+Pj4+Pj4+IEkgc3VzcGVjdCB0 aGF0IHRoYXQgaXNzdWUgd291bGQgbm8gbG9uZ2VyIGdldCBkZXRlY3RlZCB3aXRoIHlvdXIKPj4+ Pj4+Pj4gcGF0Y2gsIGFzIHRoZSBpbnZhbGlkIG1lbW9yeSBhY2Nlc3Mgd291bGQgc2ltcGx5IG5v dCBnZXQgZGV0ZWN0ZWQuCj4+Pj4+Pj4+IE5vdywgSSBjYW5ub3QgcHJvdmUgdGhhdCA6KQo+Pj4+ Pj4+IFNpbmNlIERhdmlkJ3MgcGF0Y2ggd2UncmUgaGF2aW5nIHRyb3VibGUgd2l0aCB0aGUgaUJG VCBBQ1BJIHRhYmxlLAo+Pj4+Pj4+IHdoaWNoCj4+Pj4+Pj4gaXMgbWFwcGVkIGluIHZpYSBrbWFw KCkgLSBzZWUgYWNwaV9tYXAoKSBpbiAiZHJpdmVycy9hY3BpL29zbC5jIi4KPj4+Pj4+PiBLQVNB Tgo+Pj4+Pj4+IGRldGVjdHMgdGhhdCBpdCBpcyBiZWluZyB1c2VkIGFmdGVyIGZyZWUgd2hlbiBp YmZ0X2luaXQoKSBhY2Nlc3Nlcwo+Pj4+Pj4+IHRoZQo+Pj4+Pj4+IGlCRlQgdGFibGUsIGJ1dCBh cyBvZiB5ZXQgd2UgY2FuJ3QgZmluZCB3aGVyZSBpdCBnZXQncyBmcmVlZCAod2UndmUKPj4+Pj4+ PiBpbnN0cnVtZW50ZWQgY2FsbHMgdG8ga3VubWFwKCkpLgo+Pj4+Pj4gTWF5YmUgaXQgZG9lc24n dCBnZXQgZnJlZWQsIGJ1dCB3aGF0IHlvdSBzZWUgaXMgYSB3aWxkIG9yIGEgbGFyZ2UKPj4+Pj4+ IG91dC1vZi1ib3VuZHMgYWNjZXNzLiBTaW5jZSBLQVNBTiBtYXJrcyBhbGwgbWVtb3J5IGFzIGZy ZWVkIGR1cmluZyB0aGUKPj4+Pj4+IG1lbWJsb2NrLT5wYWdlX2FsbG9jIHRyYW5zaXRpb24sIHN1 Y2ggYnVncyBjYW4gbWFuaWZlc3QgYXMKPj4+Pj4+IHVzZS1hZnRlci1mcmVlcy4KPj4+Pj4KPj4+ Pj4gSXQgZ2V0cyBmcmVlZCBhbmQgcmUtdXNlZC4gQnkgdGhlIHRpbWUgdGhlIGlCRlQgdGFibGUg aXMgYWNjZXNzZWQgYnkKPj4+Pj4gaWJmdF9pbml0KCkgdGhlIHBhZ2UgaGFzIGJlZW4gb3Zlci13 cml0dGVuLgo+Pj4+Pgo+Pj4+PiBTZXR0aW5nIHBhZ2UgZmxhZ3MgbGlrZSB0aGUgZm9sbG93aW5n IGJlZm9yZSB0aGUgY2FsbCB0byBrbWFwKCkKPj4+Pj4gcHJldmVudHMgdGhlIGlCRlQgdGFibGUg cGFnZSBmcm9tIGJlaW5nIGZyZWVkOgo+Pj4+Cj4+Pj4gQ2xlYW5lZCB1cCB2ZXJzaW9uOgo+Pj4+ Cj4+Pj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvYWNwaS9vc2wuYyBiL2RyaXZlcnMvYWNwaS9vc2wu Ywo+Pj4+IGluZGV4IDA0MThmZWIuLjhmMGE4ZTcgMTAwNjQ0Cj4+Pj4gLS0tIGEvZHJpdmVycy9h Y3BpL29zbC5jCj4+Pj4gKysrIGIvZHJpdmVycy9hY3BpL29zbC5jCj4+Pj4gQEAgLTI4Nyw5ICsy ODcsMTIgQEAgc3RhdGljIHZvaWQgX19pb21lbSAqYWNwaV9tYXAoYWNwaV9waHlzaWNhbF9hZGRy ZXNzCj4+Pj4gcGdfb2ZmLCB1bnNpZ25lZCBsb25nIHBnX3N6KQo+Pj4+Cj4+Pj4gICDCoCDCoMKg wqDCoCBwZm4gPSBwZ19vZmYgPj4gUEFHRV9TSElGVDsKPj4+PiAgIMKgIMKgwqDCoMKgIGlmIChz aG91bGRfdXNlX2ttYXAocGZuKSkgewo+Pj4+ICvCoMKgwqAgwqDCoMKgIHN0cnVjdCBwYWdlICpw YWdlID0gcGZuX3RvX3BhZ2UocGZuKTsKPj4+PiArCj4+Pj4gICDCoCDCoMKgwqDCoCDCoMKgwqAg aWYgKHBnX3N6ID4gUEFHRV9TSVpFKQo+Pj4+ICAgwqAgwqDCoMKgwqAgwqDCoMKgIMKgwqDCoCBy ZXR1cm4gTlVMTDsKPj4+PiAtwqDCoMKgIMKgwqDCoCByZXR1cm4gKHZvaWQgX19pb21lbSBfX2Zv cmNlICopa21hcChwZm5fdG9fcGFnZShwZm4pKTsKPj4+PiArwqDCoMKgIMKgwqDCoCBTZXRQYWdl UmVzZXJ2ZWQocGFnZSk7Cj4+Pj4gK8KgwqDCoCDCoMKgwqAgcmV0dXJuICh2b2lkIF9faW9tZW0g X19mb3JjZSAqKWttYXAocGFnZSk7Cj4+Pj4gICDCoCDCoMKgwqDCoCB9IGVsc2UKPj4+PiAgIMKg IMKgwqDCoMKgIMKgwqDCoCByZXR1cm4gYWNwaV9vc19pb3JlbWFwKHBnX29mZiwgcGdfc3opOwo+ Pj4+ICAgwqAgwqB9Cj4+Pj4gQEAgLTI5OSw5ICszMDIsMTIgQEAgc3RhdGljIHZvaWQgYWNwaV91 bm1hcChhY3BpX3BoeXNpY2FsX2FkZHJlc3MKPj4+PiBwZ19vZmYsIHZvaWQgX19pb21lbSAqdmFk ZHIpCj4+Pj4gICDCoCDCoMKgwqDCoCB1bnNpZ25lZCBsb25nIHBmbjsKPj4+Pgo+Pj4+ICAgwqAg wqDCoMKgwqAgcGZuID0gcGdfb2ZmID4+IFBBR0VfU0hJRlQ7Cj4+Pj4gLcKgwqDCoCBpZiAoc2hv dWxkX3VzZV9rbWFwKHBmbikpCj4+Pj4gLcKgwqDCoCDCoMKgwqAga3VubWFwKHBmbl90b19wYWdl KHBmbikpOwo+Pj4+IC3CoMKgwqAgZWxzZQo+Pj4+ICvCoMKgwqAgaWYgKHNob3VsZF91c2Vfa21h cChwZm4pKSB7Cj4+Pj4gK8KgwqDCoCDCoMKgwqAgc3RydWN0IHBhZ2UgKnBhZ2UgPSBwZm5fdG9f cGFnZShwZm4pOwo+Pj4+ICsKPj4+PiArwqDCoMKgIMKgwqDCoCBDbGVhclBhZ2VSZXNlcnZlZChw YWdlKTsKPj4+PiArwqDCoMKgIMKgwqDCoCBrdW5tYXAocGFnZSk7Cj4+Pj4gK8KgwqDCoCB9IGVs c2UKPj4+PiAgIMKgIMKgwqDCoMKgIMKgwqDCoCBpb3VubWFwKHZhZGRyKTsKPj4+PiAgIMKgIMKg fQo+Pj4+Cj4+Pj4gRGF2aWQsIHRoZSBhYm92ZSB3b3JrcywgYnV0IHdvbmRlcmluZyB3aHkgaXQg aXMgbm93IG5lY2Vzc2FyeS4ga3VubWFwKCkKPj4+PiBpcyBub3QgaGl0LiBXaGF0IG90aGVyIHdh eXMgY291bGQgYSBwYWdlIG1hcHBlZCB2aWEga21hcCgpIGJlIHVubWFwcGVkPwo+Pj4+Cj4+Pgo+ Pj4gTGV0IG1lIGxvb2sgaW50byB0aGUgY29kZSAuLi4gSSBoYXZlIGxpdHRsZSBleHBlcmllbmNl IHdpdGggQUNQSQo+Pj4gZGV0YWlscywgc28gYmVhciB3aXRoIG1lLgo+Pj4KPj4+IEkgYXNzdW1l IHRoYXQgYWNwaV9tYXAoKS9hY3BpX3VubWFwKCkgbWFwIHNvbWUgZmlybXdhcmUgYmxvYiB0aGF0 IGlzCj4+PiBwcm92aWRlZCB2aWEgZmlybXdhcmUvYmlvcy8uLi4gdG8gdXMuCj4+Pgo+Pj4gc2hv dWxkX3VzZV9rbWFwKCkgdGVsbHMgdXMgd2hldGhlcgo+Pj4gYSkgd2UgaGF2ZSBhICJzdHJ1Y3Qg cGFnZSIgYW5kIHNob3VsZCBrbWFwKCkgdGhhdCBvbmUKPj4+IGIpIHdlIGRvbid0IGhhdmUgYSAi c3RydWN0IHBhZ2UiIGFuZCBzaG91bGQgaW9yZW1hcC4KPj4+Cj4+PiBBcyBpdCBpcyBhIGJsb2Is IHRoZSBmaXJtd2FyZSBzaG91bGQgYWx3YXlzIHJlc2VydmUgdGhhdCBtZW1vcnkgcmVnaW9uCj4+ PiB2aWEgbWVtYmxvY2sgKGUuZy4sIG1lbWJsb2NrX3Jlc2VydmUoKSksIHN1Y2ggdGhhdCB3ZSBl aXRoZXIKPj4+IDEpIGRvbid0IGNyZWF0ZSBhIG1lbW1hcCAoInN0cnVjdCBwYWdlIikgYXQgYWxs ICgtPiBjYXNlIGIpICkKPj4+IDIpIGlmIHdlIGhhdmUgdG8gY3JlYXRlIGUgbWVtbWFwLCB3ZSBt YXJrIHRoZSBwYWdlIFBHX3Jlc2VydmVkIGFuZAo+Pj4gICDCoMKgICpuZXZlciogZXhwb3NlIGl0 IHRvIHRoZSBidWRkeSAoLT4gY2FzZSBhKSApCj4+Pgo+Pj4KPj4+IEFyZSB5b3UgdGVsbGluZyBt ZSB0aGF0IGluIHRoaXMgY2FzZSB3ZSBtaWdodCBoYXZlIGEgbWVtbWFwIGZvciB0aGUgSFcKPj4+ IGJsb2IgdGhhdCBpcyAqbm90KiBQR19yZXNlcnZlZD8gSW4gdGhhdCBjYXNlIGl0IG1vc3QgcHJv YmFibHkgZ290Cj4+PiBleHBvc2VkIHRvIHRoZSBidWRkeSB3aGVyZSBpdCBjYW4gaGFwcGlseSBn ZXQgYWxsb2NhdGVkL2ZyZWVkLgo+Pj4KPj4+IFRoZSBsYXRlbnQgQlVHIHdvdWxkIGJlIHRoYXQg dGhhdCBibG9iIGdldHMgZXhwb3NlZCB0byB0aGUgc3lzdGVtIGxpa2UKPj4+IG9yZGluYXJ5IFJB TSwgYW5kIG5vdCByZXNlcnZlZCB2aWEgbWVtYmxvY2sgZWFybHkgZHVyaW5nIGJvb3QuCj4+PiBB c3N1bWluZyB0aGF0IGJsb2IgaGFzIGEgbG93IHBoeXNpY2FsIGFkZHJlc3MsIHdpdGggbXkgcGF0 Y2ggaXQgd2lsbAo+Pj4gZ2V0IGFsbG9jYXRlZC91c2VkIGEgbG90IGVhcmxpZXIgLSB3aGljaCB3 b3VsZCBtZWFuIHdlIHRyaWdnZXIgdGhpcwo+Pj4gbGF0ZW50IEJVRyBub3cgbW9yZSBlYXNpbHku Cj4+Pgo+Pj4gVGhlcmUgaGF2ZSBiZWVuIHNpbWlsYXIgbGF0ZW50IEJVR3Mgb24gQVJNIGJvYXJk cyB0aGF0IG15IHBhdGNoCj4+PiBkaXNjb3ZlcmVkIHdoZXJlIHNwZWNpYWwgUkFNIHJlZ2lvbnMg ZGlkIG5vdCBnZXQgbWFya2VkIGFzIHJlc2VydmVkCj4+PiB2aWEgdGhlIGRldmljZSB0cmVlIHBy b3Blcmx5Lgo+Pj4KPj4+IE5vdywgdGhpcyBpcyBqdXN0IGEgd2lsZCBndWVzcyA6KSBDYW4geW91 IGR1bXAgdGhlIHBhZ2Ugd2hlbiBtYXBwaW5nCj4+PiAoYmVmb3JlIFBhZ2VSZXNlcnZlZCgpKSBh bmQgd2hlbiB1bm1hcHBpbmcsIHRvIHNlZSB3aGF0IHRoZSBzdGF0ZSBvZgo+Pj4gdGhhdCBtZW1t YXAgaXM/Cj4+Cj4+IFRoYW5rIHlvdSBEYXZpZCBmb3IgdGhlIGV4cGxhbmF0aW9uIGFuZCB5b3Vy IGhlbHAgb24gdGhpcywKPj4KPj4gZHVtcF9wYWdlKCkgYmVmb3JlIFBhZ2VSZXNlcnZlZCBhbmQg YmVmb3JlIGttYXAoKSBpbiB0aGUgYWJvdmUgcGF0Y2g6Cj4+Cj4+IFvCoMKgwqAgMS4xMTY0ODBd IEFDUEk6IENvcmUgcmV2aXNpb24gMjAyMDExMTMKPj4gW8KgwqDCoCAxLjExNzYyOF0gWFhYIGFj cGlfbWFwOiBhYm91dCB0byBjYWxsIGttYXAoKS4uLgo+PiBbwqDCoMKgIDEuMTE4NTYxXSBwYWdl OmZmZmZlYTAwMDJmOTE0YzAgcmVmY291bnQ6MCBtYXBjb3VudDowCj4+IG1hcHBpbmc6MDAwMDAw MDAwMDAwMDAwMCBpbmRleDoweDAgcGZuOjB4YmU0NTMKPj4gW8KgwqDCoCAxLjEyMDM4MV0gZmxh Z3M6IDB4ZmZmZmZjMDAwMDAwMCgpCj4+IFvCoMKgwqAgMS4xMjExMTZdIHJhdzogMDAwZmZmZmZj MDAwMDAwMCBmZmZmZWEwMDAyZjkxNGM4IGZmZmZlYTAwMDJmOTE0YzgKPj4gMDAwMDAwMDAwMDAw MDAwMAo+PiBbwqDCoMKgIDEuMTIyNjM4XSByYXc6IDAwMDAwMDAwMDAwMDAwMDAgMDAwMDAwMDAw MDAwMDAwMCAwMDAwMDAwMGZmZmZmZmZmCj4+IDAwMDAwMDAwMDAwMDAwMDAKPj4gW8KgwqDCoCAx LjEyNDE0Nl0gcGFnZSBkdW1wZWQgYmVjYXVzZTogYWNwaV9tYXAgcHJlIFNldFBhZ2VSZXNlcnZl ZAo+Pgo+PiBJIGFsc28gYWRkZWQgZHVtcF9wYWdlKCkgYmVmb3JlIHVubWFwcGluZywgYnV0IGl0 IGlzIG5vdCBoaXQuIFRoZQo+PiBmb2xsb3dpbmcgZm9yIHRoZSBzYW1lIHBmbiBub3cgc2hvd3Mg dXAgSSBiZWxpZXZlIGFzIGEgcmVzdWx0IG9mIHNldHRpbmcKPj4gUGFnZVJlc2VydmVkOgo+Pgo+ PiBbwqDCoCAyOC4wOTgyMDhdIEJVRzpCYWQgcGFnZSBzdGF0ZSBpbiBwcm9jZXNzIG1vIGRwcm9i ZcKgIHBmbjpiZTQ1Mwo+PiBbwqDCoCAyOC4wOTgzOTRdIHBhZ2U6ZmZmZmVhMDAwMmY5MTRjMCBy ZWZjb3VudDowIG1hcGNvdW50OjAKPj4gbWFwcGluZzowMDAwMDAwMDAwMDAwMDAwIGluZGV4OjB4 MSBwZm46MHhiZTQ1Mwo+PiBbwqDCoCAyOC4wOTgzOTRdIGZsYWdzOiAweGZmZmZmYzAwMDEwMDAo cmVzZXJ2ZWQpCj4+IFvCoMKgIDI4LjA5ODM5NF0gcmF3OiAwMDBmZmZmZmMwMDAxMDAwIGRlYWQw MDAwMDAwMDAxMDAgZGVhZDAwMDAwMDAwMDEyMgo+PiAwMDAwMDAwMDAwMDAwMDAwCj4+IFvCoMKg IDI4LjA5ODM5NF0gcmF3OiAwMDAwMDAwMDAwMDAwMDAxIDAwMDAwMDAwMDAwMDAwMDAgMDAwMDAw MDBmZmZmZmZmZgo+PiAwMDAwMDAwMDAwMDAwMDAwCj4+IFvCoMKgIDI4LjA5ODM5NF0gcGFnZSBk dW1wZWQgYmVjYXVzZTogUEFHRV9GTEFHU19DSEVDS19BVF9QUkVQIGZsYWcocykgc2V0Cj4+IFvC oMKgIDI4LjA5ODM5NF0gcGFnZV9vd25lciBpbmZvIGlzIG5vdCBwcmVzZW50IChuZXZlciBzZXQ/ KQo+PiBbwqDCoCAyOC4wOTgzOTRdIE1vZHVsZXMgbGlua2VkIGluOgo+PiBbwqDCoCAyOC4wOTgz OTRdIENQVTogMiBQSUQ6IDIwNCBDb21tOiBtb2Rwcm9iZSBOb3QgdGFpbnRlZCA1LjExLjAtM2Ri ZDVlMyAjNjYKPj4gW8KgwqAgMjguMDk4Mzk0XSBIYXJkd2FyZSBuYW1lOiBRRU1VIFN0YW5kYXJk IFBDIChpNDQwRlggKyBQSUlYLCAxOTk2KSwKPj4gQklPUyAwLjAuMCAwMi8wNi8yMDE1Cj4+IFvC oMKgIDI4LjA5ODM5NF0gQ2FsbCBUcmFjZToKPj4gW8KgwqAgMjguMDk4Mzk0XcKgIGR1bXBfc3Rh Y2srMHhkYi8weDEyMAo+PiBbwqDCoCAyOC4wOTgzOTRdwqAgYmFkX3BhZ2UuY29sZC4xMDgrMHhj Ni8weGNiCj4+IFvCoMKgIDI4LjA5ODM5NF3CoCBjaGVja19uZXdfcGFnZV9iYWQrMHg0Ny8weGEw Cj4+IFvCoMKgIDI4LjA5ODM5NF3CoCBnZXRfcGFnZV9mcm9tX2ZyZWVsaXN0KzB4MzBjZC8weDU3 MzAKPj4gW8KgwqAgMjguMDk4Mzk0XcKgID8gX19pc29sYXRlX2ZyZWVfcGFnZSsweDRmMC8weDRm MAo+PiBbwqDCoCAyOC4wOTgzOTRdwqAgPyBpbml0X29iamVjdCsweDdlLzB4OTAKPj4gW8KgwqAg MjguMDk4Mzk0XcKgIF9fYWxsb2NfcGFnZXNfbm9kZW1hc2srMHgyZDgvMHg2NTAKPj4gW8KgwqAg MjguMDk4Mzk0XcKgID8gd3JpdGVfY29tcF9kYXRhKzB4MmYvMHg5MAo+PiBbwqDCoCAyOC4wOTgz OTRdwqAgPyBfX2FsbG9jX3BhZ2VzX3Nsb3dwYXRoLmNvbnN0cHJvcC4xMDMrMHgyMTEwLzB4MjEx MAo+PiBbwqDCoCAyOC4wOTgzOTRdwqAgPyBfX3Nhbml0aXplcl9jb3ZfdHJhY2VfcGMrMHgyMS8w eDUwCj4+IFvCoMKgIDI4LjA5ODM5NF3CoCBhbGxvY19wYWdlc192bWErMHhlMi8weDU2MAo+PiBb wqDCoCAyOC4wOTgzOTRdwqAgZG9fZmF1bHQrMHgxOTQvMHgxMmMwCj4+IFvCoMKgIDI4LjA5ODM5 NF3CoCA/IHdyaXRlX2NvbXBfZGF0YSsweDJmLzB4OTAKPj4gW8KgwqAgMjguMDk4Mzk0XcKgIF9f aGFuZGxlX21tX2ZhdWx0KzB4MTY1MC8weDI2YzAKPj4gW8KgwqAgMjguMDk4Mzk0XcKgID8gY29w eV9wYWdlX3JhbmdlKzB4MTM1MC8weDEzNTAKPj4gW8KgwqAgMjguMDk4Mzk0XcKgID8gd3JpdGVf Y29tcF9kYXRhKzB4MmYvMHg5MAo+PiBbwqDCoCAyOC4wOTgzOTRdwqAgPyB3cml0ZV9jb21wX2Rh dGErMHgyZi8weDkwCj4+IFvCoMKgIDI4LjA5ODM5NF3CoCBoYW5kbGVfbW1fZmF1bHQrMHgxZjkv MHg4MTAKPj4gW8KgwqAgMjguMDk4Mzk0XcKgID8gd3JpdGVfY29tcF9kYXRhKzB4MmYvMHg5MAo+ PiBbwqDCoCAyOC4wOTgzOTRdwqAgZG9fdXNlcl9hZGRyX2ZhdWx0KzB4NmY3LzB4Y2EwCj4+IFvC oMKgIDI4LjA5ODM5NF3CoCBleGNfcGFnZV9mYXVsdCsweGFmLzB4MWEwCj4+IFvCoMKgIDI4LjA5 ODM5NF3CoCBhc21fZXhjX3BhZ2VfZmF1bHQrMHgxZS8weDMwCj4+IFvCoMKgIDI4LjA5ODM5NF0g UklQOiAwMDEwOl9fY2xlYXJfdXNlcisweDMwLzB4NjAKPiAKPiBJIHRoaW5rIHRoZSBQQUdFX0ZM QUdTX0NIRUNLX0FUX1BSRVAgY2hlY2sgaW4gdGhpcyBpbnN0YW5jZSBtZWFucyB0aGF0Cj4gc29t ZW9uZSBpcyB0cnlpbmcgdG8gYWxsb2NhdGUgdGhhdCBwYWdlIHdpdGggdGhlIFBHX3Jlc2VydmVk IGJpdCBzZXQuCj4gVGhpcyBtZWFucyB0aGF0IHRoZSBwYWdlIGFjdHVhbGx5IHdhcyBleHBvc2Vk IHRvIHRoZSBidWRkeS4KPiAKPiBIb3dldmVyLCB3aGVuIHlvdSBTZXRQYWdlUmVzZXJ2ZWQoKSwg SSBkb24ndCB0aGluayB0aGF0IFBHX2J1ZGR5IGlzIHNldAo+IGFuZCB0aGUgcmVmY291bnQgaXMg MC4gVGhhdCBjb3VsZCBpbmRpY2F0ZSB0aGF0IHRoZSBwYWdlIGlzIG9uIHRoZSBidWRkeQo+IFBD UCBsaXN0LiBDb3VsZCBiZSB0aGF0IGl0IGlzIGdldHRpbmcgcmV1c2VkIGEgY291cGxlIG9mIHRp bWVzLgo+IAo+IFRoZSBQRk4gMHhiZTQ1MyBsb29rcyBhIGxpdHRsZSBzdHJhbmdlLCB0aG91Z2gu IERvIHdlIGV4cGVjdCBBQ1BJIHRhYmxlcwo+IGNsb3NlIHRvIDMgR2lCID8gTm8gaWRlYS4gQ291 bGQgaXQgYmUgdGhhdCB5b3UgYXJlIHRyeWluZyB0byBtYXAgYSB3cm9uZwo+IHRhYmxlPyBKdXN0 IGEgZ3Vlc3MuCgouLi4gYnV0IEkgYXNzdW1lIGliZnRfY2hlY2tfZGV2aWNlKCkgd291bGQgYmFp bCBvdXQgb24gYW4gaW52YWxpZCAKY2hlY2tzdW0uIFNvIHRoZSBxdWVzdGlvbiBpcywgd2h5IGlz IHRoaXMgcGFnZSBub3QgcHJvcGVybHkgbWFya2VkIGFzIApyZXNlcnZlZCBhbHJlYWR5LgoKLS0g ClRoYW5rcywKCkRhdmlkIC8gZGhpbGRlbmIKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fXwpsaW51eC1hcm0ta2VybmVsIG1haWxpbmcgbGlzdApsaW51eC1h cm0ta2VybmVsQGxpc3RzLmluZnJhZGVhZC5vcmcKaHR0cDovL2xpc3RzLmluZnJhZGVhZC5vcmcv bWFpbG1hbi9saXN0aW5mby9saW51eC1hcm0ta2VybmVsCg==