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=-13.8 required=3.0 tests=BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI, MENTIONS_GIT_HOSTING,SPF_HELO_NONE,SPF_PASS 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 7997DC11F64 for ; Thu, 1 Jul 2021 19:34:32 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 5C0A0613E0 for ; Thu, 1 Jul 2021 19:34:32 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233223AbhGAThC convert rfc822-to-8bit (ORCPT ); Thu, 1 Jul 2021 15:37:02 -0400 Received: from lithops.sigma-star.at ([195.201.40.130]:50262 "EHLO lithops.sigma-star.at" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229894AbhGAThB (ORCPT ); Thu, 1 Jul 2021 15:37:01 -0400 X-Greylist: delayed 349 seconds by postgrey-1.27 at vger.kernel.org; Thu, 01 Jul 2021 15:37:01 EDT Received: from localhost (localhost [127.0.0.1]) by lithops.sigma-star.at (Postfix) with ESMTP id EAE436108188; Thu, 1 Jul 2021 21:28:40 +0200 (CEST) Received: from lithops.sigma-star.at ([127.0.0.1]) by localhost (lithops.sigma-star.at [127.0.0.1]) (amavisd-new, port 10032) with ESMTP id Cu2fSJkVVSEt; Thu, 1 Jul 2021 21:28:40 +0200 (CEST) Received: from localhost (localhost [127.0.0.1]) by lithops.sigma-star.at (Postfix) with ESMTP id 20775610848B; Thu, 1 Jul 2021 21:28:40 +0200 (CEST) Received: from lithops.sigma-star.at ([127.0.0.1]) by localhost (lithops.sigma-star.at [127.0.0.1]) (amavisd-new, port 10026) with ESMTP id cVnxTMQBKNSC; Thu, 1 Jul 2021 21:28:40 +0200 (CEST) Received: from lithops.sigma-star.at (lithops.sigma-star.at [195.201.40.130]) by lithops.sigma-star.at (Postfix) with ESMTP id EBAA06108478; Thu, 1 Jul 2021 21:28:39 +0200 (CEST) Date: Thu, 1 Jul 2021 21:28:39 +0200 (CEST) From: Richard Weinberger To: Sean Anderson Cc: Linux Crypto Mailing List , Herbert Xu , davem , horia geanta , aymen sghaier , linux-arm-kernel , Marek Vasut , david Message-ID: <723802567.13207.1625167719840.JavaMail.zimbra@nod.at> In-Reply-To: <20210701185638.3437487-1-sean.anderson@seco.com> References: <20210701185638.3437487-1-sean.anderson@seco.com> Subject: Re: [PATCH v2 0/2] crypto: mxs_dcp: Fix an Oops on i.MX6ULL MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8BIT X-Originating-IP: [195.201.40.130] X-Mailer: Zimbra 8.8.12_GA_3807 (ZimbraWebClient - FF78 (Linux)/8.8.12_GA_3809) Thread-Topic: crypto: mxs_dcp: Fix an Oops on i.MX6ULL Thread-Index: IWrviunujKG/v99nyBJ/3UbF2cACPA== Precedence: bulk List-ID: X-Mailing-List: linux-crypto@vger.kernel.org Sean, [CC'ing David] ----- Ursprüngliche Mail ----- > Von: "Sean Anderson" > An: "Linux Crypto Mailing List" , "Herbert Xu" , "davem" > > CC: "horia geanta" , "aymen sghaier" , "richard" , > "linux-arm-kernel" , "Marek Vasut" , "Sean Anderson" > > Gesendet: Donnerstag, 1. Juli 2021 20:56:36 > Betreff: [PATCH v2 0/2] crypto: mxs_dcp: Fix an Oops on i.MX6ULL > This fixes at least one oops when using the DCP on ULL. However, I got > another Oops when running kcapi-dgst-test.sh from the libkcapi test > suite [1]: > > [ 6961.181777] Unable to handle kernel NULL pointer dereference at virtual > address 000008f8 > [ 6961.190143] pgd = e59542a6 > [ 6961.192917] [000008f8] *pgd=00000000 > [ 6961.196586] Internal error: Oops: 5 [#1] ARM > [ 6961.200877] Modules linked in: crypto_user mxs_dcp cfg80211 rfkill > des_generic libdes arc4 libarc4 cbc ecb algif_skcipher sha256_generic libsha256 > sha1_generic hmac aes_generic libaes cmac sha512_generic md5 md4 algif_hash > af_alg i2c_imx ci_hdrc_imx ci_hdrc i2c_core ulpi roles udc_core imx_sdma > usb_common firmware_class usbmisc_imx virt_dma phy_mxs_usb nf_tables nfnetlink > ip_tables x_tables ipv6 autofs4 [last unloaded: mxs_dcp] > [ 6961.239228] CPU: 0 PID: 469 Comm: mxs_dcp_chan/ae Not tainted > 5.10.46-315-tiago #315 > [ 6961.246988] Hardware name: Freescale i.MX6 Ultralite (Device Tree) > [ 6961.253201] PC is at memcpy+0xc0/0x330 > [ 6961.256993] LR is at dcp_chan_thread_aes+0x220/0x94c [mxs_dcp] > [ 6961.262847] pc : [] lr : [] psr: 800e0013 > [ 6961.269130] sp : cdc09ef4 ip : 00000010 fp : c36e5808 > [ 6961.274370] r10: cdcc3150 r9 : 00000000 r8 : bff46000 > [ 6961.279613] r7 : c36e59d0 r6 : c2e42840 r5 : cdcc3140 r4 : 00000001 > [ 6961.286156] r3 : 000008f9 r2 : 80000000 r1 : 000008f8 r0 : cdc1004f > [ 6961.292704] Flags: Nzcv IRQs on FIQs on Mode SVC_32 ISA ARM Segment none > [ 6961.299860] Control: 10c53c7d Table: 83358059 DAC: 00000051 > [ 6961.305628] Process mxs_dcp_chan/ae (pid: 469, stack limit = 0xe1efdc80) > [ 6961.312346] Stack: (0xcdc09ef4 to 0xcdc0a000) > [ 6961.316726] 9ee0: cdc1004f > 00000001 bf13cda4 > [ 6961.324930] 9f00: 00000000 00000000 c23b41a0 00000000 c36e59d0 00000001 > 00000010 00000000 > [ 6961.333132] 9f20: 00000000 00000000 c13de2fc 000008f9 8dc13080 00000010 > cdcc3150 c21e5010 > [ 6961.341335] 9f40: cdc08000 cdc10040 00000001 bf13fa40 cdc11040 c2e42880 > 00000002 cc861440 > [ 6961.349535] 9f60: ffffe000 c33dbe00 c332cb40 cdc08000 00000000 bf13cb84 > 00000000 c3353c54 > [ 6961.357736] 9f80: c33dbe44 c0140d34 cdc08000 c332cb40 c0140c00 00000000 > 00000000 00000000 > [ 6961.365936] 9fa0: 00000000 00000000 00000000 c0100114 00000000 00000000 > 00000000 00000000 > [ 6961.374138] 9fc0: 00000000 00000000 00000000 00000000 00000000 00000000 > 00000000 00000000 > [ 6961.382338] 9fe0: 00000000 00000000 00000000 00000000 00000013 00000000 > 00000000 00000000 > [ 6961.390567] [] (memcpy) from [] > (dcp_chan_thread_aes+0x220/0x94c [mxs_dcp]) > [ 6961.399312] [] (dcp_chan_thread_aes [mxs_dcp]) from [] > (kthread+0x134/0x160) > [ 6961.408137] [] (kthread) from [] > (ret_from_fork+0x14/0x20) > [ 6961.415377] Exception stack(0xcdc09fb0 to 0xcdc09ff8) > [ 6961.420448] 9fa0: 00000000 00000000 > 00000000 00000000 > [ 6961.428647] 9fc0: 00000000 00000000 00000000 00000000 00000000 00000000 > 00000000 00000000 > [ 6961.436845] 9fe0: 00000000 00000000 00000000 00000000 00000013 00000000 > [ 6961.443488] Code: e4808004 e480e004 e8bd01e0 e1b02f82 (14d13001) > > where dcp_chan_thread_aes+0x220 is the line > > memcpy(in_buf + actx->fill, src_buf, clen); > > in mxs_dcp_aes_block_crypt. I also tried with the following patch > instead of the one included in this series: > > --- > diff --git a/drivers/crypto/mxs-dcp.c b/drivers/crypto/mxs-dcp.c > index f397cc5bf102..54fd24ba1261 100644 > --- a/drivers/crypto/mxs-dcp.c > +++ b/drivers/crypto/mxs-dcp.c > @@ -367,6 +367,7 @@ static int mxs_dcp_aes_block_crypt(struct > crypto_async_request *arq) > last_out_len = actx->fill; > while (dst && actx->fill) { > if (!split) { > + kmap(sg_page(dst)); > dst_buf = sg_virt(dst); > dst_off = 0; > } > @@ -379,6 +380,7 @@ static int mxs_dcp_aes_block_crypt(struct > crypto_async_request *arq) > actx->fill -= rem; > > if (dst_off == sg_dma_len(dst)) { > + kunmap(sg_page(dst)); > dst = sg_next(dst); > split = 0; > } else { > -- > > but got the same oops. Unfortunately, I don't have the time to > investigate this oops as well. I'd appreciate if anyone else using this > device could look into this and see if they encounter the same errors. > > [1] https://github.com/smuellerDD/libkcapi/blob/master/test/kcapi-dgst-test.sh Can you please share your kernel .config? David or I can test on our test bed. But will take a few days. Thanks, //richard 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=-14.2 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH, MAILING_LIST_MULTI,MENTIONS_GIT_HOSTING,SPF_HELO_NONE,SPF_PASS 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 5B846C11F64 for ; Thu, 1 Jul 2021 19:31:15 +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 0901D6109D for ; Thu, 1 Jul 2021 19:31:15 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 0901D6109D Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=nod.at 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:MIME-Version:Subject:References: In-Reply-To:Message-ID:Cc:To:From:Date:Reply-To:Content-ID: Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc :Resent-Message-ID:List-Owner; bh=JixWibxjwYZHn6Du7Qkosrs77yUz8H0Og6f5FSCQ8sM=; b=SkDZLz1f9dtRa43Rel4pNhSIfk HYhsXpzCZyHruE5kNpTV1mMwapN98WL2GJw08rKptt+6NM6gfUIqiysAY4R7IkW30P0eu+Iw6/iDe DtHV1zLKjHTZ9b0ru6DK3x1/CpIWmSeBbAfr2GvJLfPL8xImtffNx66AYD9GKCTH2t378bBndQJpZ FWOBtBghDK8E+6ibiUi18MGOX77HgwLB8vX00eb4wie7QEPZtHjvcI+25feZIyNbyPb8+0rfbUcTs robeTd2cX2+0AZfSrWirPB/z+M+eYSQnttsLA206ESfSRthV38l502WhTvJ89/dywRRIl56vaVmlQ W2oOEm1Q==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1lz2Mt-000sGE-Q0; Thu, 01 Jul 2021 19:28:59 +0000 Received: from lithops.sigma-star.at ([195.201.40.130]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1lz2Mp-000sFH-Ke for linux-arm-kernel@lists.infradead.org; Thu, 01 Jul 2021 19:28:57 +0000 Received: from localhost (localhost [127.0.0.1]) by lithops.sigma-star.at (Postfix) with ESMTP id EAE436108188; Thu, 1 Jul 2021 21:28:40 +0200 (CEST) Received: from lithops.sigma-star.at ([127.0.0.1]) by localhost (lithops.sigma-star.at [127.0.0.1]) (amavisd-new, port 10032) with ESMTP id Cu2fSJkVVSEt; Thu, 1 Jul 2021 21:28:40 +0200 (CEST) Received: from localhost (localhost [127.0.0.1]) by lithops.sigma-star.at (Postfix) with ESMTP id 20775610848B; Thu, 1 Jul 2021 21:28:40 +0200 (CEST) Received: from lithops.sigma-star.at ([127.0.0.1]) by localhost (lithops.sigma-star.at [127.0.0.1]) (amavisd-new, port 10026) with ESMTP id cVnxTMQBKNSC; Thu, 1 Jul 2021 21:28:40 +0200 (CEST) Received: from lithops.sigma-star.at (lithops.sigma-star.at [195.201.40.130]) by lithops.sigma-star.at (Postfix) with ESMTP id EBAA06108478; Thu, 1 Jul 2021 21:28:39 +0200 (CEST) Date: Thu, 1 Jul 2021 21:28:39 +0200 (CEST) From: Richard Weinberger To: Sean Anderson Cc: Linux Crypto Mailing List , Herbert Xu , davem , horia geanta , aymen sghaier , linux-arm-kernel , Marek Vasut , david Message-ID: <723802567.13207.1625167719840.JavaMail.zimbra@nod.at> In-Reply-To: <20210701185638.3437487-1-sean.anderson@seco.com> References: <20210701185638.3437487-1-sean.anderson@seco.com> Subject: Re: [PATCH v2 0/2] crypto: mxs_dcp: Fix an Oops on i.MX6ULL MIME-Version: 1.0 X-Originating-IP: [195.201.40.130] X-Mailer: Zimbra 8.8.12_GA_3807 (ZimbraWebClient - FF78 (Linux)/8.8.12_GA_3809) Thread-Topic: crypto: mxs_dcp: Fix an Oops on i.MX6ULL Thread-Index: IWrviunujKG/v99nyBJ/3UbF2cACPA== X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20210701_122856_022294_F4F2996C X-CRM114-Status: GOOD ( 21.21 ) 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 U2VhbiwKCltDQydpbmcgRGF2aWRdCgotLS0tLSBVcnNwcsO8bmdsaWNoZSBNYWlsIC0tLS0tCj4g Vm9uOiAiU2VhbiBBbmRlcnNvbiIgPHNlYW4uYW5kZXJzb25Ac2Vjby5jb20+Cj4gQW46ICJMaW51 eCBDcnlwdG8gTWFpbGluZyBMaXN0IiA8bGludXgtY3J5cHRvQHZnZXIua2VybmVsLm9yZz4sICJI ZXJiZXJ0IFh1IiA8aGVyYmVydEBnb25kb3IuYXBhbmEub3JnLmF1PiwgImRhdmVtIgo+IDxkYXZl bUBkYXZlbWxvZnQubmV0Pgo+IENDOiAiaG9yaWEgZ2VhbnRhIiA8aG9yaWEuZ2VhbnRhQG54cC5j b20+LCAiYXltZW4gc2doYWllciIgPGF5bWVuLnNnaGFpZXJAbnhwLmNvbT4sICJyaWNoYXJkIiA8 cmljaGFyZEBub2QuYXQ+LAo+ICJsaW51eC1hcm0ta2VybmVsIiA8bGludXgtYXJtLWtlcm5lbEBs aXN0cy5pbmZyYWRlYWQub3JnPiwgIk1hcmVrIFZhc3V0IiA8bWFyZXhAZGVueC5kZT4sICJTZWFu IEFuZGVyc29uIgo+IDxzZWFuLmFuZGVyc29uQHNlY28uY29tPgo+IEdlc2VuZGV0OiBEb25uZXJz dGFnLCAxLiBKdWxpIDIwMjEgMjA6NTY6MzYKPiBCZXRyZWZmOiBbUEFUQ0ggdjIgMC8yXSBjcnlw dG86IG14c19kY3A6IEZpeCBhbiBPb3BzIG9uIGkuTVg2VUxMCgo+IFRoaXMgZml4ZXMgYXQgbGVh c3Qgb25lIG9vcHMgd2hlbiB1c2luZyB0aGUgRENQIG9uIFVMTC4gSG93ZXZlciwgSSBnb3QKPiBh bm90aGVyIE9vcHMgd2hlbiBydW5uaW5nIGtjYXBpLWRnc3QtdGVzdC5zaCBmcm9tIHRoZSBsaWJr Y2FwaSB0ZXN0Cj4gc3VpdGUgWzFdOgo+IAo+IFsgNjk2MS4xODE3NzddIFVuYWJsZSB0byBoYW5k bGUga2VybmVsIE5VTEwgcG9pbnRlciBkZXJlZmVyZW5jZSBhdCB2aXJ0dWFsCj4gYWRkcmVzcyAw MDAwMDhmOAo+IFsgNjk2MS4xOTAxNDNdIHBnZCA9IGU1OTU0MmE2Cj4gWyA2OTYxLjE5MjkxN10g WzAwMDAwOGY4XSAqcGdkPTAwMDAwMDAwCj4gWyA2OTYxLjE5NjU4Nl0gSW50ZXJuYWwgZXJyb3I6 IE9vcHM6IDUgWyMxXSBBUk0KPiBbIDY5NjEuMjAwODc3XSBNb2R1bGVzIGxpbmtlZCBpbjogY3J5 cHRvX3VzZXIgbXhzX2RjcCBjZmc4MDIxMSByZmtpbGwKPiBkZXNfZ2VuZXJpYyBsaWJkZXMgYXJj NCBsaWJhcmM0IGNiYyBlY2IgYWxnaWZfc2tjaXBoZXIgc2hhMjU2X2dlbmVyaWMgbGlic2hhMjU2 Cj4gc2hhMV9nZW5lcmljIGhtYWMgYWVzX2dlbmVyaWMgbGliYWVzIGNtYWMgc2hhNTEyX2dlbmVy aWMgbWQ1IG1kNCBhbGdpZl9oYXNoCj4gYWZfYWxnIGkyY19pbXggY2lfaGRyY19pbXggY2lfaGRy YyBpMmNfY29yZSB1bHBpIHJvbGVzIHVkY19jb3JlIGlteF9zZG1hCj4gdXNiX2NvbW1vbiBmaXJt d2FyZV9jbGFzcyB1c2JtaXNjX2lteCB2aXJ0X2RtYSBwaHlfbXhzX3VzYiBuZl90YWJsZXMgbmZu ZXRsaW5rCj4gaXBfdGFibGVzIHhfdGFibGVzIGlwdjYgYXV0b2ZzNCBbbGFzdCB1bmxvYWRlZDog bXhzX2RjcF0KPiBbIDY5NjEuMjM5MjI4XSBDUFU6IDAgUElEOiA0NjkgQ29tbTogbXhzX2RjcF9j aGFuL2FlIE5vdCB0YWludGVkCj4gNS4xMC40Ni0zMTUtdGlhZ28gIzMxNQo+IFsgNjk2MS4yNDY5 ODhdIEhhcmR3YXJlIG5hbWU6IEZyZWVzY2FsZSBpLk1YNiBVbHRyYWxpdGUgKERldmljZSBUcmVl KQo+IFsgNjk2MS4yNTMyMDFdIFBDIGlzIGF0IG1lbWNweSsweGMwLzB4MzMwCj4gWyA2OTYxLjI1 Njk5M10gTFIgaXMgYXQgZGNwX2NoYW5fdGhyZWFkX2FlcysweDIyMC8weDk0YyBbbXhzX2RjcF0K PiBbIDY5NjEuMjYyODQ3XSBwYyA6IFs8YzA1M2YxZTA+XSAgICBsciA6IFs8YmYxM2NkYTQ+XSAg ICBwc3I6IDgwMGUwMDEzCj4gWyA2OTYxLjI2OTEzMF0gc3AgOiBjZGMwOWVmNCAgaXAgOiAwMDAw MDAxMCAgZnAgOiBjMzZlNTgwOAo+IFsgNjk2MS4yNzQzNzBdIHIxMDogY2RjYzMxNTAgIHI5IDog MDAwMDAwMDAgIHI4IDogYmZmNDYwMDAKPiBbIDY5NjEuMjc5NjEzXSByNyA6IGMzNmU1OWQwICBy NiA6IGMyZTQyODQwICByNSA6IGNkY2MzMTQwICByNCA6IDAwMDAwMDAxCj4gWyA2OTYxLjI4NjE1 Nl0gcjMgOiAwMDAwMDhmOSAgcjIgOiA4MDAwMDAwMCAgcjEgOiAwMDAwMDhmOCAgcjAgOiBjZGMx MDA0Zgo+IFsgNjk2MS4yOTI3MDRdIEZsYWdzOiBOemN2ICBJUlFzIG9uICBGSVFzIG9uICBNb2Rl IFNWQ18zMiAgSVNBIEFSTSAgU2VnbWVudCBub25lCj4gWyA2OTYxLjI5OTg2MF0gQ29udHJvbDog MTBjNTNjN2QgIFRhYmxlOiA4MzM1ODA1OSAgREFDOiAwMDAwMDA1MQo+IFsgNjk2MS4zMDU2Mjhd IFByb2Nlc3MgbXhzX2RjcF9jaGFuL2FlIChwaWQ6IDQ2OSwgc3RhY2sgbGltaXQgPSAweGUxZWZk YzgwKQo+IFsgNjk2MS4zMTIzNDZdIFN0YWNrOiAoMHhjZGMwOWVmNCB0byAweGNkYzBhMDAwKQo+ IFsgNjk2MS4zMTY3MjZdIDllZTA6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIGNkYzEwMDRmCj4gMDAwMDAwMDEgYmYxM2NkYTQKPiBbIDY5NjEuMzI0OTMwXSA5 ZjAwOiAwMDAwMDAwMCAwMDAwMDAwMCBjMjNiNDFhMCAwMDAwMDAwMCBjMzZlNTlkMCAwMDAwMDAw MQo+IDAwMDAwMDEwIDAwMDAwMDAwCj4gWyA2OTYxLjMzMzEzMl0gOWYyMDogMDAwMDAwMDAgMDAw MDAwMDAgYzEzZGUyZmMgMDAwMDA4ZjkgOGRjMTMwODAgMDAwMDAwMTAKPiBjZGNjMzE1MCBjMjFl NTAxMAo+IFsgNjk2MS4zNDEzMzVdIDlmNDA6IGNkYzA4MDAwIGNkYzEwMDQwIDAwMDAwMDAxIGJm MTNmYTQwIGNkYzExMDQwIGMyZTQyODgwCj4gMDAwMDAwMDIgY2M4NjE0NDAKPiBbIDY5NjEuMzQ5 NTM1XSA5ZjYwOiBmZmZmZTAwMCBjMzNkYmUwMCBjMzMyY2I0MCBjZGMwODAwMCAwMDAwMDAwMCBi ZjEzY2I4NAo+IDAwMDAwMDAwIGMzMzUzYzU0Cj4gWyA2OTYxLjM1NzczNl0gOWY4MDogYzMzZGJl NDQgYzAxNDBkMzQgY2RjMDgwMDAgYzMzMmNiNDAgYzAxNDBjMDAgMDAwMDAwMDAKPiAwMDAwMDAw MCAwMDAwMDAwMAo+IFsgNjk2MS4zNjU5MzZdIDlmYTA6IDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAw MDAwIGMwMTAwMTE0IDAwMDAwMDAwIDAwMDAwMDAwCj4gMDAwMDAwMDAgMDAwMDAwMDAKPiBbIDY5 NjEuMzc0MTM4XSA5ZmMwOiAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAw MDAwMCAwMDAwMDAwMAo+IDAwMDAwMDAwIDAwMDAwMDAwCj4gWyA2OTYxLjM4MjMzOF0gOWZlMDog MDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMTMgMDAwMDAwMDAKPiAw MDAwMDAwMCAwMDAwMDAwMAo+IFsgNjk2MS4zOTA1NjddIFs8YzA1M2YxZTA+XSAobWVtY3B5KSBm cm9tIFs8YmYxM2NkYTQ+XQo+IChkY3BfY2hhbl90aHJlYWRfYWVzKzB4MjIwLzB4OTRjIFtteHNf ZGNwXSkKPiBbIDY5NjEuMzk5MzEyXSBbPGJmMTNjZGE0Pl0gKGRjcF9jaGFuX3RocmVhZF9hZXMg W214c19kY3BdKSBmcm9tIFs8YzAxNDBkMzQ+XQo+IChrdGhyZWFkKzB4MTM0LzB4MTYwKQo+IFsg Njk2MS40MDgxMzddIFs8YzAxNDBkMzQ+XSAoa3RocmVhZCkgZnJvbSBbPGMwMTAwMTE0Pl0KPiAo cmV0X2Zyb21fZm9yaysweDE0LzB4MjApCj4gWyA2OTYxLjQxNTM3N10gRXhjZXB0aW9uIHN0YWNr KDB4Y2RjMDlmYjAgdG8gMHhjZGMwOWZmOCkKPiBbIDY5NjEuNDIwNDQ4XSA5ZmEwOiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAwMDAwMDAwMCAwMDAwMDAwMAo+IDAwMDAwMDAw IDAwMDAwMDAwCj4gWyA2OTYxLjQyODY0N10gOWZjMDogMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAw MDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAKPiAwMDAwMDAwMCAwMDAwMDAwMAo+IFsgNjk2 MS40MzY4NDVdIDlmZTA6IDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAw MDEzIDAwMDAwMDAwCj4gWyA2OTYxLjQ0MzQ4OF0gQ29kZTogZTQ4MDgwMDQgZTQ4MGUwMDQgZThi ZDAxZTAgZTFiMDJmODIgKDE0ZDEzMDAxKQo+IAo+IHdoZXJlIGRjcF9jaGFuX3RocmVhZF9hZXMr MHgyMjAgaXMgdGhlIGxpbmUKPiAKPgltZW1jcHkoaW5fYnVmICsgYWN0eC0+ZmlsbCwgc3JjX2J1 ZiwgY2xlbik7Cj4gCj4gaW4gbXhzX2RjcF9hZXNfYmxvY2tfY3J5cHQuIEkgYWxzbyB0cmllZCB3 aXRoIHRoZSBmb2xsb3dpbmcgcGF0Y2gKPiBpbnN0ZWFkIG9mIHRoZSBvbmUgaW5jbHVkZWQgaW4g dGhpcyBzZXJpZXM6Cj4gCj4gLS0tCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvY3J5cHRvL214cy1k Y3AuYyBiL2RyaXZlcnMvY3J5cHRvL214cy1kY3AuYwo+IGluZGV4IGYzOTdjYzViZjEwMi4uNTRm ZDI0YmExMjYxIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvY3J5cHRvL214cy1kY3AuYwo+ICsrKyBi L2RyaXZlcnMvY3J5cHRvL214cy1kY3AuYwo+IEBAIC0zNjcsNiArMzY3LDcgQEAgc3RhdGljIGlu dCBteHNfZGNwX2Flc19ibG9ja19jcnlwdChzdHJ1Y3QKPiBjcnlwdG9fYXN5bmNfcmVxdWVzdCAq YXJxKQo+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYXN0X291dF9sZW4gPSBhY3R4 LT5maWxsOwo+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aGlsZSAoZHN0ICYmIGFj dHgtPmZpbGwpIHsKPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAo IXNwbGl0KSB7Cj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAga21hcChzZ19wYWdlKGRzdCkpOwo+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgZHN0X2J1ZiA9IHNnX3ZpcnQoZHN0KTsKPiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRzdF9vZmYgPSAwOwo+ICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KPiBAQCAtMzc5LDYgKzM4MCw3IEBAIHN0YXRp YyBpbnQgbXhzX2RjcF9hZXNfYmxvY2tfY3J5cHQoc3RydWN0Cj4gY3J5cHRvX2FzeW5jX3JlcXVl c3QgKmFycSkKPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhY3R4LT5m aWxsIC09IHJlbTsKPiAKPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp ZiAoZHN0X29mZiA9PSBzZ19kbWFfbGVuKGRzdCkpIHsKPiArICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBrdW5tYXAoc2dfcGFnZShkc3QpKTsKPiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRzdCA9IHNnX25leHQoZHN0 KTsKPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNwbGl0 ID0gMDsKPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2Ugewo+ IC0tCj4gCj4gYnV0IGdvdCB0aGUgc2FtZSBvb3BzLiBVbmZvcnR1bmF0ZWx5LCBJIGRvbid0IGhh dmUgdGhlIHRpbWUgdG8KPiBpbnZlc3RpZ2F0ZSB0aGlzIG9vcHMgYXMgd2VsbC4gSSdkIGFwcHJl Y2lhdGUgaWYgYW55b25lIGVsc2UgdXNpbmcgdGhpcwo+IGRldmljZSBjb3VsZCBsb29rIGludG8g dGhpcyBhbmQgc2VlIGlmIHRoZXkgZW5jb3VudGVyIHRoZSBzYW1lIGVycm9ycy4KPiAKPiBbMV0g aHR0cHM6Ly9naXRodWIuY29tL3NtdWVsbGVyREQvbGlia2NhcGkvYmxvYi9tYXN0ZXIvdGVzdC9r Y2FwaS1kZ3N0LXRlc3Quc2gKCkNhbiB5b3UgcGxlYXNlIHNoYXJlIHlvdXIga2VybmVsIC5jb25m aWc/IERhdmlkIG9yIEkgY2FuIHRlc3Qgb24gb3VyIHRlc3QgYmVkLgpCdXQgd2lsbCB0YWtlIGEg ZmV3IGRheXMuCgpUaGFua3MsCi8vcmljaGFyZAoKX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX18KbGludXgtYXJtLWtlcm5lbCBtYWlsaW5nIGxpc3QKbGludXgt YXJtLWtlcm5lbEBsaXN0cy5pbmZyYWRlYWQub3JnCmh0dHA6Ly9saXN0cy5pbmZyYWRlYWQub3Jn L21haWxtYW4vbGlzdGluZm8vbGludXgtYXJtLWtlcm5lbAo=