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=-11.5 required=3.0 tests=BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI,NICE_REPLY_A, SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED,USER_AGENT_SANE_1 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 32F35C433E7 for ; Fri, 16 Oct 2020 11:11:55 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id C982E2084C for ; Fri, 16 Oct 2020 11:11:54 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2394611AbgJPLLy (ORCPT ); Fri, 16 Oct 2020 07:11:54 -0400 Received: from foss.arm.com ([217.140.110.172]:34678 "EHLO foss.arm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2391033AbgJPLLy (ORCPT ); Fri, 16 Oct 2020 07:11:54 -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 12107D6E; Fri, 16 Oct 2020 04:11:53 -0700 (PDT) Received: from [10.57.50.28] (unknown [10.57.50.28]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 0E7A43F719; Fri, 16 Oct 2020 04:11:50 -0700 (PDT) Subject: Re: [PATCH] coresight: etm4x: Add config to exclude kernel mode tracing To: Denis Nikitin , Mathieu Poirier Cc: Sai Prakash Ranjan , Mike Leach , coresight@lists.linaro.org, Stephen Boyd , linux-arm-msm@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org References: <20201015124522.1876-1-saiprakash.ranjan@codeaurora.org> <20201015160257.GA1450102@xps15> From: Suzuki Poulose Message-ID: Date: Fri, 16 Oct 2020 12:11:40 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.3.1 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-GB Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-arm-msm@vger.kernel.org On 10/16/20 7:40 AM, Denis Nikitin wrote: > Hi Mathieu, > > I think one of the use cases could be VMs. > Is there isolation between EL1 guest kernels which we can control from > perf in a system wide mode? The proposed solution doesn't solve this for VMs anyway. It only excludes EL1 *OR* EL2, depending on the host kernel's running EL. We cannot support Virtual ETM access for VMs with memory mapped accesses. Unforutnately, trace filtering is the solution for preventing tracing for EL1 guest/kernel (available from v8.4 Self Hosted extensions). Other option is to add support for "exclude_guest" support for CoreSight for perf. But again this can't be controlled by sysfs. And it can't be enforced for perf, if not specified. Again it all goes back to the root permission hammer lock which Mathieu pointed out. With the v8.4 Self hosted trace extensions, Guest and Host both could control individually if they can be traced (both EL0 and EL1/2). Suzuki > > Thanks, > Denis > > On Thu, Oct 15, 2020 at 9:03 AM Mathieu Poirier > > wrote: > > On Thu, Oct 15, 2020 at 06:15:22PM +0530, Sai Prakash Ranjan wrote: > > On production systems with ETMs enabled, it is preferred to > > exclude kernel mode(NS EL1) tracing for security concerns and > > support only userspace(NS EL0) tracing. So provide an option > > via kconfig to exclude kernel mode tracing if it is required. > > This config is disabled by default and would not affect the > > current configuration which has both kernel and userspace > > tracing enabled by default. > > > > One requires root access (or be part of a special trace group) to be > able to use > the cs_etm PMU.  With this kind of elevated access restricting > tracing at EL1 > provides little in terms of security. > > Thanks, > Mathieu > > > Signed-off-by: Sai Prakash Ranjan > > > > --- > >  drivers/hwtracing/coresight/Kconfig                | 9 +++++++++ > >  drivers/hwtracing/coresight/coresight-etm4x-core.c | 6 +++++- > >  2 files changed, 14 insertions(+), 1 deletion(-) > > > > diff --git a/drivers/hwtracing/coresight/Kconfig > b/drivers/hwtracing/coresight/Kconfig > > index c1198245461d..52435de8824c 100644 > > --- a/drivers/hwtracing/coresight/Kconfig > > +++ b/drivers/hwtracing/coresight/Kconfig > > @@ -110,6 +110,15 @@ config CORESIGHT_SOURCE_ETM4X > >         To compile this driver as a module, choose M here: the > >         module will be called coresight-etm4x. > > > > +config CORESIGHT_ETM4X_EXCL_KERN > > +     bool "Coresight ETM 4.x exclude kernel mode tracing" > > +     depends on CORESIGHT_SOURCE_ETM4X > > +     help > > +       This will exclude kernel mode(NS EL1) tracing if enabled. > This option > > +       will be useful to provide more flexible options on > production systems > > +       where only userspace(NS EL0) tracing might be preferred > for security > > +       reasons. > > + > >  config CORESIGHT_STM > >       tristate "CoreSight System Trace Macrocell driver" > >       depends on (ARM && !(CPU_32v3 || CPU_32v4 || CPU_32v4T)) || > ARM64 > > diff --git a/drivers/hwtracing/coresight/coresight-etm4x-core.c > b/drivers/hwtracing/coresight/coresight-etm4x-core.c > > index abd706b216ac..7e5669e5cd1f 100644 > > --- a/drivers/hwtracing/coresight/coresight-etm4x-core.c > > +++ b/drivers/hwtracing/coresight/coresight-etm4x-core.c > > @@ -832,6 +832,9 @@ static u64 etm4_get_ns_access_type(struct > etmv4_config *config) > >  { > >       u64 access_type = 0; > > > > +     if (IS_ENABLED(CONFIG_CORESIGHT_ETM4X_EXCL_KERN)) > > +             config->mode |= ETM_MODE_EXCL_KERN; > > + > >       /* > >        * EXLEVEL_NS, bits[15:12] > >        * The Exception levels are: > > @@ -849,7 +852,8 @@ static u64 etm4_get_ns_access_type(struct > etmv4_config *config) > >               access_type = ETM_EXLEVEL_NS_HYP; > >       } > > > > -     if (config->mode & ETM_MODE_EXCL_USER) > > +     if (config->mode & ETM_MODE_EXCL_USER && > > +         !IS_ENABLED(CONFIG_CORESIGHT_ETM4X_EXCL_KERN)) > >               access_type |= ETM_EXLEVEL_NS_APP; > > > >       return access_type; > > > > base-commit: 3477326277451000bc667dfcc4fd0774c039184c > > -- > > QUALCOMM INDIA, on behalf of Qualcomm Innovation Center, Inc. is > a member > > of Code Aurora Forum, hosted by The Linux Foundation > > > 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=-11.5 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH, MAILING_LIST_MULTI,NICE_REPLY_A,SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS, URIBL_BLOCKED,USER_AGENT_SANE_1 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 9D2C1C433E7 for ; Fri, 16 Oct 2020 11:13:33 +0000 (UTC) Received: from merlin.infradead.org (merlin.infradead.org [205.233.59.134]) (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 23EE2207F7 for ; Fri, 16 Oct 2020 11:13:33 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="RLN1gqCS" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 23EE2207F7 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=merlin.20170209; h=Sender:Content-Type: Content-Transfer-Encoding:Cc:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:In-Reply-To:MIME-Version:Date:Message-ID:From: References:To:Subject:Reply-To:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=aMu5Dg+TNc47OvJfSUF3FThdWqzxOWnOew1jYe4Qzzk=; b=RLN1gqCSow2gRP+zRo1qSt47t 8na8L0W/piC95G+3DfsNxb1duIDHuMMJK4K7CCqPJ/bBIeFPRxbM4UDlb8vuc30K60Qrk19LItaey UdrrTRma3Xm0bFVObIsj8AyAta9lKJ8jyZ1wIyUhO8t8Vw5o6vvUZvcHmqU1pm05bX55bzO5or5lL 6flTnYzeto8TjHgEMtUqMQsrCRuRLSd0Bew1kbsJ+8iz+3HPwpWlXrxT7WK5wvtisiDXuBkbeRjVY 5qY0dzRalTiqWcSwG4r+NpwQ9PIcqFSP5xiNNS1JBNqXR/QZb67XJn/eEoVW0afaaztQYcFDteIB2 ZsVhlYA5Q==; Received: from localhost ([::1] helo=merlin.infradead.org) by merlin.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1kTNeQ-00020Z-Kj; Fri, 16 Oct 2020 11:11:58 +0000 Received: from foss.arm.com ([217.140.110.172]) by merlin.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1kTNeN-000200-NH for linux-arm-kernel@lists.infradead.org; Fri, 16 Oct 2020 11:11:56 +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 12107D6E; Fri, 16 Oct 2020 04:11:53 -0700 (PDT) Received: from [10.57.50.28] (unknown [10.57.50.28]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 0E7A43F719; Fri, 16 Oct 2020 04:11:50 -0700 (PDT) Subject: Re: [PATCH] coresight: etm4x: Add config to exclude kernel mode tracing To: Denis Nikitin , Mathieu Poirier References: <20201015124522.1876-1-saiprakash.ranjan@codeaurora.org> <20201015160257.GA1450102@xps15> From: Suzuki Poulose Message-ID: Date: Fri, 16 Oct 2020 12:11:40 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.3.1 MIME-Version: 1.0 In-Reply-To: Content-Language: en-GB X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20201016_071155_903484_AEAAD8ED X-CRM114-Status: GOOD ( 34.91 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Sai Prakash Ranjan , linux-arm-msm@vger.kernel.org, coresight@lists.linaro.org, linux-kernel@vger.kernel.org, Stephen Boyd , linux-arm-kernel@lists.infradead.org, Mike Leach Content-Transfer-Encoding: base64 Content-Type: text/plain; charset="utf-8"; Format="flowed" Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org T24gMTAvMTYvMjAgNzo0MCBBTSwgRGVuaXMgTmlraXRpbiB3cm90ZToKPiBIacKgTWF0aGlldSwK PiAKPiBJIHRoaW5rIG9uZSBvZiB0aGUgdXNlIGNhc2VzIGNvdWxkIGJlIFZNcy4KPiBJcyB0aGVy ZSBpc29sYXRpb24gYmV0d2VlbiBFTDEgZ3Vlc3Qga2VybmVscyB3aGljaCB3ZSBjYW4gY29udHJv bCBmcm9tIAo+IHBlcmYgaW4gYSBzeXN0ZW0gd2lkZSBtb2RlPwoKVGhlIHByb3Bvc2VkIHNvbHV0 aW9uIGRvZXNuJ3Qgc29sdmUgdGhpcyBmb3IgVk1zIGFueXdheS4gSXQgb25seQpleGNsdWRlcyBF TDEgKk9SKiBFTDIsIGRlcGVuZGluZyBvbiB0aGUgaG9zdCBrZXJuZWwncyBydW5uaW5nICBFTC4K V2UgY2Fubm90IHN1cHBvcnQgVmlydHVhbCBFVE0gYWNjZXNzIGZvciBWTXMgd2l0aCBtZW1vcnkg bWFwcGVkCmFjY2Vzc2VzLgoKVW5mb3J1dG5hdGVseSwgdHJhY2UgZmlsdGVyaW5nIGlzIHRoZSBz b2x1dGlvbiBmb3IgcHJldmVudGluZyB0cmFjaW5nCmZvciBFTDEgZ3Vlc3Qva2VybmVsIChhdmFp bGFibGUgZnJvbSB2OC40IFNlbGYgSG9zdGVkIGV4dGVuc2lvbnMpLiBPdGhlcgpvcHRpb24gaXMg dG8gYWRkIHN1cHBvcnQgZm9yICJleGNsdWRlX2d1ZXN0IiBzdXBwb3J0IGZvciBDb3JlU2lnaHQg Zm9yIHBlcmYuCkJ1dCBhZ2FpbiB0aGlzIGNhbid0IGJlIGNvbnRyb2xsZWQgYnkgc3lzZnMuIEFu ZCBpdCBjYW4ndCBiZSBlbmZvcmNlZCAKZm9yIHBlcmYsIGlmIG5vdCBzcGVjaWZpZWQuIEFnYWlu IGl0IGFsbCBnb2VzIGJhY2sgdG8gdGhlIHJvb3QKcGVybWlzc2lvbiBoYW1tZXIgbG9jayB3aGlj aCBNYXRoaWV1IHBvaW50ZWQgb3V0LgoKCldpdGggdGhlIHY4LjQgU2VsZiBob3N0ZWQgdHJhY2Ug ZXh0ZW5zaW9ucywgR3Vlc3QgYW5kIEhvc3QgYm90aCBjb3VsZApjb250cm9sIGluZGl2aWR1YWxs eSBpZiB0aGV5IGNhbiBiZSB0cmFjZWQgKGJvdGggRUwwIGFuZCBFTDEvMikuCgpTdXp1a2kKCj4g Cj4gVGhhbmtzLAo+IERlbmlzCj4gCj4gT24gVGh1LCBPY3QgMTUsIDIwMjAgYXQgOTowMyBBTSBN YXRoaWV1IFBvaXJpZXIgCj4gPG1hdGhpZXUucG9pcmllckBsaW5hcm8ub3JnIDxtYWlsdG86bWF0 aGlldS5wb2lyaWVyQGxpbmFyby5vcmc+PiB3cm90ZToKPiAKPiAgICAgT24gVGh1LCBPY3QgMTUs IDIwMjAgYXQgMDY6MTU6MjJQTSArMDUzMCwgU2FpIFByYWthc2ggUmFuamFuIHdyb3RlOgo+ICAg ICAgPiBPbiBwcm9kdWN0aW9uIHN5c3RlbXMgd2l0aCBFVE1zIGVuYWJsZWQsIGl0IGlzIHByZWZl cnJlZCB0bwo+ICAgICAgPiBleGNsdWRlIGtlcm5lbCBtb2RlKE5TIEVMMSkgdHJhY2luZyBmb3Ig c2VjdXJpdHkgY29uY2VybnMgYW5kCj4gICAgICA+IHN1cHBvcnQgb25seSB1c2Vyc3BhY2UoTlMg RUwwKSB0cmFjaW5nLiBTbyBwcm92aWRlIGFuIG9wdGlvbgo+ICAgICAgPiB2aWEga2NvbmZpZyB0 byBleGNsdWRlIGtlcm5lbCBtb2RlIHRyYWNpbmcgaWYgaXQgaXMgcmVxdWlyZWQuCj4gICAgICA+ IFRoaXMgY29uZmlnIGlzIGRpc2FibGVkIGJ5IGRlZmF1bHQgYW5kIHdvdWxkIG5vdCBhZmZlY3Qg dGhlCj4gICAgICA+IGN1cnJlbnQgY29uZmlndXJhdGlvbiB3aGljaCBoYXMgYm90aCBrZXJuZWwg YW5kIHVzZXJzcGFjZQo+ICAgICAgPiB0cmFjaW5nIGVuYWJsZWQgYnkgZGVmYXVsdC4KPiAgICAg ID4KPiAKPiAgICAgT25lIHJlcXVpcmVzIHJvb3QgYWNjZXNzIChvciBiZSBwYXJ0IG9mIGEgc3Bl Y2lhbCB0cmFjZSBncm91cCkgdG8gYmUKPiAgICAgYWJsZSB0byB1c2UKPiAgICAgdGhlIGNzX2V0 bSBQTVUuwqAgV2l0aCB0aGlzIGtpbmQgb2YgZWxldmF0ZWQgYWNjZXNzIHJlc3RyaWN0aW5nCj4g ICAgIHRyYWNpbmcgYXQgRUwxCj4gICAgIHByb3ZpZGVzIGxpdHRsZSBpbiB0ZXJtcyBvZiBzZWN1 cml0eS4KPiAKPiAgICAgVGhhbmtzLAo+ICAgICBNYXRoaWV1Cj4gCj4gICAgICA+IFNpZ25lZC1v ZmYtYnk6IFNhaSBQcmFrYXNoIFJhbmphbgo+ICAgICA8c2FpcHJha2FzaC5yYW5qYW5AY29kZWF1 cm9yYS5vcmcKPiAgICAgPG1haWx0bzpzYWlwcmFrYXNoLnJhbmphbkBjb2RlYXVyb3JhLm9yZz4+ Cj4gICAgICA+IC0tLQo+ICAgICAgPsKgIGRyaXZlcnMvaHd0cmFjaW5nL2NvcmVzaWdodC9LY29u ZmlnwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgfCA5ICsrKysrKysrKwo+ICAgICAgPsKgIGRyaXZl cnMvaHd0cmFjaW5nL2NvcmVzaWdodC9jb3Jlc2lnaHQtZXRtNHgtY29yZS5jIHwgNiArKysrKy0K PiAgICAgID7CoCAyIGZpbGVzIGNoYW5nZWQsIDE0IGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24o LSkKPiAgICAgID4KPiAgICAgID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvaHd0cmFjaW5nL2NvcmVz aWdodC9LY29uZmlnCj4gICAgIGIvZHJpdmVycy9od3RyYWNpbmcvY29yZXNpZ2h0L0tjb25maWcK PiAgICAgID4gaW5kZXggYzExOTgyNDU0NjFkLi41MjQzNWRlODgyNGMgMTAwNjQ0Cj4gICAgICA+ IC0tLSBhL2RyaXZlcnMvaHd0cmFjaW5nL2NvcmVzaWdodC9LY29uZmlnCj4gICAgICA+ICsrKyBi L2RyaXZlcnMvaHd0cmFjaW5nL2NvcmVzaWdodC9LY29uZmlnCj4gICAgICA+IEBAIC0xMTAsNiAr MTEwLDE1IEBAIGNvbmZpZyBDT1JFU0lHSFRfU09VUkNFX0VUTTRYCj4gICAgICA+wqAgwqAgwqAg wqAgwqBUbyBjb21waWxlIHRoaXMgZHJpdmVyIGFzIGEgbW9kdWxlLCBjaG9vc2UgTSBoZXJlOiB0 aGUKPiAgICAgID7CoCDCoCDCoCDCoCDCoG1vZHVsZSB3aWxsIGJlIGNhbGxlZCBjb3Jlc2lnaHQt ZXRtNHguCj4gICAgICA+Cj4gICAgICA+ICtjb25maWcgQ09SRVNJR0hUX0VUTTRYX0VYQ0xfS0VS Tgo+ICAgICAgPiArwqAgwqAgwqBib29sICJDb3Jlc2lnaHQgRVRNIDQueCBleGNsdWRlIGtlcm5l bCBtb2RlIHRyYWNpbmciCj4gICAgICA+ICvCoCDCoCDCoGRlcGVuZHMgb24gQ09SRVNJR0hUX1NP VVJDRV9FVE00WAo+ICAgICAgPiArwqAgwqAgwqBoZWxwCj4gICAgICA+ICvCoCDCoCDCoCDCoFRo aXMgd2lsbCBleGNsdWRlIGtlcm5lbCBtb2RlKE5TIEVMMSkgdHJhY2luZyBpZiBlbmFibGVkLgo+ ICAgICBUaGlzIG9wdGlvbgo+ICAgICAgPiArwqAgwqAgwqAgwqB3aWxsIGJlIHVzZWZ1bCB0byBw cm92aWRlIG1vcmUgZmxleGlibGUgb3B0aW9ucyBvbgo+ICAgICBwcm9kdWN0aW9uIHN5c3RlbXMK PiAgICAgID4gK8KgIMKgIMKgIMKgd2hlcmUgb25seSB1c2Vyc3BhY2UoTlMgRUwwKSB0cmFjaW5n IG1pZ2h0IGJlIHByZWZlcnJlZAo+ICAgICBmb3Igc2VjdXJpdHkKPiAgICAgID4gK8KgIMKgIMKg IMKgcmVhc29ucy4KPiAgICAgID4gKwo+ICAgICAgPsKgIGNvbmZpZyBDT1JFU0lHSFRfU1RNCj4g ICAgICA+wqAgwqAgwqAgwqB0cmlzdGF0ZSAiQ29yZVNpZ2h0IFN5c3RlbSBUcmFjZSBNYWNyb2Nl bGwgZHJpdmVyIgo+ICAgICAgPsKgIMKgIMKgIMKgZGVwZW5kcyBvbiAoQVJNICYmICEoQ1BVXzMy djMgfHwgQ1BVXzMydjQgfHwgQ1BVXzMydjRUKSkgfHwKPiAgICAgQVJNNjQKPiAgICAgID4gZGlm ZiAtLWdpdCBhL2RyaXZlcnMvaHd0cmFjaW5nL2NvcmVzaWdodC9jb3Jlc2lnaHQtZXRtNHgtY29y ZS5jCj4gICAgIGIvZHJpdmVycy9od3RyYWNpbmcvY29yZXNpZ2h0L2NvcmVzaWdodC1ldG00eC1j b3JlLmMKPiAgICAgID4gaW5kZXggYWJkNzA2YjIxNmFjLi43ZTU2NjllNWNkMWYgMTAwNjQ0Cj4g ICAgICA+IC0tLSBhL2RyaXZlcnMvaHd0cmFjaW5nL2NvcmVzaWdodC9jb3Jlc2lnaHQtZXRtNHgt Y29yZS5jCj4gICAgICA+ICsrKyBiL2RyaXZlcnMvaHd0cmFjaW5nL2NvcmVzaWdodC9jb3Jlc2ln aHQtZXRtNHgtY29yZS5jCj4gICAgICA+IEBAIC04MzIsNiArODMyLDkgQEAgc3RhdGljIHU2NCBl dG00X2dldF9uc19hY2Nlc3NfdHlwZShzdHJ1Y3QKPiAgICAgZXRtdjRfY29uZmlnICpjb25maWcp Cj4gICAgICA+wqAgewo+ICAgICAgPsKgIMKgIMKgIMKgdTY0IGFjY2Vzc190eXBlID0gMDsKPiAg ICAgID4KPiAgICAgID4gK8KgIMKgIMKgaWYgKElTX0VOQUJMRUQoQ09ORklHX0NPUkVTSUdIVF9F VE00WF9FWENMX0tFUk4pKQo+ICAgICAgPiArwqAgwqAgwqAgwqAgwqAgwqAgwqBjb25maWctPm1v ZGUgfD0gRVRNX01PREVfRVhDTF9LRVJOOwo+ICAgICAgPiArCj4gICAgICA+wqAgwqAgwqAgwqAv Kgo+ICAgICAgPsKgIMKgIMKgIMKgICogRVhMRVZFTF9OUywgYml0c1sxNToxMl0KPiAgICAgID7C oCDCoCDCoCDCoCAqIFRoZSBFeGNlcHRpb24gbGV2ZWxzIGFyZToKPiAgICAgID4gQEAgLTg0OSw3 ICs4NTIsOCBAQCBzdGF0aWMgdTY0IGV0bTRfZ2V0X25zX2FjY2Vzc190eXBlKHN0cnVjdAo+ICAg ICBldG12NF9jb25maWcgKmNvbmZpZykKPiAgICAgID7CoCDCoCDCoCDCoCDCoCDCoCDCoCDCoGFj Y2Vzc190eXBlID0gRVRNX0VYTEVWRUxfTlNfSFlQOwo+ICAgICAgPsKgIMKgIMKgIMKgfQo+ICAg ICAgPgo+ICAgICAgPiAtwqAgwqAgwqBpZiAoY29uZmlnLT5tb2RlICYgRVRNX01PREVfRVhDTF9V U0VSKQo+ICAgICAgPiArwqAgwqAgwqBpZiAoY29uZmlnLT5tb2RlICYgRVRNX01PREVfRVhDTF9V U0VSICYmCj4gICAgICA+ICvCoCDCoCDCoCDCoCDCoCFJU19FTkFCTEVEKENPTkZJR19DT1JFU0lH SFRfRVRNNFhfRVhDTF9LRVJOKSkKPiAgICAgID7CoCDCoCDCoCDCoCDCoCDCoCDCoCDCoGFjY2Vz c190eXBlIHw9IEVUTV9FWExFVkVMX05TX0FQUDsKPiAgICAgID4KPiAgICAgID7CoCDCoCDCoCDC oHJldHVybiBhY2Nlc3NfdHlwZTsKPiAgICAgID4KPiAgICAgID4gYmFzZS1jb21taXQ6IDM0Nzcz MjYyNzc0NTEwMDBiYzY2N2RmY2M0ZmQwNzc0YzAzOTE4NGMKPiAgICAgID4gLS0KPiAgICAgID4g UVVBTENPTU0gSU5ESUEsIG9uIGJlaGFsZiBvZiBRdWFsY29tbSBJbm5vdmF0aW9uIENlbnRlciwg SW5jLiBpcwo+ICAgICBhIG1lbWJlcgo+ICAgICAgPiBvZiBDb2RlIEF1cm9yYSBGb3J1bSwgaG9z dGVkIGJ5IFRoZSBMaW51eCBGb3VuZGF0aW9uCj4gICAgICA+Cj4gCgoKX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KbGludXgtYXJtLWtlcm5lbCBtYWlsaW5n IGxpc3QKbGludXgtYXJtLWtlcm5lbEBsaXN0cy5pbmZyYWRlYWQub3JnCmh0dHA6Ly9saXN0cy5p bmZyYWRlYWQub3JnL21haWxtYW4vbGlzdGluZm8vbGludXgtYXJtLWtlcm5lbAo=