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.5 required=3.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM, HEADER_FROM_DIFFERENT_DOMAINS,HTML_MESSAGE,INCLUDES_PATCH,MAILING_LIST_MULTI, MIME_HTML_ONLY,SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS,UNPARSEABLE_RELAY 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 066DDC33CB1 for ; Tue, 14 Jan 2020 10:08:54 +0000 (UTC) Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by mail.kernel.org (Postfix) with ESMTP id 6EEA52467D for ; Tue, 14 Jan 2020 10:08:53 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (1024-bit key) header.d=aliyun.com header.i=@aliyun.com header.b="fNGQu5V2" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 6EEA52467D Authentication-Results: mail.kernel.org; dmarc=fail (p=quarantine dis=none) header.from=aliyun.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=owner-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix) id 2285E8E0005; Tue, 14 Jan 2020 05:08:53 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 1D7E18E0003; Tue, 14 Jan 2020 05:08:53 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 0EEA08E0005; Tue, 14 Jan 2020 05:08:53 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0070.hostedemail.com [216.40.44.70]) by kanga.kvack.org (Postfix) with ESMTP id E09668E0003 for ; Tue, 14 Jan 2020 05:08:52 -0500 (EST) Received: from smtpin18.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by forelay02.hostedemail.com (Postfix) with SMTP id A67C734A4 for ; Tue, 14 Jan 2020 10:08:52 +0000 (UTC) X-FDA: 76375816104.18.aunt07_4d484bfeec32f X-HE-Tag: aunt07_4d484bfeec32f X-Filterd-Recvd-Size: 15599 Received: from out30-39.freemail.mail.aliyun.com (out30-39.freemail.mail.aliyun.com [115.124.30.39]) by imf35.hostedemail.com (Postfix) with ESMTP for ; Tue, 14 Jan 2020 10:08:50 +0000 (UTC) DKIM-Signature:v=1; a=rsa-sha256; c=relaxed/relaxed; d=aliyun.com; s=s1024; t=1578996527; h=Date:From:To:Message-ID:Subject:MIME-Version:Content-Type; bh=oP5FrViYOPTxtkg0G8J8JVxUdUsQ10bSCNvc1yC3T1E=; b=fNGQu5V2IkwAlnj5+fI+mYKrjGxi0OgsxSXm11tpBLXmKt1c4eg3xUbTCSA6hqP4impaYP9NhVE+tPdWb6+g2oqpXUYfTAllFnKAh2Sq2+QEYWWxgJNNBJF7HUgzwp4CT1R/D4Algju7dh/G5RzifTpqMOWcli9/1XmxLnPz030= X-Alimail-AntiSpam:AC=CONTINUE;BC=0.07679244|-1;CH=green;DM=CONTINUE|CONTINUE|true|0.343038-0.0231143-0.633848;DS=CONTINUE|ham_social|0.137095-0.0340791-0.828826;FP=0|0|0|0|0|-1|-1|-1;HT=e01e07484;MF=buddy.zhang@aliyun.com;NM=1;PH=DS;RN=4;RT=4;SR=0;TI=SMTPD_---0TnicGGP_1578996526; Received: from DESKTOP-SOND0CC(mailfrom:buddy.zhang@aliyun.com fp:SMTPD_---0TnicGGP_1578996526) by smtp.aliyun-inc.com(127.0.0.1); Tue, 14 Jan 2020 18:08:46 +0800 Date: Tue, 14 Jan 2020 18:08:46 +0800 From: buddy.zhang To: =?utf-8?Q?david=40redhat.com?= Cc: =?utf-8?Q?akpm=40linux-foundation.org?= , =?utf-8?Q?linux-mm=40kvack.org?= , =?utf-8?Q?linux-kernel=40vger.kernel.org?= Message-ID: In-Reply-To: <3cb5e071-c5c0-47f8-96e9-526ca5dbfc62@redhat.com> References: <20200114075147.30672-1-buddy.zhang@aliyun.com> <3cb5e071-c5c0-47f8-96e9-526ca5dbfc62@redhat.com> Subject: Re: [PATCH] mm/cma.c: find a named CMA area by name X-Mailer: MailMasterPC/4.10.2.1001 (Windows 10 RS5) X-CUSTOM-MAIL-MASTER-SENT-ID: AB08034B-C9F4-4790-99D3-30926FE16F0D MIME-Version: 1.0 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: base64 X-Bogosity: Ham, tests=bogofilter, spamicity=0.000690, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: PGh0bWw+DQo8aGVhZD4NCiAgICA8bWV0YSBodHRwLWVxdWl2PSdDb250ZW50LVR5cGUnIGNvbnRl bnQ9J3RleHQvaHRtbDsgY2hhcnNldD1VVEYtOCc+DQo8L2hlYWQ+DQo8Ym9keT4NCjxzdHlsZT4N CiAgICBmb250ew0KICAgICAgICBsaW5lLWhlaWdodDogMS42Ow0KICAgIH0NCiAgICB1bCxvbHsN CiAgICAgICAgcGFkZGluZy1sZWZ0OiAyMHB4Ow0KICAgICAgICBsaXN0LXN0eWxlLXBvc2l0aW9u OiBpbnNpZGU7DQogICAgfQ0KPC9zdHlsZT4NCjxkaXYgc3R5bGUgPSAnZm9udC1mYW1pbHk65b6u 6L2v6ZuF6buRLFZlcmRhbmEsJnF1b3Q7TWljcm9zb2Z0IFlhaGVpJnF1b3Q7LFNpbVN1bixzYW5z LXNlcmlmOyBsaW5lLWhlaWdodDoxLjY7Jz4NCiAgICA8ZGl2ID48L2Rpdj48ZGl2PgogICAgPGRp dj4KICAgICAgICA8c3BhbiBzdHlsZT0ibGluZS1oZWlnaHQ6IDIyLjRweDsiPk9uIDE0LjAxLjIw IDE3OjAyLCZuYnNwOzwvc3Bhbj48YSBjbGFzcz0ibWFpbC10byIgaHJlZj0ibWFpbHRvOmRhdmlk QHJlZGhhdC5jb20iIHN0eWxlPSJmb250LXNpemU6IDEycHg7IGxpbmUtaGVpZ2h0OiAxOHB4OyB0 ZXh0LWRlY29yYXRpb246IG5vbmU7IGNvbG9yOiByZ2IoNDIsIDEzMSwgMjQyKTsgYmFja2dyb3Vu ZC1jb2xvcjogcmdiKDI0MiwgMjQyLCAyNDIpOyI+RGF2aWQgSGlsZGVuYnJhbmQmbHQ7ZGF2aWRA cmVkaGF0LmNvbSZndDs8L2E+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTJweDsgbGluZS1oZWln aHQ6IDE4cHg7IGJhY2tncm91bmQtY29sb3I6IHJnYigyNDIsIDI0MiwgMjQyKTsiPiZuYnNwO3dy b3RlPC9zcGFuPjxzcGFuIHN0eWxlPSJsaW5lLWhlaWdodDogMjIuNHB4OyI+Ojwvc3Bhbj48YnIg c3R5bGU9ImxpbmUtaGVpZ2h0OiAyMi40cHg7Ij48YmxvY2txdW90ZSBjbGFzcz0ibW1icWMxIiBz dHlsZT0ibGluZS1oZWlnaHQ6IDIyLjRweDsiPkZyb206Jm5ic3A7PHNwYW4gc3R5bGU9ImxpbmUt aGVpZ2h0OiAyMi40cHg7Ij5kYXZpZDwvc3Bhbj4mbmJzcDsmbHQ7ZGF2aWRAcmVkaGF0LmNvbSZn dDs8YnI+PGJyPipjb3VsZCBoZWxwKiAtIGlmIHRoZXJlIGlzIG5vIHVzZXIsIHdoeSBkbyB3ZSBu ZWVkIGl0PyBPciBkbyB5b3UgaGF2ZSBhPGJyPnVzZXI/PC9ibG9ja3F1b3RlPjxzcGFuPgogICAg ICAgICAgICAKICAgICAgICA8L3NwYW4+CiAgICA8L2Rpdj4KICAgIDxkaXY+CiAgICAgICAgPHNw YW4+CiAgICAgICAgICAgIDxicj4KICAgICAgICA8L3NwYW4+CiAgICA8L2Rpdj48ZGl2Pjxicj48 L2Rpdj48ZGl2PkhpIERhdmlkOjwvZGl2PjxkaXY+Jm5ic3A7ICZuYnNwOyBXaXRoIHRoZSBjb250 aW51b3VzIGRldmVsb3BtZW50IG9mIHZpZGVvIGFuZCBBSSB0ZWNobm9sb2d5LCBkZXZpY2UgcmVx dWVzdDwvZGl2PjxkaXY+Jm5ic3A7ICZuYnNwOyBsb3RzIG9mIGNvbnRpbnVvdXMgcGh5c2ljYWwg bWVtb3J5LiBJbiBzb21lIGNhc2VzLCBpbiBvcmRlciB0byBlbnN1cmUgZGV2aWNlPC9kaXY+PGRp dj4mbmJzcDsgJm5ic3A7IG9idGFpbiZuYnNwOzxzcGFuIHN0eWxlPSJsaW5lLWhlaWdodDogMjIu NHB4OyI+Y29udGludW91cyBwaHlzaWNhbCBtZW1vcnkgYW5kIGFsc28gYW92aWQgZGVicmlzIHdo aWNoIGNyZWF0ZSBieSBvdGhlciZuYnNwOzwvc3Bhbj48L2Rpdj48ZGl2PjxzcGFuIHN0eWxlPSJs aW5lLWhlaWdodDogMS42OyI+Jm5ic3A7ICZuYnNwOyZuYnNwOzwvc3Bhbj48c3BhbiBzdHlsZT0i bGluZS1oZWlnaHQ6IDIyLjRweDsiPmRldmljZS4gQmFzZWQgb24gdGhlIGFib3ZlIHNpdHVhdGlv biwgc29tZSBkZXZpY2UgbmVlZCBleGNsdXNpdmUgYSBzcGVjaWFsPC9zcGFuPjwvZGl2PjxkaXY+ Jm5ic3A7ICZuYnNwOyBuYW1lZCBDTUEgYXJlYS48L2Rpdj48ZGl2Pjxicj48L2Rpdj48ZGl2PiZu YnNwOyAmbmJzcDsgT24gQ01BLCB0aGUgc3lzdGVtIHN1cHBvcnQgbXVsdGlwbGUgbmFtZWQgb3Ig YW5vbnltb3VzIENNQSBhcmVhcywgYW5kIHdlIGNhbiZuYnNwOzwvZGl2PjxkaXY+Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7ZXN0YWJsaXNoIENNQSBhcmVhIHdpdGggbmFtZSBvbiBEVFMsIGFzIGZv bGxvdzo8L2Rpdj48ZGl2Pjxicj48L2Rpdj48ZGl2PiZuYnNwOyAmbmJzcDsgLyB7PC9kaXY+PGRp dj4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgcmVzZXJ2ZWQtbWVtb3J5IHs8L2Rpdj48ZGl2 PiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICNhZGRyZXNzLWNlbGxz ID0gJmx0OzEmZ3Q7OzwvZGl2PjxkaXY+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNw OyAmbmJzcDsgI3NpemUtY2VsbHMgPSAmbHQ7MSZndDs7PC9kaXY+PGRpdj4mbmJzcDsgJm5ic3A7 ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyByYW5nZXM7PC9kaXY+PGRpdj48YnI+PC9kaXY+ PGRpdj4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBsaW51eCxjbWEg ezwvZGl2PjxkaXY+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5i c3A7ICZuYnNwOyBjb21wYXRpYmxlID0gInNoYXJlZC1kbWEtcG9vbCI7PC9kaXY+PGRpdj4mbmJz cDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IHJldXNh YmxlOzwvZGl2PjxkaXY+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsg Jm5ic3A7ICZuYnNwOyBzaXplID0gJmx0OzB4MDA4MDAwMDAmZ3Q7OyAvKiA4TSAqLzwvZGl2Pjxk aXY+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNw OyBhbGxvYy1yYW5nZXMgPSAmbHQ7MHg2OTAwMDAwMCAweDAwODAwMDAwJmd0Ozs8L2Rpdj48ZGl2 PiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsg bGludXgsY21hLWRlZmF1bHQ7PC9kaXY+PGRpdj4mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDt9OzwvZGl2PjxkaXY+ PGJyPjwvZGl2PjxkaXY+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsg Q01BMCB7IC8qIFNjYWxlciAqLzwvZGl2PjxkaXY+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7 ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyZuYnNwOzxzcGFuIHN0eWxlPSJsaW5lLWhlaWdo dDogMjIuNHB4OyI+Y29tcGF0aWJsZSA9ICJzaGFyZWQtZG1hLXBvb2wiOzwvc3Bhbj48L2Rpdj48 ZGl2PiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJz cDsmbmJzcDs8c3BhbiBzdHlsZT0ibGluZS1oZWlnaHQ6IDIyLjRweDsiPnJldXNhYmxlOzwvc3Bh bj48L2Rpdj48ZGl2PiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZu YnNwOyAmbmJzcDsmbmJzcDs8c3BhbiBzdHlsZT0ibGluZS1oZWlnaHQ6IDIyLjRweDsiPnNpemUg PSAmbHQ7MHgwMDgwMDAwMCZndDs7IC8qIDhNICovPC9zcGFuPjwvZGl2PjxkaXY+Jm5ic3A7ICZu YnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyZuYnNwOzxzcGFu IHN0eWxlPSJsaW5lLWhlaWdodDogMjIuNHB4OyI+YWxsb2MtcmFuZ2VzID0gJmx0OzB4NkEwMDAw MDAgMHgwMDgwMDAwMCZndDs7PC9zcGFuPjwvZGl2PjxkaXY+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7fTs8L2Rp dj48ZGl2Pjxicj48L2Rpdj48ZGl2PiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsg Jm5ic3A7IENNQTEgeyAvKiBERUNPREUgKi88L2Rpdj48ZGl2PjxzcGFuIHN0eWxlPSJsaW5lLWhl aWdodDogMS42OyI+Jm5ic3A7ICZuYnNwOyZuYnNwOzwvc3Bhbj48c3BhbiBzdHlsZT0ibGluZS1o ZWlnaHQ6IDEuNjsiPiZuYnNwOyAmbmJzcDsmbmJzcDs8L3NwYW4+PHNwYW4gc3R5bGU9ImxpbmUt aGVpZ2h0OiAxLjY7Ij4mbmJzcDsgJm5ic3A7Jm5ic3A7PC9zcGFuPjxzcGFuIHN0eWxlPSJsaW5l LWhlaWdodDogMS42OyI+Jm5ic3A7ICZuYnNwOyZuYnNwOzwvc3Bhbj48c3BhbiBzdHlsZT0ibGlu ZS1oZWlnaHQ6IDIyLjRweDsiPmNvbXBhdGlibGUgPSAic2hhcmVkLWRtYS1wb29sIjs8L3NwYW4+ PC9kaXY+PGRpdj48c3BhbiBzdHlsZT0ibGluZS1oZWlnaHQ6IDEuNjsiPiZuYnNwOyAmbmJzcDsm bmJzcDs8L3NwYW4+PHNwYW4gc3R5bGU9ImxpbmUtaGVpZ2h0OiAxLjY7Ij4mbmJzcDsgJm5ic3A7 Jm5ic3A7PC9zcGFuPjxzcGFuIHN0eWxlPSJsaW5lLWhlaWdodDogMS42OyI+Jm5ic3A7ICZuYnNw OyZuYnNwOzwvc3Bhbj48c3BhbiBzdHlsZT0ibGluZS1oZWlnaHQ6IDEuNjsiPiZuYnNwOyAmbmJz cDsmbmJzcDs8L3NwYW4+PHNwYW4gc3R5bGU9ImxpbmUtaGVpZ2h0OiAyMi40cHg7Ij5yZXVzYWJs ZTs8L3NwYW4+PC9kaXY+PGRpdj48c3BhbiBzdHlsZT0ibGluZS1oZWlnaHQ6IDEuNjsiPiZuYnNw OyAmbmJzcDsmbmJzcDs8L3NwYW4+PHNwYW4gc3R5bGU9ImxpbmUtaGVpZ2h0OiAxLjY7Ij4mbmJz cDsgJm5ic3A7Jm5ic3A7PC9zcGFuPjxzcGFuIHN0eWxlPSJsaW5lLWhlaWdodDogMS42OyI+Jm5i c3A7ICZuYnNwOyZuYnNwOzwvc3Bhbj48c3BhbiBzdHlsZT0ibGluZS1oZWlnaHQ6IDEuNjsiPiZu YnNwOyAmbmJzcDsmbmJzcDs8L3NwYW4+PHNwYW4gc3R5bGU9ImxpbmUtaGVpZ2h0OiAyMi40cHg7 Ij5zaXplID0gJmx0OzB4MDA4MDAwMDAmZ3Q7OyAvKiA4TSAqLzwvc3Bhbj48L2Rpdj48ZGl2Pjxz cGFuIHN0eWxlPSJsaW5lLWhlaWdodDogMS42OyI+Jm5ic3A7ICZuYnNwOyZuYnNwOzwvc3Bhbj48 c3BhbiBzdHlsZT0ibGluZS1oZWlnaHQ6IDEuNjsiPiZuYnNwOyAmbmJzcDsmbmJzcDs8L3NwYW4+ PHNwYW4gc3R5bGU9ImxpbmUtaGVpZ2h0OiAxLjY7Ij4mbmJzcDsgJm5ic3A7Jm5ic3A7PC9zcGFu PjxzcGFuIHN0eWxlPSJsaW5lLWhlaWdodDogMS42OyI+Jm5ic3A7ICZuYnNwOyZuYnNwOzwvc3Bh bj48c3BhbiBzdHlsZT0ibGluZS1oZWlnaHQ6IDIyLjRweDsiPmFsbG9jLXJhbmdlcyA9ICZsdDsw eDZCMDAwMDAwIDB4MDA4MDAwMDAmZ3Q7PC9zcGFuPjwvZGl2PjxkaXY+Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 fTs8L2Rpdj48ZGl2Pjxicj48L2Rpdj48ZGl2PiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAm bmJzcDsgJm5ic3A7IENNQV92cG0gezwvZGl2PjxkaXY+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5i c3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyZuYnNwOzxzcGFuIHN0eWxlPSJsaW5lLWhl aWdodDogMjIuNHB4OyI+Y29tcGF0aWJsZSA9ICJzaGFyZWQtZG1hLXBvb2wiOzwvc3Bhbj48L2Rp dj48ZGl2PiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAm bmJzcDsmbmJzcDs8c3BhbiBzdHlsZT0ibGluZS1oZWlnaHQ6IDIyLjRweDsiPnJldXNhYmxlOzwv c3Bhbj48L2Rpdj48ZGl2PiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7 ICZuYnNwOyAmbmJzcDsmbmJzcDs8c3BhbiBzdHlsZT0ibGluZS1oZWlnaHQ6IDIyLjRweDsiPnNp emUgPSAmbHQ7MHgwMDgwMDAwMCZndDs7IC8qIDhNICovPC9zcGFuPjwvZGl2PjxkaXY+Jm5ic3A7 ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyZuYnNwOzxz cGFuIHN0eWxlPSJsaW5lLWhlaWdodDogMjIuNHB4OyI+YWxsb2MtcmFuZ2VzID0gJmx0OzB4NkMw MDAwMDAgMHgwMDgwMDAwMCZndDs7PC9zcGFuPjwvZGl2PjxkaXY+Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7fTs8 L2Rpdj48ZGl2PiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw O307PC9kaXY+PGRpdj4mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDt9PC9kaXY+PGRpdj4mbmJzcDsg Jm5ic3A7Jm5ic3A7PC9kaXY+PGRpdj48YnI+PC9kaXY+PGRpdj4mbmJzcDsgJm5ic3A7IEFzIHNo b3duIGFib3ZlLCB0aGUgc3lzdGVtIHdpbGwgZXN0YWJsaXNoIDQgQ01BIGFyZWEsIGFuZCBhbGwg Q01BIGFyZWFzIGlzIG5hbWVkJm5ic3A7PC9kaXY+PGRpdj4mbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDtDTUEgYXJlYS4gc3VjaCBhcyDigJxkZWZhdWx0IuOAgSJDTUEwIuOAgSJDTUExIuOAgWFuZCAi Q01BX3ZwbSIuIFNvbWUgZGV2aWNlPC9kaXY+PGRpdj4mbmJzcDsgJm5ic3A7IG11c3QgdXNlIG9y IGV4Y2x1c2l2ZSBhIHNwZWNpYWwgQ01BIGFyZWEsIHNvIGRldmljZSB3aWxsIHByb2Nlc3MgYXMg Zm9sbG93OjwvZGl2PjxkaXY+PGJyPjwvZGl2PjxkaXY+Jm5ic3A7ICZuYnNwOyBEZXZpY2UgQTo8 L2Rpdj48ZGl2Pjxicj48L2Rpdj48ZGl2PiZuYnNwOyAmbmJzcDsgc3RhdGljIGludCBYQV9wcm9i ZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KTwvZGl2PjxkaXY+Jm5ic3A7ICZuYnNwOyB7 PC9kaXY+PGRpdj4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgc3RydWN0IGNtYSAqY21hOzwv ZGl2PjxkaXY+PGJyPjwvZGl2PjxkaXY+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGNtYSA9 IGNtYV9maW5kX2J5X25hbWUoIkNNQV92cG0iKTs8L2Rpdj48ZGl2PiZuYnNwOyAmbmJzcDsgJm5i c3A7ICZuYnNwOyBpZiAoY21hKSB7PC9kaXY+PGRpdj4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJz cDsgJm5ic3A7ICZuYnNwOyBwZGV2LSZndDtkZXYuY21hX2FyZWEgPSBjbWE7PC9kaXY+PGRpdj4m bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDt9PC9kaXY+PGRp dj4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgLi4uLi48L2Rpdj48ZGl2PiZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwO308L2Rpdj48ZGl2PiZuYnNwOyAmbmJzcDsmbmJzcDs8L2Rpdj48ZGl2Pjxi cj48L2Rpdj48L2Rpdj48ZGl2PjxkaXYgc3R5bGU9ImxpbmUtaGVpZ2h0OiAyMi40cHg7Ij4mbmJz cDsgJm5ic3A7IERldmljZSBCOjwvZGl2PjxkaXYgc3R5bGU9ImxpbmUtaGVpZ2h0OiAyMi40cHg7 Ij48YnI+PC9kaXY+PGRpdiBzdHlsZT0ibGluZS1oZWlnaHQ6IDIyLjRweDsiPiZuYnNwOyAmbmJz cDsgc3RhdGljIGludCBYQl9wcm9iZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KTwvZGl2 PjxkaXYgc3R5bGU9ImxpbmUtaGVpZ2h0OiAyMi40cHg7Ij4mbmJzcDsgJm5ic3A7IHs8L2Rpdj48 ZGl2IHN0eWxlPSJsaW5lLWhlaWdodDogMjIuNHB4OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5i c3A7IHN0cnVjdCBjbWEgKmNtYTs8L2Rpdj48ZGl2IHN0eWxlPSJsaW5lLWhlaWdodDogMjIuNHB4 OyI+PGJyPjwvZGl2PjxkaXYgc3R5bGU9ImxpbmUtaGVpZ2h0OiAyMi40cHg7Ij4mbmJzcDsgJm5i c3A7ICZuYnNwOyAmbmJzcDsgY21hID0gY21hX2ZpbmRfYnlfbmFtZSgiQ01BMSIpOzwvZGl2Pjxk aXYgc3R5bGU9ImxpbmUtaGVpZ2h0OiAyMi40cHg7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJz cDsgaWYgKGNtYSkgezwvZGl2PjxkaXYgc3R5bGU9ImxpbmUtaGVpZ2h0OiAyMi40cHg7Ij4mbmJz cDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBwZGV2LSZndDtkZXYuY21hX2Fy ZWEgPSBjbWE7PC9kaXY+PGRpdiBzdHlsZT0ibGluZS1oZWlnaHQ6IDIyLjRweDsiPiZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO308L2Rpdj48ZGl2IHN0eWxl PSJsaW5lLWhlaWdodDogMjIuNHB4OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IC4uLi48 L2Rpdj48ZGl2IHN0eWxlPSJsaW5lLWhlaWdodDogMjIuNHB4OyI+Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7fTwvZGl2PjwvZGl2PjxkaXY+PGJyPjwvZGl2PjxkaXY+PGJyPjwvZGl2PjxkaXY+Jm5i c3A7ICZuYnNwOyBTbywgdDxzcGFuIHN0eWxlPSJjb2xvcjogcmdiKDQ5LCA1MywgNTkpOyBmb250 LWZhbWlseTogVmVyZGFuYSwgJ01pY3Jvc29mdCBZYWhlaScsIFNpbVN1biwgc2Fucy1zZXJpZjsg bGluZS1oZWlnaHQ6IDIyLjRweDsiPmhpcyBmdW5jdGlvbiBjb3VsZCBoZWxwIGRldmVsb3BlciB3 aG8gd2FudCB0byBmaW5kIGEgc3BlY2lhbDwvc3Bhbj48L2Rpdj48ZGl2PjxzcGFuIHN0eWxlPSJs aW5lLWhlaWdodDogMS42OyI+Jm5ic3A7ICZuYnNwOyZuYnNwOzwvc3Bhbj48c3BhbiBzdHlsZT0i Y29sb3I6IHJnYig0OSwgNTMsIDU5KTsgZm9udC1mYW1pbHk6IFZlcmRhbmEsICdNaWNyb3NvZnQg WWFoZWknLCBTaW1TdW4sIHNhbnMtc2VyaWY7IGxpbmUtaGVpZ2h0OiAyMi40cHg7Ij5uYW1lZCBD TUEgYXJlYSBzaW1wbHkuPC9zcGFuPjwvZGl2PjxkaXY+PGJyPjwvZGl2PjxibG9ja3F1b3RlIGlk PSJudGVzLXBjbWFpbC1xdW90ZSIgc3R5bGU9Im1hcmdpbjogMDsgcGFkZGluZzogMDsgZm9udC1z aXplOiAxNHB4OyBmb250LWZhbWlseTogJ+W+rui9r+mbhem7kSc7Ij48YnI+IDxibG9ja3F1b3Rl IGNsYXNzPSJtbWJxYzEiPjxicj4gVGhlIENNQSBzdXBwb3J0cyBtdWx0aXBsZSBuYW1lZCBDTUEg YXJlYXMsIGFuZCB0aGUgZGV2aWNlIGNvdWxkPGJyPiB1c2Ugb3IgZXhjbHVzaXZlIGEgc3BlY2lh bCBDQU0gYXJhZSB2aWEgImNtYV9hcmVhIiBvbiAic3RydWN0PGJyPiBkZXZpY2UiLiBXaGVuIHBy b2JpbmcsIHRoZSBkZXZpY2UgY2FuIHNldHVwIHNwZWNpYWwgQ01BIGFyZWEgd2hpY2g8YnI+IGZp bmQgYnkgImNtYV9maW5kX2J5X25hbWUoKSIuPGJyPiA8YnI+IElmIGRldmljZSBjYW4ndCBmaW5k IG5hbWVkIENNQSBhcmVhLCAiY21hX2ZpbmRfYnlfbmFtZSgpIiB3aWxsPGJyPiByZXR1cm4gTlVM TCwgYW5kIGRldmljZSB3aWxsIHVzZWQgZGVmYXVsdCBDTUEgYXJlYS48YnI+IDxicj4gU2lnbmVk LW9mZi1ieTogQnVkZHlaaGFuZyAmbHQ7YnVkZHkuemhhbmdAYWxpeXVuLmNvbSZndDs8YnI+IC0t LTxicj4gIG1tL2NtYS5jIHwgMTIgKysrKysrKysrKysrPGJyPiAgMSBmaWxlIGNoYW5nZWQsIDEy IGluc2VydGlvbnMoKyk8YnI+IDxicj4gZGlmZiAtLWdpdCBhL21tL2NtYS5jIGIvbW0vY21hLmM8 YnI+IGluZGV4IGJlNTVkMTk4OGM2Ny4uYjU2MjU1NzU3MmM0IDEwMDY0NDxicj4gLS0tIGEvbW0v Y21hLmM8YnI+ICsrKyBiL21tL2NtYS5jPGJyPiBAQCAtNDAsNiArNDAsMTggQEAgc3RydWN0IGNt YSBjbWFfYXJlYXNbTUFYX0NNQV9BUkVBU107PGJyPiAgdW5zaWduZWQgY21hX2FyZWFfY291bnQ7 PGJyPiAgc3RhdGljIERFRklORV9NVVRFWChjbWFfbXV0ZXgpOzxicj4gIDxicj4gK3N0cnVjdCBj bWEgKmNtYV9maW5kX2J5X25hbWUoY29uc3QgY2hhciAqbmFtZSk8YnI+ICt7PGJyPiArJm5ic3A7 Jm5ic3A7aW50IGlkeDs8YnI+ICs8YnI+ICsmbmJzcDsmbmJzcDtmb3IgKGlkeCA9IDA7IGlkeCAm bHQ7IE1BWF9DTUFfQVJFQVM7IGlkeCsrKSB7PGJyPiArJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 aWYgKGNtYV9hcmVhc1tpZHhdLm5hbWUgJmFtcDsmYW1wOyAhc3RyY21wKG5hbWUsIGNtYV9hcmVh c1tpZHhdLm5hbWUpKTxicj4gKyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO3Jl dHVybiAmYW1wO2NtYV9hcmVhc1tpZHhdOzxicj4gKyZuYnNwOyZuYnNwO308YnI+ICsmbmJzcDsm bmJzcDtyZXR1cm4gTlVMTDs8YnI+ICt9PGJyPiArRVhQT1JUX1NZTUJPTChjbWFfZmluZF9ieV9u YW1lKTxicj4gKzxicj4gIHBoeXNfYWRkcl90IGNtYV9nZXRfYmFzZShjb25zdCBzdHJ1Y3QgY21h ICpjbWEpPGJyPiAgezxicj4gIAlyZXR1cm4gUEZOX1BIWVMoY21hLSZndDtiYXNlX3Bmbik7PGJy PiA8YnI+PC9ibG9ja3F1b3RlPjxicj48YnI+LS0gPGJyPlRoYW5rcyw8YnI+PGJyPkRhdmlkIC8g ZGhpbGRlbmI8YnI+PC9ibG9ja3F1b3RlPjwhLS3wn5iALS0+DQo8L2Rpdj4NCjwvYm9keT4NCjwv aHRtbD4=