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 lists.ozlabs.org (lists.ozlabs.org [112.213.38.117]) (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 E5E90EB64D9 for ; Tue, 4 Jul 2023 08:01:16 +0000 (UTC) Authentication-Results: lists.ozlabs.org; dkim=fail reason="signature verification failed" (1024-bit key; unprotected) header.d=linuxfoundation.org header.i=@linuxfoundation.org header.a=rsa-sha256 header.s=korg header.b=XHp+Hs2J; dkim-atps=neutral Received: from boromir.ozlabs.org (localhost [IPv6:::1]) by lists.ozlabs.org (Postfix) with ESMTP id 4QwFbv49X7z3cQm for ; Tue, 4 Jul 2023 18:01:15 +1000 (AEST) Authentication-Results: lists.ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=linuxfoundation.org header.i=@linuxfoundation.org header.a=rsa-sha256 header.s=korg header.b=XHp+Hs2J; dkim-atps=neutral Authentication-Results: lists.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=linuxfoundation.org (client-ip=139.178.84.217; helo=dfw.source.kernel.org; envelope-from=gregkh@linuxfoundation.org; receiver=lists.ozlabs.org) Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by lists.ozlabs.org (Postfix) with ESMTPS id 4QwFZw5b7kz309V for ; Tue, 4 Jul 2023 18:00:24 +1000 (AEST) Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by dfw.source.kernel.org (Postfix) with ESMTPS id 225B96108E; Tue, 4 Jul 2023 08:00:22 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 3E6B7C433C7; Tue, 4 Jul 2023 08:00:21 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org; s=korg; t=1688457621; bh=vU2jOdZ5LLyWKgEHZBnAwSo71oT39lJC++2uk0MUGbk=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=XHp+Hs2JhHl1RFxbfZK/NaC++Nys7AA/C7FARVmMBKrYYsKSWOIXthZX1iXpeUyvH mgHmFrS0zclbCWqAYoKQ/ydbtN9SHJC3UQL4Gess9n1x4aEI+vjtv80YqkFMDU6VFp AqPAyovltrHCKeutz1bcCPNgSjyII3zCgoWE2F04= Date: Tue, 4 Jul 2023 09:00:19 +0100 From: Greg KH To: Suren Baghdasaryan Subject: Re: Fwd: Memory corruption in multithreaded user space program while calling fork Message-ID: <2023070453-plod-swipe-cfbf@gregkh> References: <5c7455db-4ed8-b54f-e2d5-d2811908123d@leemhuis.info> <2023070359-evasive-regroup-f3b8@gregkh> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: X-BeenThere: linuxppc-dev@lists.ozlabs.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Linux on PowerPC Developers Mail List List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Jacob Young , Linux regressions mailing list , Linux Kernel Mailing List , Linux Memory Management , Bagas Sanjaya , Andrew Morton , Laurent Dufour , Linux PowerPC , Linux ARM Errors-To: linuxppc-dev-bounces+linuxppc-dev=archiver.kernel.org@lists.ozlabs.org Sender: "Linuxppc-dev" On Tue, Jul 04, 2023 at 12:45:39AM -0700, Suren Baghdasaryan wrote: > On Mon, Jul 3, 2023 at 11:44 AM Greg KH wrote: > > > > On Mon, Jul 03, 2023 at 11:27:19AM -0700, Suren Baghdasaryan wrote: > > > On Mon, Jul 3, 2023 at 11:08 AM Suren Baghdasaryan wrote: > > > > > > > > On Mon, Jul 3, 2023 at 2:53 AM Linux regression tracking (Thorsten > > > > Leemhuis) wrote: > > > > > > > > > > On 02.07.23 14:27, Bagas Sanjaya wrote: > > > > > > I notice a regression report on Bugzilla [1]. Quoting from it: > > > > > > > > > > > >> After upgrading to kernel version 6.4.0 from 6.3.9, I noticed frequent but random crashes in a user space program. After a lot of reduction, I have come up with the following reproducer program: > > > > > > [...] > > > > > >> After tuning the various parameters for my computer, exit code 2, which indicates that memory corruption was detected, occurs approximately 99% of the time. Exit code 1, which occurs approximately 1% of the time, means it ran out of statically-allocated memory before reproducing the issue, and increasing the memory usage any more only leads to diminishing returns. There is also something like a 0.1% chance that it segfaults due to memory corruption elsewhere than in the statically-allocated buffer. > > > > > >> > > > > > >> With this reproducer in hand, I was able to perform the following bisection: > > > > > > [...] > > > > > > > > > > > > See Bugzilla for the full thread. > > > > > > > > > > Additional details from > > > > > https://bugzilla.kernel.org/show_bug.cgi?id=217624#c5 : > > > > > > > > > > ``` > > > > > I can confirm that v6.4 with 0bff0aaea03e2a3ed6bfa302155cca8a432a1829 > > > > > reverted no longer causes any memory corruption with either my > > > > > reproducer or the original program. > > > > > ``` > > > > > > > > > > FWIW: 0bff0aaea03 ("x86/mm: try VMA lock-based page fault handling > > > > > first") [merged for v6.4-rc1, authored by Suren Baghdasaryan [already CCed]] > > > > > > > > > > That's the same commit that causes build problems with go: > > > > > > > > > > https://lore.kernel.org/all/dbdef34c-3a07-5951-e1ae-e9c6e3cdf51b@kernel.org/ > > > > > > > > Thanks! I'll investigate this later today. After discussing with > > > > Andrew, we would like to disable CONFIG_PER_VMA_LOCK by default until > > > > the issue is fixed. I'll post a patch shortly. > > > > > > Posted at: https://lore.kernel.org/all/20230703182150.2193578-1-surenb@google.com/ > > > > As that change fixes something in 6.4, why not cc: stable on it as well? > > Sorry, I thought since per-VMA locks were introduced in 6.4 and this > patch is fixing 6.4 I didn't need to send it to stable for older > versions. Did I miss something? 6.4.y is a stable kernel tree right now, so yes, it needs to be included there :) From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 2DAF720E0 for ; Tue, 4 Jul 2023 08:00:21 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 3E6B7C433C7; Tue, 4 Jul 2023 08:00:21 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org; s=korg; t=1688457621; bh=vU2jOdZ5LLyWKgEHZBnAwSo71oT39lJC++2uk0MUGbk=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=XHp+Hs2JhHl1RFxbfZK/NaC++Nys7AA/C7FARVmMBKrYYsKSWOIXthZX1iXpeUyvH mgHmFrS0zclbCWqAYoKQ/ydbtN9SHJC3UQL4Gess9n1x4aEI+vjtv80YqkFMDU6VFp AqPAyovltrHCKeutz1bcCPNgSjyII3zCgoWE2F04= Date: Tue, 4 Jul 2023 09:00:19 +0100 From: Greg KH To: Suren Baghdasaryan Cc: Linux regressions mailing list , Bagas Sanjaya , Andrew Morton , Jacob Young , Laurent Dufour , Linux Kernel Mailing List , Linux Memory Management , Linux PowerPC , Linux ARM Subject: Re: Fwd: Memory corruption in multithreaded user space program while calling fork Message-ID: <2023070453-plod-swipe-cfbf@gregkh> References: <5c7455db-4ed8-b54f-e2d5-d2811908123d@leemhuis.info> <2023070359-evasive-regroup-f3b8@gregkh> Precedence: bulk X-Mailing-List: regressions@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: On Tue, Jul 04, 2023 at 12:45:39AM -0700, Suren Baghdasaryan wrote: > On Mon, Jul 3, 2023 at 11:44 AM Greg KH wrote: > > > > On Mon, Jul 03, 2023 at 11:27:19AM -0700, Suren Baghdasaryan wrote: > > > On Mon, Jul 3, 2023 at 11:08 AM Suren Baghdasaryan wrote: > > > > > > > > On Mon, Jul 3, 2023 at 2:53 AM Linux regression tracking (Thorsten > > > > Leemhuis) wrote: > > > > > > > > > > On 02.07.23 14:27, Bagas Sanjaya wrote: > > > > > > I notice a regression report on Bugzilla [1]. Quoting from it: > > > > > > > > > > > >> After upgrading to kernel version 6.4.0 from 6.3.9, I noticed frequent but random crashes in a user space program. After a lot of reduction, I have come up with the following reproducer program: > > > > > > [...] > > > > > >> After tuning the various parameters for my computer, exit code 2, which indicates that memory corruption was detected, occurs approximately 99% of the time. Exit code 1, which occurs approximately 1% of the time, means it ran out of statically-allocated memory before reproducing the issue, and increasing the memory usage any more only leads to diminishing returns. There is also something like a 0.1% chance that it segfaults due to memory corruption elsewhere than in the statically-allocated buffer. > > > > > >> > > > > > >> With this reproducer in hand, I was able to perform the following bisection: > > > > > > [...] > > > > > > > > > > > > See Bugzilla for the full thread. > > > > > > > > > > Additional details from > > > > > https://bugzilla.kernel.org/show_bug.cgi?id=217624#c5 : > > > > > > > > > > ``` > > > > > I can confirm that v6.4 with 0bff0aaea03e2a3ed6bfa302155cca8a432a1829 > > > > > reverted no longer causes any memory corruption with either my > > > > > reproducer or the original program. > > > > > ``` > > > > > > > > > > FWIW: 0bff0aaea03 ("x86/mm: try VMA lock-based page fault handling > > > > > first") [merged for v6.4-rc1, authored by Suren Baghdasaryan [already CCed]] > > > > > > > > > > That's the same commit that causes build problems with go: > > > > > > > > > > https://lore.kernel.org/all/dbdef34c-3a07-5951-e1ae-e9c6e3cdf51b@kernel.org/ > > > > > > > > Thanks! I'll investigate this later today. After discussing with > > > > Andrew, we would like to disable CONFIG_PER_VMA_LOCK by default until > > > > the issue is fixed. I'll post a patch shortly. > > > > > > Posted at: https://lore.kernel.org/all/20230703182150.2193578-1-surenb@google.com/ > > > > As that change fixes something in 6.4, why not cc: stable on it as well? > > Sorry, I thought since per-VMA locks were introduced in 6.4 and this > patch is fixing 6.4 I didn't need to send it to stable for older > versions. Did I miss something? 6.4.y is a stable kernel tree right now, so yes, it needs to be included there :) 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 BA4F6EB64D9 for ; Tue, 4 Jul 2023 08:00:55 +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:MIME-Version:References: Message-ID:Subject: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=zNX6NtzethygeXrNcjtMhdupWz4VJTSg4bGMX98RDj4=; b=bHIBLUSC39gF5u 6ZnlzmdU4UdkBy1Exai2oXFuTF2e2BJZvyOr0/yuRgRa3q1ZRD+Bl50axO7y02TAquZ7PABojyNS/ lVReK9N5DRYHeqZg+MoB1YLFxJkiE5EAHqET6Mt4dAA9GtjtnZre9m4SprLFWMJbmYfljgqYNd5HC xfnrVZPaEHcFKtgo2i7qBclV+j76i9KojRTzP91r1tJRmJMIwhMS88/8okbPsSNxFfcXO79P5djry v24Pjdr3gOgiZVAtQxdTjmR7ybCvco81yKsoriqDErBSoc6CISF6Pp6XUUAw81Vp2QJrAhepzfEjO L1t5MWiv+U9/CuA2c4LA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.96 #2 (Red Hat Linux)) id 1qGaxU-00CW5p-2p; Tue, 04 Jul 2023 08:00:24 +0000 Received: from dfw.source.kernel.org ([139.178.84.217]) by bombadil.infradead.org with esmtps (Exim 4.96 #2 (Red Hat Linux)) id 1qGaxS-00CW5I-26 for linux-arm-kernel@lists.infradead.org; Tue, 04 Jul 2023 08:00:24 +0000 Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by dfw.source.kernel.org (Postfix) with ESMTPS id 225B96108E; Tue, 4 Jul 2023 08:00:22 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 3E6B7C433C7; Tue, 4 Jul 2023 08:00:21 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org; s=korg; t=1688457621; bh=vU2jOdZ5LLyWKgEHZBnAwSo71oT39lJC++2uk0MUGbk=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=XHp+Hs2JhHl1RFxbfZK/NaC++Nys7AA/C7FARVmMBKrYYsKSWOIXthZX1iXpeUyvH mgHmFrS0zclbCWqAYoKQ/ydbtN9SHJC3UQL4Gess9n1x4aEI+vjtv80YqkFMDU6VFp AqPAyovltrHCKeutz1bcCPNgSjyII3zCgoWE2F04= Date: Tue, 4 Jul 2023 09:00:19 +0100 From: Greg KH To: Suren Baghdasaryan Cc: Linux regressions mailing list , Bagas Sanjaya , Andrew Morton , Jacob Young , Laurent Dufour , Linux Kernel Mailing List , Linux Memory Management , Linux PowerPC , Linux ARM Subject: Re: Fwd: Memory corruption in multithreaded user space program while calling fork Message-ID: <2023070453-plod-swipe-cfbf@gregkh> References: <5c7455db-4ed8-b54f-e2d5-d2811908123d@leemhuis.info> <2023070359-evasive-regroup-f3b8@gregkh> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20230704_010022_790702_AAA6971E X-CRM114-Status: GOOD ( 26.81 ) 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 T24gVHVlLCBKdWwgMDQsIDIwMjMgYXQgMTI6NDU6MzlBTSAtMDcwMCwgU3VyZW4gQmFnaGRhc2Fy eWFuIHdyb3RlOgo+IE9uIE1vbiwgSnVsIDMsIDIwMjMgYXQgMTE6NDTigK9BTSBHcmVnIEtIIDxn cmVna2hAbGludXhmb3VuZGF0aW9uLm9yZz4gd3JvdGU6Cj4gPgo+ID4gT24gTW9uLCBKdWwgMDMs IDIwMjMgYXQgMTE6Mjc6MTlBTSAtMDcwMCwgU3VyZW4gQmFnaGRhc2FyeWFuIHdyb3RlOgo+ID4g PiBPbiBNb24sIEp1bCAzLCAyMDIzIGF0IDExOjA44oCvQU0gU3VyZW4gQmFnaGRhc2FyeWFuIDxz dXJlbmJAZ29vZ2xlLmNvbT4gd3JvdGU6Cj4gPiA+ID4KPiA+ID4gPiBPbiBNb24sIEp1bCAzLCAy MDIzIGF0IDI6NTPigK9BTSBMaW51eCByZWdyZXNzaW9uIHRyYWNraW5nIChUaG9yc3Rlbgo+ID4g PiA+IExlZW1odWlzKSA8cmVncmVzc2lvbnNAbGVlbWh1aXMuaW5mbz4gd3JvdGU6Cj4gPiA+ID4g Pgo+ID4gPiA+ID4gT24gMDIuMDcuMjMgMTQ6MjcsIEJhZ2FzIFNhbmpheWEgd3JvdGU6Cj4gPiA+ ID4gPiA+IEkgbm90aWNlIGEgcmVncmVzc2lvbiByZXBvcnQgb24gQnVnemlsbGEgWzFdLiBRdW90 aW5nIGZyb20gaXQ6Cj4gPiA+ID4gPiA+Cj4gPiA+ID4gPiA+PiBBZnRlciB1cGdyYWRpbmcgdG8g a2VybmVsIHZlcnNpb24gNi40LjAgZnJvbSA2LjMuOSwgSSBub3RpY2VkIGZyZXF1ZW50IGJ1dCBy YW5kb20gY3Jhc2hlcyBpbiBhIHVzZXIgc3BhY2UgcHJvZ3JhbS4gIEFmdGVyIGEgbG90IG9mIHJl ZHVjdGlvbiwgSSBoYXZlIGNvbWUgdXAgd2l0aCB0aGUgZm9sbG93aW5nIHJlcHJvZHVjZXIgcHJv Z3JhbToKPiA+ID4gPiA+ID4gWy4uLl0KPiA+ID4gPiA+ID4+IEFmdGVyIHR1bmluZyB0aGUgdmFy aW91cyBwYXJhbWV0ZXJzIGZvciBteSBjb21wdXRlciwgZXhpdCBjb2RlIDIsIHdoaWNoIGluZGlj YXRlcyB0aGF0IG1lbW9yeSBjb3JydXB0aW9uIHdhcyBkZXRlY3RlZCwgb2NjdXJzIGFwcHJveGlt YXRlbHkgOTklIG9mIHRoZSB0aW1lLiAgRXhpdCBjb2RlIDEsIHdoaWNoIG9jY3VycyBhcHByb3hp bWF0ZWx5IDElIG9mIHRoZSB0aW1lLCBtZWFucyBpdCByYW4gb3V0IG9mIHN0YXRpY2FsbHktYWxs b2NhdGVkIG1lbW9yeSBiZWZvcmUgcmVwcm9kdWNpbmcgdGhlIGlzc3VlLCBhbmQgaW5jcmVhc2lu ZyB0aGUgbWVtb3J5IHVzYWdlIGFueSBtb3JlIG9ubHkgbGVhZHMgdG8gZGltaW5pc2hpbmcgcmV0 dXJucy4gIFRoZXJlIGlzIGFsc28gc29tZXRoaW5nIGxpa2UgYSAwLjElIGNoYW5jZSB0aGF0IGl0 IHNlZ2ZhdWx0cyBkdWUgdG8gbWVtb3J5IGNvcnJ1cHRpb24gZWxzZXdoZXJlIHRoYW4gaW4gdGhl IHN0YXRpY2FsbHktYWxsb2NhdGVkIGJ1ZmZlci4KPiA+ID4gPiA+ID4+Cj4gPiA+ID4gPiA+PiBX aXRoIHRoaXMgcmVwcm9kdWNlciBpbiBoYW5kLCBJIHdhcyBhYmxlIHRvIHBlcmZvcm0gdGhlIGZv bGxvd2luZyBiaXNlY3Rpb246Cj4gPiA+ID4gPiA+IFsuLi5dCj4gPiA+ID4gPiA+Cj4gPiA+ID4g PiA+IFNlZSBCdWd6aWxsYSBmb3IgdGhlIGZ1bGwgdGhyZWFkLgo+ID4gPiA+ID4KPiA+ID4gPiA+ IEFkZGl0aW9uYWwgZGV0YWlscyBmcm9tCj4gPiA+ID4gPiBodHRwczovL2J1Z3ppbGxhLmtlcm5l bC5vcmcvc2hvd19idWcuY2dpP2lkPTIxNzYyNCNjNSA6Cj4gPiA+ID4gPgo+ID4gPiA+ID4gYGBg Cj4gPiA+ID4gPiBJIGNhbiBjb25maXJtIHRoYXQgdjYuNCB3aXRoIDBiZmYwYWFlYTAzZTJhM2Vk NmJmYTMwMjE1NWNjYThhNDMyYTE4MjkKPiA+ID4gPiA+IHJldmVydGVkIG5vIGxvbmdlciBjYXVz ZXMgYW55IG1lbW9yeSBjb3JydXB0aW9uIHdpdGggZWl0aGVyIG15Cj4gPiA+ID4gPiByZXByb2R1 Y2VyIG9yIHRoZSBvcmlnaW5hbCBwcm9ncmFtLgo+ID4gPiA+ID4gYGBgCj4gPiA+ID4gPgo+ID4g PiA+ID4gRldJVzogMGJmZjBhYWVhMDMgKCJ4ODYvbW06IHRyeSBWTUEgbG9jay1iYXNlZCBwYWdl IGZhdWx0IGhhbmRsaW5nCj4gPiA+ID4gPiBmaXJzdCIpIFttZXJnZWQgZm9yIHY2LjQtcmMxLCBh dXRob3JlZCBieSBTdXJlbiBCYWdoZGFzYXJ5YW4gW2FscmVhZHkgQ0NlZF1dCj4gPiA+ID4gPgo+ ID4gPiA+ID4gVGhhdCdzIHRoZSBzYW1lIGNvbW1pdCB0aGF0IGNhdXNlcyBidWlsZCBwcm9ibGVt cyB3aXRoIGdvOgo+ID4gPiA+ID4KPiA+ID4gPiA+IGh0dHBzOi8vbG9yZS5rZXJuZWwub3JnL2Fs bC9kYmRlZjM0Yy0zYTA3LTU5NTEtZTFhZS1lOWM2ZTNjZGY1MWJAa2VybmVsLm9yZy8KPiA+ID4g Pgo+ID4gPiA+IFRoYW5rcyEgSSdsbCBpbnZlc3RpZ2F0ZSB0aGlzIGxhdGVyIHRvZGF5LiBBZnRl ciBkaXNjdXNzaW5nIHdpdGgKPiA+ID4gPiBBbmRyZXcsIHdlIHdvdWxkIGxpa2UgdG8gZGlzYWJs ZSBDT05GSUdfUEVSX1ZNQV9MT0NLIGJ5IGRlZmF1bHQgdW50aWwKPiA+ID4gPiB0aGUgaXNzdWUg aXMgZml4ZWQuIEknbGwgcG9zdCBhIHBhdGNoIHNob3J0bHkuCj4gPiA+Cj4gPiA+IFBvc3RlZCBh dDogaHR0cHM6Ly9sb3JlLmtlcm5lbC5vcmcvYWxsLzIwMjMwNzAzMTgyMTUwLjIxOTM1NzgtMS1z dXJlbmJAZ29vZ2xlLmNvbS8KPiA+Cj4gPiBBcyB0aGF0IGNoYW5nZSBmaXhlcyBzb21ldGhpbmcg aW4gNi40LCB3aHkgbm90IGNjOiBzdGFibGUgb24gaXQgYXMgd2VsbD8KPiAKPiBTb3JyeSwgSSB0 aG91Z2h0IHNpbmNlIHBlci1WTUEgbG9ja3Mgd2VyZSBpbnRyb2R1Y2VkIGluIDYuNCBhbmQgdGhp cwo+IHBhdGNoIGlzIGZpeGluZyA2LjQgSSBkaWRuJ3QgbmVlZCB0byBzZW5kIGl0IHRvIHN0YWJs ZSBmb3Igb2xkZXIKPiB2ZXJzaW9ucy4gRGlkIEkgbWlzcyBzb21ldGhpbmc/Cgo2LjQueSBpcyBh IHN0YWJsZSBrZXJuZWwgdHJlZSByaWdodCBub3csIHNvIHllcywgaXQgbmVlZHMgdG8gYmUgaW5j bHVkZWQKdGhlcmUgOikKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fXwpsaW51eC1hcm0ta2VybmVsIG1haWxpbmcgbGlzdApsaW51eC1hcm0ta2VybmVsQGxp c3RzLmluZnJhZGVhZC5vcmcKaHR0cDovL2xpc3RzLmluZnJhZGVhZC5vcmcvbWFpbG1hbi9saXN0 aW5mby9saW51eC1hcm0ta2VybmVsCg==