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 vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id E39DAC433F5 for ; Wed, 13 Apr 2022 15:42:09 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S236667AbiDMPo3 (ORCPT ); Wed, 13 Apr 2022 11:44:29 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:58114 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S236644AbiDMPoS (ORCPT ); Wed, 13 Apr 2022 11:44:18 -0400 Received: from casper.infradead.org (casper.infradead.org [IPv6:2001:8b0:10b:1236::1]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 51CCA4A3D0; Wed, 13 Apr 2022 08:41:56 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=casper.20170209; h=Content-Transfer-Encoding:Content-Type: In-Reply-To:From:References:Cc:To:Subject:MIME-Version:Date:Message-ID:Sender :Reply-To:Content-ID:Content-Description; bh=0yWcD2SXEiL1FSCIHyph+R1LsmAft7nq95dBjryG2Sc=; b=bKst/k9HeRVIhWFbd9lRaPJoyq 66vq7lbhnKOP9sAn6HtGswUaaHR7KXplyM/d0UPR0zGU4HBiwFNstDyArZyGwq7l1zV9A891StTCA duFW0qJpTvwesBNKozLQ+y2USTpDy/poe3lxcWehcroBLrTg4REC/mbp9H2Pf3po3jqU0SIDbG++o Hl0Sbgj356r3uxLqNNpFk31gL0mIDN/T6wUEAqG6E+bo3f9P1YusNUmxDpMVLNFppO44m3TJkD+F0 DjXY2GtlfLs6O/xGSSTATovhc8JnYvkjVJuiTkuSB5TSbeQWmFU+240khvW9NR2cdwsvb9+/hRSpI zi2C/DQw==; Received: from [2601:1c0:6280:3f0::aa0b] by casper.infradead.org with esmtpsa (Exim 4.94.2 #2 (Red Hat Linux)) id 1nef7n-00EMtk-Qt; Wed, 13 Apr 2022 15:41:44 +0000 Message-ID: <8eb6f58a-2621-0977-1b67-b2c58e4d5fba@infradead.org> Date: Wed, 13 Apr 2022 08:41:39 -0700 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.8.0 Subject: Re: [PATCH RESEND 1/1] lib/Kconfig: remove DEBUG_PER_CPU_MAPS dependency for CPUMASK_OFFSTACK Content-Language: en-US To: Libo Chen , gregkh@linuxfoundation.org, masahiroy@kernel.org, tglx@linutronix.de, peterz@infradead.org, mingo@kernel.org, vbabka@suse.cz, akpm@linux-foundation.org Cc: linux-kernel@vger.kernel.org, linux-kbuild@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-arch@vger.kernel.org References: <20220412231508.32629-1-libo.chen@oracle.com> <20220412231508.32629-2-libo.chen@oracle.com> <157cb46a-d134-2e72-4a65-14e378dd2b8e@oracle.com> <26855467-107d-4ba1-4f32-2afd5918d5b7@infradead.org> <4c6b3445-78b2-090f-c7c9-291d49c45019@infradead.org> <506db9a9-47ff-658a-a821-27315949e8c3@oracle.com> From: Randy Dunlap In-Reply-To: <506db9a9-47ff-658a-a821-27315949e8c3@oracle.com> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 4/12/22 23:56, Libo Chen wrote: > Hi Randy > > On 4/12/22 22:54, Randy Dunlap wrote: >> Hi Libo, >> >> On 4/12/22 19:34, Libo Chen wrote: >>> >>> On 4/12/22 19:13, Randy Dunlap wrote: >>>> Hi, >>>> >>>> On 4/12/22 18:35, Libo Chen wrote: >>>>> Hi Randy, >>>>> >>>>> On 4/12/22 17:18, Randy Dunlap wrote: >>>>>> Hi-- >>>>>> >>>>>> On 4/12/22 16:15, Libo Chen wrote: >>>>>>> Forcing CPUMASK_OFFSTACK to be conditoned on DEBUG_PER_CPU_MAPS doesn't >>>>>>> make a lot of sense nowaday. Even the original patch dating back to 2008, >>>>>>> aab46da0520a ("cpumask: Add CONFIG_CPUMASK_OFFSTACK") didn't give any >>>>>>> rationale for such dependency. >>>>>>> >>>>>>> Nowhere in the code supports the presumption that DEBUG_PER_CPU_MAPS is >>>>>>> necessary for CONFIG_CPUMASK_OFFSTACK. Make no mistake, it's good to >>>>>>> have DEBUG_PER_CPU_MAPS for debugging purpose or precaution, but it's >>>>>>> simply not a hard requirement for CPUMASK_OFFSTACK. Moreover, x86 Kconfig >>>>>>> already can set CPUMASK_OFFSTACK=y without DEBUG_PER_CPU_MAPS=y. >>>>>>> There is no reason other architectures cannot given the fact that they >>>>>>> have even fewer, if any, arch-specific CONFIG_DEBUG_PER_CPU_MAPS code than >>>>>>> x86. >>>>>>> >>>>>>> Signed-off-by: Libo Chen >>>>>>> --- >>>>>>>     lib/Kconfig | 2 +- >>>>>>>     1 file changed, 1 insertion(+), 1 deletion(-) >>>>>>> >>>>>>> diff --git a/lib/Kconfig b/lib/Kconfig >>>>>>> index 087e06b4cdfd..7209039dfb59 100644 >>>>>>> --- a/lib/Kconfig >>>>>>> +++ b/lib/Kconfig >>>>>>> @@ -511,7 +511,7 @@ config CHECK_SIGNATURE >>>>>>>         bool >>>>>>>       config CPUMASK_OFFSTACK >>>>>>> -    bool "Force CPU masks off stack" if DEBUG_PER_CPU_MAPS >>>>>> This "if" dependency only controls whether the Kconfig symbol's prompt is >>>>>> displayed (presented) in kconfig tools. Removing it makes the prompt always >>>>>> be displayed. >>>>>> >>>>>> Any architecture could select (should be able to) CPUMASK_OFFSTACK independently >>>>>> of DEBUG_PER_CPU_MAPS. >>>>> Do you mean changing arch/xxxx/Kconfig to select CPUMASK_OFFSTACK under some config xxx? That will work but it requires code changes for each architecture. >>>>> But if you are talking about setting CONFIG_CPUMASK_OFFSTACK=y without CONFIG_DEBUG_PER_CPU_MAPS directly in config file, I have tried, it doesn't work. >>>> I'm just talking about the Kconfig change below.  Not talking about whatever else >>>> it might require per architecture. >>>> >>>> But you say you have tried that and it doesn't work. What part of it doesn't work? >>>> The Kconfig part or some code execution? >>> oh the Kconfig part. For example, make olddefconfig on a config file with CPUMASK_OFFSTACK=y only turns off CPUMASK_OFFSTACK unless I explicitly set DEBUG_PER_CPU_MAPS=y >> I can enable CPUMASK_OFFSTACK for arm64 without having DEBUG_PER_CPU_MAPS enabled. >> (with a patch, of course.) >> It builds OK. I don't know if it will run OK. > > I am a little confused, did you succeed with your patch (replacing "if" with "depends on") or my patch (removing "if")? Because I definitely cannot enable CPUMASK_OFFSTACK for arm64 without DEBUG_PER_CPUMAPS enabled using your change. This patch builds cleanly for me: --- arch/arm64/Kconfig | 1 + lib/Kconfig | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) --- a/lib/Kconfig +++ b/lib/Kconfig @@ -511,7 +511,7 @@ config CHECK_SIGNATURE bool config CPUMASK_OFFSTACK - bool "Force CPU masks off stack" if DEBUG_PER_CPU_MAPS + bool "Force CPU masks off stack" help Use dynamic allocation for cpumask_var_t, instead of putting them on the stack. This is a bit more expensive, but avoids --- a/arch/arm64/Kconfig +++ b/arch/arm64/Kconfig @@ -316,6 +316,7 @@ config ARCH_MHP_MEMMAP_ON_MEMORY_ENABLE config SMP def_bool y + select CPUMASK_OFFSTACK config KERNEL_MODE_NEON def_bool y along with: # CONFIG_DEBUG_PER_CPU_MAPS is not set >> I think that you are arguing for a patch like this: > > I am actually arguing for the opposite, I don't think CPUMASK_OFFSTACK should require DEBUG_PER_CPU_MAPS. They should be separate and independent to each other. So removing "if ..." should be enough in my opinion. I agree. >> --- a/lib/Kconfig >> +++ b/lib/Kconfig >> @@ -511,7 +511,8 @@ config CHECK_SIGNATURE >>       bool >>     config CPUMASK_OFFSTACK >> -    bool "Force CPU masks off stack" if DEBUG_PER_CPU_MAPS >> +    bool "Force CPU masks off stack" >> +    depends on DEBUG_PER_CPU_MAPS > > This forces every arch to enable DEBUG_PER_CPU_MAPS if they want to enable CPUMASK_OFFSTACK, it's even stronger than "if". My whole argument is CPUMASK_OFFSTACK should be enable/disabled independent of DEBUG_PER_CPU_MASK >>       help >>         Use dynamic allocation for cpumask_var_t, instead of putting >>         them on the stack.  This is a bit more expensive, but avoids >> >> >> As I said earlier, the "if" on the "bool" line just controls the prompt message. >> This patch make CPUMASK_OFFSTACK require DEBUG_PER_CPU_MAPS -- which might be overkill. >> > > Okay I understand now "if" on the "boot" is not a dependency and it only controls the prompt message, then the question is why we cannot enable CPUMASK_OFFSTACK without DEBUG_PER_CPU_MAPS if it only controls prompt message? Is it not the behavior we expect? Yes, it is. I don't know that the problem is... -- ~Randy 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 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 smtp.lore.kernel.org (Postfix) with ESMTPS id EDDB8C4332F for ; Wed, 13 Apr 2022 15:43:05 +0000 (UTC) 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:From:References:Cc:To: Subject:MIME-Version:Date:Message-ID:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=92LmgJqn6Fjk8yqmTzqvfav1Lh0k2t1qMp1609oNbOc=; b=HzR1N2WKxLPYf1 JQc3XgUsLhfjy14dfcPeTa+TEl6ddfus2BE+07q7DTgyRbEcaKcIlzPgCMC8VCs2uibqGYUpM7VTh jPVR/MwS1/oHzEJyZMFBkS/lsd6EqJ0EQcgZTtdLC0j4ktlazd+4izUYf1y55iN6pGuaKx3otTMnk yOvSS07tsSyAG0CE+qpXh/42xf92YMjhWSaZK+PB1YmctPzfZDFC8rW0PYo0vjXOP2xS2akx0KRMY SJWSVr6c9c0cDb70j7pWtsBtuq5KIMufrCiL0BzaLqFt7y+I2Q5lhAFUEuKjQrSZuZKX2bLEcH8Dg +GHg7/tYMCig5VOVjogg==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1nef7t-001dhX-Ke; Wed, 13 Apr 2022 15:41:49 +0000 Received: from casper.infradead.org ([2001:8b0:10b:1236::1]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1nef7r-001dgu-O4 for linux-arm-kernel@bombadil.infradead.org; Wed, 13 Apr 2022 15:41:47 +0000 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=casper.20170209; h=Content-Transfer-Encoding:Content-Type: In-Reply-To:From:References:Cc:To:Subject:MIME-Version:Date:Message-ID:Sender :Reply-To:Content-ID:Content-Description; bh=0yWcD2SXEiL1FSCIHyph+R1LsmAft7nq95dBjryG2Sc=; b=bKst/k9HeRVIhWFbd9lRaPJoyq 66vq7lbhnKOP9sAn6HtGswUaaHR7KXplyM/d0UPR0zGU4HBiwFNstDyArZyGwq7l1zV9A891StTCA duFW0qJpTvwesBNKozLQ+y2USTpDy/poe3lxcWehcroBLrTg4REC/mbp9H2Pf3po3jqU0SIDbG++o Hl0Sbgj356r3uxLqNNpFk31gL0mIDN/T6wUEAqG6E+bo3f9P1YusNUmxDpMVLNFppO44m3TJkD+F0 DjXY2GtlfLs6O/xGSSTATovhc8JnYvkjVJuiTkuSB5TSbeQWmFU+240khvW9NR2cdwsvb9+/hRSpI zi2C/DQw==; Received: from [2601:1c0:6280:3f0::aa0b] by casper.infradead.org with esmtpsa (Exim 4.94.2 #2 (Red Hat Linux)) id 1nef7n-00EMtk-Qt; Wed, 13 Apr 2022 15:41:44 +0000 Message-ID: <8eb6f58a-2621-0977-1b67-b2c58e4d5fba@infradead.org> Date: Wed, 13 Apr 2022 08:41:39 -0700 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.8.0 Subject: Re: [PATCH RESEND 1/1] lib/Kconfig: remove DEBUG_PER_CPU_MAPS dependency for CPUMASK_OFFSTACK Content-Language: en-US To: Libo Chen , gregkh@linuxfoundation.org, masahiroy@kernel.org, tglx@linutronix.de, peterz@infradead.org, mingo@kernel.org, vbabka@suse.cz, akpm@linux-foundation.org Cc: linux-kernel@vger.kernel.org, linux-kbuild@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-arch@vger.kernel.org References: <20220412231508.32629-1-libo.chen@oracle.com> <20220412231508.32629-2-libo.chen@oracle.com> <157cb46a-d134-2e72-4a65-14e378dd2b8e@oracle.com> <26855467-107d-4ba1-4f32-2afd5918d5b7@infradead.org> <4c6b3445-78b2-090f-c7c9-291d49c45019@infradead.org> <506db9a9-47ff-658a-a821-27315949e8c3@oracle.com> From: Randy Dunlap In-Reply-To: <506db9a9-47ff-658a-a821-27315949e8c3@oracle.com> 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 CgpPbiA0LzEyLzIyIDIzOjU2LCBMaWJvIENoZW4gd3JvdGU6Cj4gSGkgUmFuZHkKPiAKPiBPbiA0 LzEyLzIyIDIyOjU0LCBSYW5keSBEdW5sYXAgd3JvdGU6Cj4+IEhpIExpYm8sCj4+Cj4+IE9uIDQv MTIvMjIgMTk6MzQsIExpYm8gQ2hlbiB3cm90ZToKPj4+Cj4+PiBPbiA0LzEyLzIyIDE5OjEzLCBS YW5keSBEdW5sYXAgd3JvdGU6Cj4+Pj4gSGksCj4+Pj4KPj4+PiBPbiA0LzEyLzIyIDE4OjM1LCBM aWJvIENoZW4gd3JvdGU6Cj4+Pj4+IEhpIFJhbmR5LAo+Pj4+Pgo+Pj4+PiBPbiA0LzEyLzIyIDE3 OjE4LCBSYW5keSBEdW5sYXAgd3JvdGU6Cj4+Pj4+PiBIaS0tCj4+Pj4+Pgo+Pj4+Pj4gT24gNC8x Mi8yMiAxNjoxNSwgTGlibyBDaGVuIHdyb3RlOgo+Pj4+Pj4+IEZvcmNpbmcgQ1BVTUFTS19PRkZT VEFDSyB0byBiZSBjb25kaXRvbmVkIG9uIERFQlVHX1BFUl9DUFVfTUFQUyBkb2Vzbid0Cj4+Pj4+ Pj4gbWFrZSBhIGxvdCBvZiBzZW5zZSBub3dhZGF5LiBFdmVuIHRoZSBvcmlnaW5hbCBwYXRjaCBk YXRpbmcgYmFjayB0byAyMDA4LAo+Pj4+Pj4+IGFhYjQ2ZGEwNTIwYSAoImNwdW1hc2s6IEFkZCBD T05GSUdfQ1BVTUFTS19PRkZTVEFDSyIpIGRpZG4ndCBnaXZlIGFueQo+Pj4+Pj4+IHJhdGlvbmFs ZSBmb3Igc3VjaCBkZXBlbmRlbmN5Lgo+Pj4+Pj4+Cj4+Pj4+Pj4gTm93aGVyZSBpbiB0aGUgY29k ZSBzdXBwb3J0cyB0aGUgcHJlc3VtcHRpb24gdGhhdCBERUJVR19QRVJfQ1BVX01BUFMgaXMKPj4+ Pj4+PiBuZWNlc3NhcnkgZm9yIENPTkZJR19DUFVNQVNLX09GRlNUQUNLLiBNYWtlIG5vIG1pc3Rh a2UsIGl0J3MgZ29vZCB0bwo+Pj4+Pj4+IGhhdmUgREVCVUdfUEVSX0NQVV9NQVBTIGZvciBkZWJ1 Z2dpbmcgcHVycG9zZSBvciBwcmVjYXV0aW9uLCBidXQgaXQncwo+Pj4+Pj4+IHNpbXBseSBub3Qg YSBoYXJkIHJlcXVpcmVtZW50IGZvciBDUFVNQVNLX09GRlNUQUNLLiBNb3Jlb3ZlciwgeDg2IEtj b25maWcKPj4+Pj4+PiBhbHJlYWR5IGNhbiBzZXQgQ1BVTUFTS19PRkZTVEFDSz15IHdpdGhvdXQg REVCVUdfUEVSX0NQVV9NQVBTPXkuCj4+Pj4+Pj4gVGhlcmUgaXMgbm8gcmVhc29uIG90aGVyIGFy Y2hpdGVjdHVyZXMgY2Fubm90IGdpdmVuIHRoZSBmYWN0IHRoYXQgdGhleQo+Pj4+Pj4+IGhhdmUg ZXZlbiBmZXdlciwgaWYgYW55LCBhcmNoLXNwZWNpZmljIENPTkZJR19ERUJVR19QRVJfQ1BVX01B UFMgY29kZSB0aGFuCj4+Pj4+Pj4geDg2Lgo+Pj4+Pj4+Cj4+Pj4+Pj4gU2lnbmVkLW9mZi1ieTog TGlibyBDaGVuIDxsaWJvLmNoZW5Ab3JhY2xlLmNvbT4KPj4+Pj4+PiAtLS0KPj4+Pj4+PiDCoMKg wqAgbGliL0tjb25maWcgfCAyICstCj4+Pj4+Pj4gwqDCoMKgIDEgZmlsZSBjaGFuZ2VkLCAxIGlu c2VydGlvbigrKSwgMSBkZWxldGlvbigtKQo+Pj4+Pj4+Cj4+Pj4+Pj4gZGlmZiAtLWdpdCBhL2xp Yi9LY29uZmlnIGIvbGliL0tjb25maWcKPj4+Pj4+PiBpbmRleCAwODdlMDZiNGNkZmQuLjcyMDkw MzlkZmI1OSAxMDA2NDQKPj4+Pj4+PiAtLS0gYS9saWIvS2NvbmZpZwo+Pj4+Pj4+ICsrKyBiL2xp Yi9LY29uZmlnCj4+Pj4+Pj4gQEAgLTUxMSw3ICs1MTEsNyBAQCBjb25maWcgQ0hFQ0tfU0lHTkFU VVJFCj4+Pj4+Pj4gwqDCoMKgwqDCoMKgwqAgYm9vbAo+Pj4+Pj4+IMKgwqDCoCDCoCBjb25maWcg Q1BVTUFTS19PRkZTVEFDSwo+Pj4+Pj4+IC3CoMKgwqAgYm9vbCAiRm9yY2UgQ1BVIG1hc2tzIG9m ZiBzdGFjayIgaWYgREVCVUdfUEVSX0NQVV9NQVBTCj4+Pj4+PiBUaGlzICJpZiIgZGVwZW5kZW5j eSBvbmx5IGNvbnRyb2xzIHdoZXRoZXIgdGhlIEtjb25maWcgc3ltYm9sJ3MgcHJvbXB0IGlzCj4+ Pj4+PiBkaXNwbGF5ZWQgKHByZXNlbnRlZCkgaW4ga2NvbmZpZyB0b29scy4gUmVtb3ZpbmcgaXQg bWFrZXMgdGhlIHByb21wdCBhbHdheXMKPj4+Pj4+IGJlIGRpc3BsYXllZC4KPj4+Pj4+Cj4+Pj4+ PiBBbnkgYXJjaGl0ZWN0dXJlIGNvdWxkIHNlbGVjdCAoc2hvdWxkIGJlIGFibGUgdG8pIENQVU1B U0tfT0ZGU1RBQ0sgaW5kZXBlbmRlbnRseQo+Pj4+Pj4gb2YgREVCVUdfUEVSX0NQVV9NQVBTLgo+ Pj4+PiBEbyB5b3UgbWVhbiBjaGFuZ2luZyBhcmNoL3h4eHgvS2NvbmZpZyB0byBzZWxlY3QgQ1BV TUFTS19PRkZTVEFDSyB1bmRlciBzb21lIGNvbmZpZyB4eHg/IFRoYXQgd2lsbCB3b3JrIGJ1dCBp dCByZXF1aXJlcyBjb2RlIGNoYW5nZXMgZm9yIGVhY2ggYXJjaGl0ZWN0dXJlLgo+Pj4+PiBCdXQg aWYgeW91IGFyZSB0YWxraW5nIGFib3V0IHNldHRpbmcgQ09ORklHX0NQVU1BU0tfT0ZGU1RBQ0s9 eSB3aXRob3V0IENPTkZJR19ERUJVR19QRVJfQ1BVX01BUFMgZGlyZWN0bHkgaW4gY29uZmlnIGZp bGUsIEkgaGF2ZSB0cmllZCwgaXQgZG9lc24ndCB3b3JrLgo+Pj4+IEknbSBqdXN0IHRhbGtpbmcg YWJvdXQgdGhlIEtjb25maWcgY2hhbmdlIGJlbG93LsKgIE5vdCB0YWxraW5nIGFib3V0IHdoYXRl dmVyIGVsc2UKPj4+PiBpdCBtaWdodCByZXF1aXJlIHBlciBhcmNoaXRlY3R1cmUuCj4+Pj4KPj4+ PiBCdXQgeW91IHNheSB5b3UgaGF2ZSB0cmllZCB0aGF0IGFuZCBpdCBkb2Vzbid0IHdvcmsuIFdo YXQgcGFydCBvZiBpdCBkb2Vzbid0IHdvcms/Cj4+Pj4gVGhlIEtjb25maWcgcGFydCBvciBzb21l IGNvZGUgZXhlY3V0aW9uPwo+Pj4gb2ggdGhlIEtjb25maWcgcGFydC4gRm9yIGV4YW1wbGUsIG1h a2Ugb2xkZGVmY29uZmlnIG9uIGEgY29uZmlnIGZpbGUgd2l0aCBDUFVNQVNLX09GRlNUQUNLPXkg b25seSB0dXJucyBvZmYgQ1BVTUFTS19PRkZTVEFDSyB1bmxlc3MgSSBleHBsaWNpdGx5IHNldCBE RUJVR19QRVJfQ1BVX01BUFM9eQo+PiBJIGNhbiBlbmFibGUgQ1BVTUFTS19PRkZTVEFDSyBmb3Ig YXJtNjQgd2l0aG91dCBoYXZpbmcgREVCVUdfUEVSX0NQVV9NQVBTIGVuYWJsZWQuCj4+ICh3aXRo IGEgcGF0Y2gsIG9mIGNvdXJzZS4pCj4+IEl0IGJ1aWxkcyBPSy4gSSBkb24ndCBrbm93IGlmIGl0 IHdpbGwgcnVuIE9LLgo+IAo+IEkgYW0gYSBsaXR0bGUgY29uZnVzZWQsIGRpZCB5b3Ugc3VjY2Vl ZCB3aXRoIHlvdXIgcGF0Y2ggKHJlcGxhY2luZyAiaWYiIHdpdGggImRlcGVuZHMgb24iKSBvciBt eSBwYXRjaCAocmVtb3ZpbmcgImlmIik/IEJlY2F1c2UgSSBkZWZpbml0ZWx5IGNhbm5vdCBlbmFi bGUgQ1BVTUFTS19PRkZTVEFDSyBmb3IgYXJtNjQgd2l0aG91dCBERUJVR19QRVJfQ1BVTUFQUyBl bmFibGVkIHVzaW5nIHlvdXIgY2hhbmdlLgoKVGhpcyBwYXRjaCBidWlsZHMgY2xlYW5seSBmb3Ig bWU6CgotLS0KIGFyY2gvYXJtNjQvS2NvbmZpZyB8ICAgIDEgKwogbGliL0tjb25maWcgICAgICAg IHwgICAgMiArLQogMiBmaWxlcyBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24o LSkKCi0tLSBhL2xpYi9LY29uZmlnCisrKyBiL2xpYi9LY29uZmlnCkBAIC01MTEsNyArNTExLDcg QEAgY29uZmlnIENIRUNLX1NJR05BVFVSRQogCWJvb2wKIAogY29uZmlnIENQVU1BU0tfT0ZGU1RB Q0sKLQlib29sICJGb3JjZSBDUFUgbWFza3Mgb2ZmIHN0YWNrIiBpZiBERUJVR19QRVJfQ1BVX01B UFMKKwlib29sICJGb3JjZSBDUFUgbWFza3Mgb2ZmIHN0YWNrIgogCWhlbHAKIAkgIFVzZSBkeW5h bWljIGFsbG9jYXRpb24gZm9yIGNwdW1hc2tfdmFyX3QsIGluc3RlYWQgb2YgcHV0dGluZwogCSAg dGhlbSBvbiB0aGUgc3RhY2suICBUaGlzIGlzIGEgYml0IG1vcmUgZXhwZW5zaXZlLCBidXQgYXZv aWRzCi0tLSBhL2FyY2gvYXJtNjQvS2NvbmZpZworKysgYi9hcmNoL2FybTY0L0tjb25maWcKQEAg LTMxNiw2ICszMTYsNyBAQCBjb25maWcgQVJDSF9NSFBfTUVNTUFQX09OX01FTU9SWV9FTkFCTEUK IAogY29uZmlnIFNNUAogCWRlZl9ib29sIHkKKwlzZWxlY3QgQ1BVTUFTS19PRkZTVEFDSwogCiBj b25maWcgS0VSTkVMX01PREVfTkVPTgogCWRlZl9ib29sIHkKCmFsb25nIHdpdGg6CiMgQ09ORklH X0RFQlVHX1BFUl9DUFVfTUFQUyBpcyBub3Qgc2V0CgoKPj4gSSB0aGluayB0aGF0IHlvdSBhcmUg YXJndWluZyBmb3IgYSBwYXRjaCBsaWtlIHRoaXM6Cj4gCj4gSSBhbSBhY3R1YWxseSBhcmd1aW5n IGZvciB0aGUgb3Bwb3NpdGUsIEkgZG9uJ3QgdGhpbmsgQ1BVTUFTS19PRkZTVEFDSyBzaG91bGQg cmVxdWlyZSBERUJVR19QRVJfQ1BVX01BUFMuIFRoZXkgc2hvdWxkIGJlIHNlcGFyYXRlIGFuZCBp bmRlcGVuZGVudCB0byBlYWNoIG90aGVyLiBTbyByZW1vdmluZyAiaWYgLi4uIiBzaG91bGQgYmUg ZW5vdWdoIGluIG15IG9waW5pb24uCgpJIGFncmVlLgoKPj4gLS0tIGEvbGliL0tjb25maWcKPj4g KysrIGIvbGliL0tjb25maWcKPj4gQEAgLTUxMSw3ICs1MTEsOCBAQCBjb25maWcgQ0hFQ0tfU0lH TkFUVVJFCj4+IMKgwqDCoMKgwqAgYm9vbAo+PiDCoCDCoCBjb25maWcgQ1BVTUFTS19PRkZTVEFD Swo+PiAtwqDCoMKgIGJvb2wgIkZvcmNlIENQVSBtYXNrcyBvZmYgc3RhY2siIGlmIERFQlVHX1BF Ul9DUFVfTUFQUwo+PiArwqDCoMKgIGJvb2wgIkZvcmNlIENQVSBtYXNrcyBvZmYgc3RhY2siCj4+ ICvCoMKgwqAgZGVwZW5kcyBvbiBERUJVR19QRVJfQ1BVX01BUFMKPiAKPiBUaGlzIGZvcmNlcyBl dmVyeSBhcmNoIHRvIGVuYWJsZSBERUJVR19QRVJfQ1BVX01BUFMgaWYgdGhleSB3YW50IHRvIGVu YWJsZSBDUFVNQVNLX09GRlNUQUNLLCBpdCdzIGV2ZW4gc3Ryb25nZXIgdGhhbiAiaWYiLiBNeSB3 aG9sZSBhcmd1bWVudCBpcyBDUFVNQVNLX09GRlNUQUNLIHNob3VsZCBiZSBlbmFibGUvZGlzYWJs ZWQgaW5kZXBlbmRlbnQgb2YgREVCVUdfUEVSX0NQVV9NQVNLCj4+IMKgwqDCoMKgwqAgaGVscAo+ PiDCoMKgwqDCoMKgwqDCoCBVc2UgZHluYW1pYyBhbGxvY2F0aW9uIGZvciBjcHVtYXNrX3Zhcl90 LCBpbnN0ZWFkIG9mIHB1dHRpbmcKPj4gwqDCoMKgwqDCoMKgwqAgdGhlbSBvbiB0aGUgc3RhY2su wqAgVGhpcyBpcyBhIGJpdCBtb3JlIGV4cGVuc2l2ZSwgYnV0IGF2b2lkcwo+Pgo+Pgo+PiBBcyBJ IHNhaWQgZWFybGllciwgdGhlICJpZiIgb24gdGhlICJib29sIiBsaW5lIGp1c3QgY29udHJvbHMg dGhlIHByb21wdCBtZXNzYWdlLgo+PiBUaGlzIHBhdGNoIG1ha2UgQ1BVTUFTS19PRkZTVEFDSyBy ZXF1aXJlIERFQlVHX1BFUl9DUFVfTUFQUyAtLSB3aGljaCBtaWdodCBiZSBvdmVya2lsbC4KPj4K PiAKPiBPa2F5IEkgdW5kZXJzdGFuZCBub3cgImlmIiBvbiB0aGUgImJvb3QiIGlzIG5vdCBhIGRl cGVuZGVuY3kgYW5kIGl0IG9ubHkgY29udHJvbHMgdGhlIHByb21wdCBtZXNzYWdlLCB0aGVuIHRo ZSBxdWVzdGlvbiBpcyB3aHkgd2UgY2Fubm90IGVuYWJsZSBDUFVNQVNLX09GRlNUQUNLIHdpdGhv dXQgREVCVUdfUEVSX0NQVV9NQVBTIGlmIGl0IG9ubHkgY29udHJvbHMgcHJvbXB0IG1lc3NhZ2U/ IElzIGl0IG5vdCB0aGUgYmVoYXZpb3Igd2UgZXhwZWN0PwoKWWVzLCBpdCBpcy4gSSBkb24ndCBr bm93IHRoYXQgdGhlIHByb2JsZW0gaXMuLi4KCi0tIAp+UmFuZHkKCl9fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmxpbnV4LWFybS1rZXJuZWwgbWFpbGluZyBs aXN0CmxpbnV4LWFybS1rZXJuZWxAbGlzdHMuaW5mcmFkZWFkLm9yZwpodHRwOi8vbGlzdHMuaW5m cmFkZWFkLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2xpbnV4LWFybS1rZXJuZWwK