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=-5.9 required=3.0 tests=BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,NICE_REPLY_A,SPF_HELO_NONE, SPF_PASS,USER_AGENT_SANE_1 autolearn=no 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 B3327C47096 for ; Thu, 3 Jun 2021 12:04:26 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 95F8A613E6 for ; Thu, 3 Jun 2021 12:04:26 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229975AbhFCMGJ (ORCPT ); Thu, 3 Jun 2021 08:06:09 -0400 Received: from foss.arm.com ([217.140.110.172]:39602 "EHLO foss.arm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229747AbhFCMGI (ORCPT ); Thu, 3 Jun 2021 08:06:08 -0400 Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 5B0451063; Thu, 3 Jun 2021 05:04:23 -0700 (PDT) Received: from [192.168.0.110] (unknown [172.31.20.19]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 644973F774; Thu, 3 Jun 2021 05:04:22 -0700 (PDT) Subject: Re: [BUG] usb: dwc3: Kernel NULL pointer dereference in dwc3_remove() To: Greg Kroah-Hartman Cc: Felipe Balbi , p.zabel@pengutronix.de, linux-usb@vger.kernel.org, Linux Kernel Mailing List , arm-mail-list , sanm@codeaurora.org References: <87r1hjcvf6.fsf@kernel.org> <70be179c-d36b-de6f-6efc-2888055b1312@arm.com> From: Alexandru Elisei Message-ID: <8272121c-ac8a-1565-a047-e3a16dcf13b0@arm.com> Date: Thu, 3 Jun 2021 13:05:08 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.10.2 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Content-Language: en-US Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi Greg, On 6/3/21 12:40 PM, Greg Kroah-Hartman wrote: > On Thu, Jun 03, 2021 at 11:41:45AM +0100, Alexandru Elisei wrote: >> Hello Felipe, >> >> Thank you for having a look! >> >> On 6/3/21 7:30 AM, Felipe Balbi wrote: >>> Hi, >>> >>> Alexandru Elisei writes: >>>> I've been seeing the following panic when shutting down my rockpro64: >>>> >>>> [�� 21.459064] xhci-hcd xhci-hcd.0.auto: USB bus 5 deregistered >>>> [�� 21.683077] Unable to handle kernel NULL pointer dereference at virtual address >>>> 00000000000000a0 >>>> [�� 21.683858] Mem abort info: >>>> [�� 21.684104]�� ESR = 0x96000004 >>>> [�� 21.684375]�� EC = 0x25: DABT (current EL), IL = 32 bits >>>> [�� 21.684841]�� SET = 0, FnV = 0 >>>> [�� 21.685111]�� EA = 0, S1PTW = 0 >>>> [�� 21.685389] Data abort info: >>>> [�� 21.685644]�� ISV = 0, ISS = 0x00000004 >>>> [�� 21.686024]�� CM = 0, WnR = 0 >>>> [�� 21.686288] user pgtable: 4k pages, 48-bit VAs, pgdp=000000000757a000 >>>> [�� 21.686853] [00000000000000a0] pgd=0000000000000000, p4d=0000000000000000 >>>> [�� 21.687452] Internal error: Oops: 96000004EEMPT SMP >>>> [�� 21.687941] Modules linked in: >>>> [�� 21.688214] CPU: 4 PID: 1 Comm: shutdown Not tainted >>>> 5.12.0-rc7-00262-g568262bf5492 #33 >>>> [�� 21.688915] Hardware name: Pine64 RockPro64 v2.0 (DT) >>>> [�� 21.689357] pstate: 60000005 (nZCv daif -PAN -UAO -TCO BTYPE=--) >>>> [�� 21.689884] pc : down_read_interruptible+0xec/0x200 >>>> [�� 21.690321] lr : simple_recursive_removal+0x48/0x280 >>>> [�� 21.690761] sp : ffff800011f4b940 >>>> [�� 21.691053] x29: ffff800011f4b940 x28: ffff000000809b40 >>>> [�� 21.691522] x27: ffff000000809b98 x26: ffff8000114f5170 >>>> [�� 21.691990] x25: 00000000000000a0 x24: ffff800011e84030 >>>> [�� 21.692459] x23: 0000000000000080 x22: 0000000000000000 >>>> [�� 21.692927] x21: ffff800011ecaa5c x20: ffff800011ecaa60 >>>> [�� 21.693395] x19: ffff000000809b40 x18: ffffffffffffffff >>>> [�� 21.693863] x17: 0000000000000000 x16: 0000000000000000 >>>> [�� 21.694331] x15: ffff800091f4ba6d x14: 0000000000000004 >>>> [�� 21.694799] x13: 0000000000000000 x12: 0000000000000020 >>>> [�� 21.695267] x11: 0101010101010101 x10: 7f7f7f7f7f7f7f7f >>>> [�� 21.695735] x9 : 6f6c746364716e62 x8 : 7f7f7f7f7f7f7f7f >>>> [�� 21.696203] x7 : fefefeff6364626d x6 : 0000000000001bd8 >>>> [�� 21.696671] x5 : 0000000000000000 x4 : 0000000000000000 >>>> [�� 21.697138] x3 : 00000000000000a0 x2 : 0000000000000001 >>>> [�� 21.697606] x1 : 0000000000000000 x0 : 00000000000000a0 >>>> [�� 21.698075] Call trace: >>>> [�� 21.698291]� down_read_interruptible+0xec/0x200 >>>> [�� 21.698690]� debugfs_remove+0x60/0x84 >>>> [�� 21.699016]� dwc3_debugfs_exit+0x1c/0x6c >>>> [�� 21.699363]� dwc3_remove+0x34/0x1a0 >>>> [�� 21.699672]� platform_remove+0x28/0x60 >>>> [�� 21.700005]� __device_release_driver+0x188/0x230 >>>> [�� 21.700414]� device_release_driver+0x2c/0x44 >>>> [�� 21.700791]� bus_remove_device+0x124/0x130 >>>> [�� 21.701154]� device_del+0x168/0x420 >>>> [�� 21.701462]� platform_device_del.part.0+0x1c/0x90 >>>> [�� 21.701877]� platform_device_unregister+0x28/0x44 >>>> [�� 21.702291]� of_platform_device_destroy+0xe8/0x100 >>>> [�� 21.702716]� device_for_each_child_reverse+0x64/0xb4 >>>> [�� 21.703153]� of_platform_depopulate+0x40/0x84 >>>> [�� 21.703538]� __dwc3_of_simple_teardown+0x20/0xd4 >>>> [�� 21.703945]� dwc3_of_simple_shutdown+0x14/0x20 >>>> [�� 21.704337]� platform_shutdown+0x28/0x40 >>>> [�� 21.704683]� device_shutdown+0x158/0x330 >>>> [�� 21.705029]� kernel_power_off+0x38/0x7c >>>> [�� 21.705372]� __do_sys_reboot+0x16c/0x2a0 >>>> [�� 21.705719]� __arm64_sys_reboot+0x28/0x34 >>>> [�� 21.706074]� el0_svc_common.constprop.0+0x60/0x120 >>>> [�� 21.706499]� do_el0_svc+0x28/0x94 >>>> [�� 21.706794]� el0_svc+0x2c/0x54 >>>> [�� 21.707067]� el0_sync_handler+0xa4/0x130 >>>> [�� 21.707414]� el0_sync+0x170/0x180 >>>> [�� 21.707711] Code: c8047c62 35ffff84 17fffe5f f9800071 (c85ffc60) >>>> [�� 21.708250] ---[ end trace 5ae08147542eb468 ]--- >>>> [�� 21.708667] Kernel panic - not syncing: Attempted to kill init! exitcode=0x0000000b >>>> [�� 21.709456] Kernel Offset: disabled >>>> [�� 21.709762] CPU features: 0x00240022,2100600c >>>> [�� 21.710146] Memory Limit: 2048 MB >>>> [�� 21.710443] ---[ end Kernel panic - not syncing: Attempted to kill init! >>>> exitcode=0x0000000b ]--- >>>> >>>> I've been able to bisect the panic and the offending commit is 568262bf5492 ("usb: >>>> dwc3: core: Add shutdown callback for dwc3"). I can provide more diagnostic >>>> information if needed and I can help test the fix. >>> if you simply revert that commit in HEAD, does the problem really go >>> away? >> Kernel built from commit 324c92e5e0ee, which is the kernel tip today, the panic is >> there. Reverting the offending commit, 568262bf5492, makes the panic disappear. > Want to send a revert so I can take it now? I can send a revert, but Felipe was asking Sandeep (the commit author) for a fix, so I'll leave it up to Felipe to decide how to proceed. Thanks, Alex 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=-6.2 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI, NICE_REPLY_A,SPF_HELO_NONE,SPF_PASS,USER_AGENT_SANE_1 autolearn=no 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 11A36C47096 for ; Thu, 3 Jun 2021 12:06:22 +0000 (UTC) Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (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 D4C9A613E9 for ; Thu, 3 Jun 2021 12:06:21 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org D4C9A613E9 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=arm.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=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:In-Reply-To:MIME-Version:Date: Message-ID:From:References:Cc:To:Subject:Reply-To:Content-ID: Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc :Resent-Message-ID:List-Owner; bh=BKoa2N0t252Y1NbNlbPp/vqfCJUyGUqwFTfDRpTz0lo=; b=1xiDU6gNlOZhd/rfDAOQ6rUuYZ Q4FZbg5LurQEijPz+m+MLavEAdwIbbecwGKbBHRiAfY8+goe9d+933fTu0Ki3evaNVJ3H8vT5rAa5 TbxNU5Zmi8LFDs/JpADLZ83k3Hce0tCfxhs+O0T9SXixIynjjcDhm9M5wQEOkXlhvC2DkEVC754Qh BUzL00W5v2ZgvCVcH1uwBKjzZUBm3eeECqKslzpXq/MbnhrbOBebzytiNVcx9NXGfstQkj8RZSK1B Q7rRjEkWstRBsrQ0Pp0DlQzXcF53oxU08R7Lql/Goe4fdQgfPaLA0aKk40107qZuRzeHc8iIy5o0n /MonjVow==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1lom5O-008XI1-CF; Thu, 03 Jun 2021 12:04:30 +0000 Received: from foss.arm.com ([217.140.110.172]) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1lom5J-008XGB-80 for linux-arm-kernel@lists.infradead.org; Thu, 03 Jun 2021 12:04:27 +0000 Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 5B0451063; Thu, 3 Jun 2021 05:04:23 -0700 (PDT) Received: from [192.168.0.110] (unknown [172.31.20.19]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 644973F774; Thu, 3 Jun 2021 05:04:22 -0700 (PDT) Subject: Re: [BUG] usb: dwc3: Kernel NULL pointer dereference in dwc3_remove() To: Greg Kroah-Hartman Cc: Felipe Balbi , p.zabel@pengutronix.de, linux-usb@vger.kernel.org, Linux Kernel Mailing List , arm-mail-list , sanm@codeaurora.org References: <87r1hjcvf6.fsf@kernel.org> <70be179c-d36b-de6f-6efc-2888055b1312@arm.com> From: Alexandru Elisei Message-ID: <8272121c-ac8a-1565-a047-e3a16dcf13b0@arm.com> Date: Thu, 3 Jun 2021 13:05:08 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.10.2 MIME-Version: 1.0 In-Reply-To: Content-Language: en-US X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20210603_050425_432324_F3F9F12F X-CRM114-Status: GOOD ( 15.77 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org SGkgR3JlZywKCk9uIDYvMy8yMSAxMjo0MCBQTSwgR3JlZyBLcm9haC1IYXJ0bWFuIHdyb3RlOgo+ IE9uIFRodSwgSnVuIDAzLCAyMDIxIGF0IDExOjQxOjQ1QU0gKzAxMDAsIEFsZXhhbmRydSBFbGlz ZWkgd3JvdGU6Cj4+IEhlbGxvIEZlbGlwZSwKPj4KPj4gVGhhbmsgeW91IGZvciBoYXZpbmcgYSBs b29rIQo+Pgo+PiBPbiA2LzMvMjEgNzozMCBBTSwgRmVsaXBlIEJhbGJpIHdyb3RlOgo+Pj4gSGks Cj4+Pgo+Pj4gQWxleGFuZHJ1IEVsaXNlaSA8YWxleGFuZHJ1LmVsaXNlaUBhcm0uY29tPiB3cml0 ZXM6Cj4+Pj4gSSd2ZSBiZWVuIHNlZWluZyB0aGUgZm9sbG93aW5nIHBhbmljIHdoZW4gc2h1dHRp bmcgZG93biBteSByb2NrcHJvNjQ6Cj4+Pj4KPj4+PiBbw6/Cv8K9w6/Cv8K9IDIxLjQ1OTA2NF0g eGhjaS1oY2QgeGhjaS1oY2QuMC5hdXRvOiBVU0IgYnVzIDUgZGVyZWdpc3RlcmVkCj4+Pj4gW8Ov wr/CvcOvwr/CvSAyMS42ODMwNzddIFVuYWJsZSB0byBoYW5kbGUga2VybmVsIE5VTEwgcG9pbnRl ciBkZXJlZmVyZW5jZSBhdCB2aXJ0dWFsIGFkZHJlc3MKPj4+PiAwMDAwMDAwMDAwMDAwMGEwCj4+ Pj4gW8Ovwr/CvcOvwr/CvSAyMS42ODM4NThdIE1lbSBhYm9ydCBpbmZvOgo+Pj4+IFvDr8K/wr3D r8K/wr0gMjEuNjg0MTA0XcOvwr/CvcOvwr/CvSBFU1IgPSAweDk2MDAwMDA0Cj4+Pj4gW8Ovwr/C vcOvwr/CvSAyMS42ODQzNzVdw6/Cv8K9w6/Cv8K9IEVDID0gMHgyNTogREFCVCAoY3VycmVudCBF TCksIElMID0gMzIgYml0cwo+Pj4+IFvDr8K/wr3Dr8K/wr0gMjEuNjg0ODQxXcOvwr/CvcOvwr/C vSBTRVQgPSAwLCBGblYgPSAwCj4+Pj4gW8Ovwr/CvcOvwr/CvSAyMS42ODUxMTFdw6/Cv8K9w6/C v8K9IEVBID0gMCwgUzFQVFcgPSAwCj4+Pj4gW8Ovwr/CvcOvwr/CvSAyMS42ODUzODldIERhdGEg YWJvcnQgaW5mbzoKPj4+PiBbw6/Cv8K9w6/Cv8K9IDIxLjY4NTY0NF3Dr8K/wr3Dr8K/wr0gSVNW ID0gMCwgSVNTID0gMHgwMDAwMDAwNAo+Pj4+IFvDr8K/wr3Dr8K/wr0gMjEuNjg2MDI0XcOvwr/C vcOvwr/CvSBDTSA9IDAsIFduUiA9IDAKPj4+PiBbw6/Cv8K9w6/Cv8K9IDIxLjY4NjI4OF0gdXNl ciBwZ3RhYmxlOiA0ayBwYWdlcywgNDgtYml0IFZBcywgcGdkcD0wMDAwMDAwMDA3NTdhMDAwCj4+ Pj4gW8Ovwr/CvcOvwr/CvSAyMS42ODY4NTNdIFswMDAwMDAwMDAwMDAwMGEwXSBwZ2Q9MDAwMDAw MDAwMDAwMDAwMCwgcDRkPTAwMDAwMDAwMDAwMDAwMDAKPj4+PiBbw6/Cv8K9w6/Cv8K9IDIxLjY4 NzQ1Ml0gSW50ZXJuYWwgZXJyb3I6IE9vcHM6IDk2MDAwMDA0RUVNUFQgU01QCj4+Pj4gW8Ovwr/C vcOvwr/CvSAyMS42ODc5NDFdIE1vZHVsZXMgbGlua2VkIGluOgo+Pj4+IFvDr8K/wr3Dr8K/wr0g MjEuNjg4MjE0XSBDUFU6IDQgUElEOiAxIENvbW06IHNodXRkb3duIE5vdCB0YWludGVkCj4+Pj4g NS4xMi4wLXJjNy0wMDI2Mi1nNTY4MjYyYmY1NDkyICMzMwo+Pj4+IFvDr8K/wr3Dr8K/wr0gMjEu Njg4OTE1XSBIYXJkd2FyZSBuYW1lOiBQaW5lNjQgUm9ja1BybzY0IHYyLjAgKERUKQo+Pj4+IFvD r8K/wr3Dr8K/wr0gMjEuNjg5MzU3XSBwc3RhdGU6IDYwMDAwMDA1IChuWkN2IGRhaWYgLVBBTiAt VUFPIC1UQ08gQlRZUEU9LS0pCj4+Pj4gW8Ovwr/CvcOvwr/CvSAyMS42ODk4ODRdIHBjIDogZG93 bl9yZWFkX2ludGVycnVwdGlibGUrMHhlYy8weDIwMAo+Pj4+IFvDr8K/wr3Dr8K/wr0gMjEuNjkw MzIxXSBsciA6IHNpbXBsZV9yZWN1cnNpdmVfcmVtb3ZhbCsweDQ4LzB4MjgwCj4+Pj4gW8Ovwr/C vcOvwr/CvSAyMS42OTA3NjFdIHNwIDogZmZmZjgwMDAxMWY0Yjk0MAo+Pj4+IFvDr8K/wr3Dr8K/ wr0gMjEuNjkxMDUzXSB4Mjk6IGZmZmY4MDAwMTFmNGI5NDAgeDI4OiBmZmZmMDAwMDAwODA5YjQw Cj4+Pj4gW8Ovwr/CvcOvwr/CvSAyMS42OTE1MjJdIHgyNzogZmZmZjAwMDAwMDgwOWI5OCB4MjY6 IGZmZmY4MDAwMTE0ZjUxNzAKPj4+PiBbw6/Cv8K9w6/Cv8K9IDIxLjY5MTk5MF0geDI1OiAwMDAw MDAwMDAwMDAwMGEwIHgyNDogZmZmZjgwMDAxMWU4NDAzMAo+Pj4+IFvDr8K/wr3Dr8K/wr0gMjEu NjkyNDU5XSB4MjM6IDAwMDAwMDAwMDAwMDAwODAgeDIyOiAwMDAwMDAwMDAwMDAwMDAwCj4+Pj4g W8Ovwr/CvcOvwr/CvSAyMS42OTI5MjddIHgyMTogZmZmZjgwMDAxMWVjYWE1YyB4MjA6IGZmZmY4 MDAwMTFlY2FhNjAKPj4+PiBbw6/Cv8K9w6/Cv8K9IDIxLjY5MzM5NV0geDE5OiBmZmZmMDAwMDAw ODA5YjQwIHgxODogZmZmZmZmZmZmZmZmZmZmZgo+Pj4+IFvDr8K/wr3Dr8K/wr0gMjEuNjkzODYz XSB4MTc6IDAwMDAwMDAwMDAwMDAwMDAgeDE2OiAwMDAwMDAwMDAwMDAwMDAwCj4+Pj4gW8Ovwr/C vcOvwr/CvSAyMS42OTQzMzFdIHgxNTogZmZmZjgwMDA5MWY0YmE2ZCB4MTQ6IDAwMDAwMDAwMDAw MDAwMDQKPj4+PiBbw6/Cv8K9w6/Cv8K9IDIxLjY5NDc5OV0geDEzOiAwMDAwMDAwMDAwMDAwMDAw IHgxMjogMDAwMDAwMDAwMDAwMDAyMAo+Pj4+IFvDr8K/wr3Dr8K/wr0gMjEuNjk1MjY3XSB4MTE6 IDAxMDEwMTAxMDEwMTAxMDEgeDEwOiA3ZjdmN2Y3ZjdmN2Y3ZjdmCj4+Pj4gW8Ovwr/CvcOvwr/C vSAyMS42OTU3MzVdIHg5IDogNmY2Yzc0NjM2NDcxNmU2MiB4OCA6IDdmN2Y3ZjdmN2Y3ZjdmN2YK Pj4+PiBbw6/Cv8K9w6/Cv8K9IDIxLjY5NjIwM10geDcgOiBmZWZlZmVmZjYzNjQ2MjZkIHg2IDog MDAwMDAwMDAwMDAwMWJkOAo+Pj4+IFvDr8K/wr3Dr8K/wr0gMjEuNjk2NjcxXSB4NSA6IDAwMDAw MDAwMDAwMDAwMDAgeDQgOiAwMDAwMDAwMDAwMDAwMDAwCj4+Pj4gW8Ovwr/CvcOvwr/CvSAyMS42 OTcxMzhdIHgzIDogMDAwMDAwMDAwMDAwMDBhMCB4MiA6IDAwMDAwMDAwMDAwMDAwMDEKPj4+PiBb w6/Cv8K9w6/Cv8K9IDIxLjY5NzYwNl0geDEgOiAwMDAwMDAwMDAwMDAwMDAwIHgwIDogMDAwMDAw MDAwMDAwMDBhMAo+Pj4+IFvDr8K/wr3Dr8K/wr0gMjEuNjk4MDc1XSBDYWxsIHRyYWNlOgo+Pj4+ IFvDr8K/wr3Dr8K/wr0gMjEuNjk4MjkxXcOvwr/CvSBkb3duX3JlYWRfaW50ZXJydXB0aWJsZSsw eGVjLzB4MjAwCj4+Pj4gW8Ovwr/CvcOvwr/CvSAyMS42OTg2OTBdw6/Cv8K9IGRlYnVnZnNfcmVt b3ZlKzB4NjAvMHg4NAo+Pj4+IFvDr8K/wr3Dr8K/wr0gMjEuNjk5MDE2XcOvwr/CvSBkd2MzX2Rl YnVnZnNfZXhpdCsweDFjLzB4NmMKPj4+PiBbw6/Cv8K9w6/Cv8K9IDIxLjY5OTM2M13Dr8K/wr0g ZHdjM19yZW1vdmUrMHgzNC8weDFhMAo+Pj4+IFvDr8K/wr3Dr8K/wr0gMjEuNjk5NjcyXcOvwr/C vSBwbGF0Zm9ybV9yZW1vdmUrMHgyOC8weDYwCj4+Pj4gW8Ovwr/CvcOvwr/CvSAyMS43MDAwMDVd w6/Cv8K9IF9fZGV2aWNlX3JlbGVhc2VfZHJpdmVyKzB4MTg4LzB4MjMwCj4+Pj4gW8Ovwr/CvcOv wr/CvSAyMS43MDA0MTRdw6/Cv8K9IGRldmljZV9yZWxlYXNlX2RyaXZlcisweDJjLzB4NDQKPj4+ PiBbw6/Cv8K9w6/Cv8K9IDIxLjcwMDc5MV3Dr8K/wr0gYnVzX3JlbW92ZV9kZXZpY2UrMHgxMjQv MHgxMzAKPj4+PiBbw6/Cv8K9w6/Cv8K9IDIxLjcwMTE1NF3Dr8K/wr0gZGV2aWNlX2RlbCsweDE2 OC8weDQyMAo+Pj4+IFvDr8K/wr3Dr8K/wr0gMjEuNzAxNDYyXcOvwr/CvSBwbGF0Zm9ybV9kZXZp Y2VfZGVsLnBhcnQuMCsweDFjLzB4OTAKPj4+PiBbw6/Cv8K9w6/Cv8K9IDIxLjcwMTg3N13Dr8K/ wr0gcGxhdGZvcm1fZGV2aWNlX3VucmVnaXN0ZXIrMHgyOC8weDQ0Cj4+Pj4gW8Ovwr/CvcOvwr/C vSAyMS43MDIyOTFdw6/Cv8K9IG9mX3BsYXRmb3JtX2RldmljZV9kZXN0cm95KzB4ZTgvMHgxMDAK Pj4+PiBbw6/Cv8K9w6/Cv8K9IDIxLjcwMjcxNl3Dr8K/wr0gZGV2aWNlX2Zvcl9lYWNoX2NoaWxk X3JldmVyc2UrMHg2NC8weGI0Cj4+Pj4gW8Ovwr/CvcOvwr/CvSAyMS43MDMxNTNdw6/Cv8K9IG9m X3BsYXRmb3JtX2RlcG9wdWxhdGUrMHg0MC8weDg0Cj4+Pj4gW8Ovwr/CvcOvwr/CvSAyMS43MDM1 Mzhdw6/Cv8K9IF9fZHdjM19vZl9zaW1wbGVfdGVhcmRvd24rMHgyMC8weGQ0Cj4+Pj4gW8Ovwr/C vcOvwr/CvSAyMS43MDM5NDVdw6/Cv8K9IGR3YzNfb2Zfc2ltcGxlX3NodXRkb3duKzB4MTQvMHgy MAo+Pj4+IFvDr8K/wr3Dr8K/wr0gMjEuNzA0MzM3XcOvwr/CvSBwbGF0Zm9ybV9zaHV0ZG93bisw eDI4LzB4NDAKPj4+PiBbw6/Cv8K9w6/Cv8K9IDIxLjcwNDY4M13Dr8K/wr0gZGV2aWNlX3NodXRk b3duKzB4MTU4LzB4MzMwCj4+Pj4gW8Ovwr/CvcOvwr/CvSAyMS43MDUwMjldw6/Cv8K9IGtlcm5l bF9wb3dlcl9vZmYrMHgzOC8weDdjCj4+Pj4gW8Ovwr/CvcOvwr/CvSAyMS43MDUzNzJdw6/Cv8K9 IF9fZG9fc3lzX3JlYm9vdCsweDE2Yy8weDJhMAo+Pj4+IFvDr8K/wr3Dr8K/wr0gMjEuNzA1NzE5 XcOvwr/CvSBfX2FybTY0X3N5c19yZWJvb3QrMHgyOC8weDM0Cj4+Pj4gW8Ovwr/CvcOvwr/CvSAy MS43MDYwNzRdw6/Cv8K9IGVsMF9zdmNfY29tbW9uLmNvbnN0cHJvcC4wKzB4NjAvMHgxMjAKPj4+ PiBbw6/Cv8K9w6/Cv8K9IDIxLjcwNjQ5OV3Dr8K/wr0gZG9fZWwwX3N2YysweDI4LzB4OTQKPj4+ PiBbw6/Cv8K9w6/Cv8K9IDIxLjcwNjc5NF3Dr8K/wr0gZWwwX3N2YysweDJjLzB4NTQKPj4+PiBb w6/Cv8K9w6/Cv8K9IDIxLjcwNzA2N13Dr8K/wr0gZWwwX3N5bmNfaGFuZGxlcisweGE0LzB4MTMw Cj4+Pj4gW8Ovwr/CvcOvwr/CvSAyMS43MDc0MTRdw6/Cv8K9IGVsMF9zeW5jKzB4MTcwLzB4MTgw Cj4+Pj4gW8Ovwr/CvcOvwr/CvSAyMS43MDc3MTFdIENvZGU6IGM4MDQ3YzYyIDM1ZmZmZjg0IDE3 ZmZmZTVmIGY5ODAwMDcxIChjODVmZmM2MCkKPj4+PiBbw6/Cv8K9w6/Cv8K9IDIxLjcwODI1MF0g LS0tWyBlbmQgdHJhY2UgNWFlMDgxNDc1NDJlYjQ2OCBdLS0tCj4+Pj4gW8Ovwr/CvcOvwr/CvSAy MS43MDg2NjddIEtlcm5lbCBwYW5pYyAtIG5vdCBzeW5jaW5nOiBBdHRlbXB0ZWQgdG8ga2lsbCBp bml0ISBleGl0Y29kZT0weDAwMDAwMDBiCj4+Pj4gW8Ovwr/CvcOvwr/CvSAyMS43MDk0NTZdIEtl cm5lbCBPZmZzZXQ6IGRpc2FibGVkCj4+Pj4gW8Ovwr/CvcOvwr/CvSAyMS43MDk3NjJdIENQVSBm ZWF0dXJlczogMHgwMDI0MDAyMiwyMTAwNjAwYwo+Pj4+IFvDr8K/wr3Dr8K/wr0gMjEuNzEwMTQ2 XSBNZW1vcnkgTGltaXQ6IDIwNDggTUIKPj4+PiBbw6/Cv8K9w6/Cv8K9IDIxLjcxMDQ0M10gLS0t WyBlbmQgS2VybmVsIHBhbmljIC0gbm90IHN5bmNpbmc6IEF0dGVtcHRlZCB0byBraWxsIGluaXQh Cj4+Pj4gZXhpdGNvZGU9MHgwMDAwMDAwYiBdLS0tCj4+Pj4KPj4+PiBJJ3ZlIGJlZW4gYWJsZSB0 byBiaXNlY3QgdGhlIHBhbmljIGFuZCB0aGUgb2ZmZW5kaW5nIGNvbW1pdCBpcyA1NjgyNjJiZjU0 OTIgKCJ1c2I6Cj4+Pj4gZHdjMzogY29yZTogQWRkIHNodXRkb3duIGNhbGxiYWNrIGZvciBkd2Mz IikuIEkgY2FuIHByb3ZpZGUgbW9yZSBkaWFnbm9zdGljCj4+Pj4gaW5mb3JtYXRpb24gaWYgbmVl ZGVkIGFuZCBJIGNhbiBoZWxwIHRlc3QgdGhlIGZpeC4KPj4+IGlmIHlvdSBzaW1wbHkgcmV2ZXJ0 IHRoYXQgY29tbWl0IGluIEhFQUQsIGRvZXMgdGhlIHByb2JsZW0gcmVhbGx5IGdvCj4+PiBhd2F5 Pwo+PiBLZXJuZWwgYnVpbHQgZnJvbSBjb21taXQgMzI0YzkyZTVlMGVlLCB3aGljaCBpcyB0aGUg a2VybmVsIHRpcCB0b2RheSwgdGhlIHBhbmljIGlzCj4+IHRoZXJlLiBSZXZlcnRpbmcgdGhlIG9m ZmVuZGluZyBjb21taXQsIDU2ODI2MmJmNTQ5MiwgbWFrZXMgdGhlIHBhbmljIGRpc2FwcGVhci4K PiBXYW50IHRvIHNlbmQgYSByZXZlcnQgc28gSSBjYW4gdGFrZSBpdCBub3c/CgpJIGNhbiBzZW5k IGEgcmV2ZXJ0LCBidXQgRmVsaXBlIHdhcyBhc2tpbmcgU2FuZGVlcCAodGhlIGNvbW1pdCBhdXRo b3IpIGZvciBhIGZpeCwKc28gSSdsbCBsZWF2ZSBpdCB1cCB0byBGZWxpcGUgdG8gZGVjaWRlIGhv dyB0byBwcm9jZWVkLgoKVGhhbmtzLAoKQWxleAoKCl9fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fCmxpbnV4LWFybS1rZXJuZWwgbWFpbGluZyBsaXN0CmxpbnV4 LWFybS1rZXJuZWxAbGlzdHMuaW5mcmFkZWFkLm9yZwpodHRwOi8vbGlzdHMuaW5mcmFkZWFkLm9y Zy9tYWlsbWFuL2xpc3RpbmZvL2xpbnV4LWFybS1rZXJuZWwK