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 92544E77179 for ; Fri, 6 Dec 2024 12:10:14 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:List-Subscribe:List-Help :List-Post:List-Archive:List-Unsubscribe:List-Id:Content-Transfer-Encoding: Content-Type:MIME-Version:Message-ID:Date:From:Cc:To:Subject:Reply-To: Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender: Resent-To:Resent-Cc:Resent-Message-ID:In-Reply-To:References:List-Owner; bh=gYnZuGaBVb8OoJaBG5fmz2bM/VwUfcvVK7JqyrVSEE0=; b=GppbZE8PFPINQujLRlYDG9stBq Nr26mXT5zcWpUKcbo4jz5l/6hmopo5udT70N7D+0ySXZTew+agveUbOq6+bxwvZkBWNSc7Zvb/7PM YTumxNiLC+Hzm0TxaJ9hltEqI8bU4giQQk4NcHRQOiNw26AfOX4f9x2/QTfE2zzNhjlp7f6kBYgCx gXIDGQQuUrzdkr1oaxoOfgRktFWQa3IaMTp/0DxyB6+QJQErTLM3utvamx9TSO3yEj9Ol/wZsH/Ci LcPyFHHEjvrftaUokotbEsqKu/9lWMip3MheHYDuL/C9ZmE6g0cSfm0VOkOaQ67mSKOtjQi2TqbXy TIrndj+w==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98 #2 (Red Hat Linux)) id 1tJX9k-00000001Wsm-2CE2; Fri, 06 Dec 2024 12:10:00 +0000 Received: from nyc.source.kernel.org ([2604:1380:45d1:ec00::3]) by bombadil.infradead.org with esmtps (Exim 4.98 #2 (Red Hat Linux)) id 1tJX8h-00000001Wlc-3Q5E; Fri, 06 Dec 2024 12:08:58 +0000 Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by nyc.source.kernel.org (Postfix) with ESMTP id 8ABCBA411D1; Fri, 6 Dec 2024 12:07:02 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 964E7C4CEDE; Fri, 6 Dec 2024 12:08:53 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org; s=korg; t=1733486934; bh=9K6GHCZMrxbO9GvnHCeqOPFlq+CzNBqgiuCnhr67PNg=; h=Subject:To:Cc:From:Date:From; b=bczx4L1PZwB96R37jqIEdxv9XqTsQxV5apl0ZHiibhlsdIRpUFlNjBHCnPIYWoXAZ arrQ7pKYSI84xUjkaILVl/YG7qDIs5EQIQGUOTnjqHvQlu/3qkHaK5x7EMwSUxLtfK cR9kW+zolfwDBssCTFOE9p11KAinTz1CxjGBTI9M= Subject: Patch "perf jevents: fix breakage when do perf stat on system metric" has been added to the 6.12-stable tree To: acme@redhat.com,adrian.hunter@intel.com,alexander.shishkin@linux.intel.com,alexghiti@rivosinc.com,aou@eecs.berkeley.edu,atrajeev@linux.vnet.ibm.com,ben717@andestech.com,bgray@linux.ibm.com,chenhuacai@kernel.org,clement.legoffic@foss.st.com,dima@secretsauce.net,gregkh@linuxfoundation.org,irogers@google.com,james.clark@linaro.org,john.g.garry@oracle.com,jolsa@kernel.org,kan.liang@linux.intel.com,leo.yan@linux.dev,linux-arm-kernel@lists.infradead.org,linux-riscv@lists.infradead.org,linux@treblig.org,maobibo@loongson.cn,mark.rutland@arm.com,mhiramat@kernel.org,mike.leach@linaro.org,mingo@redhat.com,namhyung@kernel.org,palmer@dabbelt.com,paul.walmsley@sifive.com,peterz@infradead.org,ravi.bangoria@amd.com,sandipan.das@amd.com,will@kernel.org,xu.yang_2@nxp.com,yangyicong@hisilicon.com Cc: From: Date: Fri, 06 Dec 2024 13:08:06 +0100 Message-ID: <2024120606-nearly-arousal-e45f@gregkh> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-stable: commit X-Patchwork-Hint: ignore X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20241206_040855_979755_24DE0378 X-CRM114-Status: GOOD ( 19.22 ) 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: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org This is a note to let you know that I've just added the patch titled perf jevents: fix breakage when do perf stat on system metric to the 6.12-stable tree which can be found at: http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary The filename of the patch is: perf-jevents-fix-breakage-when-do-perf-stat-on-system-metric.patch and it can be found in the queue-6.12 subdirectory. If you, or anyone else, feels it should not be added to the stable tree, please let know about it. >From 4a159e6049f319bef6f9e6d2ccdd322f57d24830 Mon Sep 17 00:00:00 2001 From: Xu Yang Date: Thu, 7 Nov 2024 08:20:28 -0800 Subject: perf jevents: fix breakage when do perf stat on system metric MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit From: Xu Yang commit 4a159e6049f319bef6f9e6d2ccdd322f57d24830 upstream. When do perf stat on sys metric, perf tool output nothing now: $ perf stat -a -M imx95_ddr_read.all -I 1000 $ This command runs on an arm64 machine and the Soc has one DDR hw pmu except one armv8_cortex_a55 pmu. Their maps show as follows: const struct pmu_events_map pmu_events_map[] = { { .arch = "arm64", .cpuid = "0x00000000410fd050", .event_table = { .pmus = pmu_events__arm_cortex_a55, .num_pmus = ARRAY_SIZE(pmu_events__arm_cortex_a55) }, .metric_table = { .pmus = NULL, .num_pmus = 0 } }, static const struct pmu_sys_events pmu_sys_event_tables[] = { { .event_table = { .pmus = pmu_events__freescale_imx95_sys, .num_pmus = ARRAY_SIZE(pmu_events__freescale_imx95_sys) }, .metric_table = { .pmus = pmu_metrics__freescale_imx95_sys, .num_pmus = ARRAY_SIZE(pmu_metrics__freescale_imx95_sys) }, .name = "pmu_events__freescale_imx95_sys", }, Currently, pmu_metrics_table__find() will return NULL when only do perf stat on sys metric. Then parse_groups() will never be called to parse sys metric_name, finally perf tool will exit directly. This should be a common problem. To fix the issue, this will keep the logic before commit f20c15d13f01 ("perf pmu-events: Remember the perf_events_map for a PMU") to return a empty metric table rather than a NULL pointer. This should be fine since the removed part just check if the table match provided metric_name. Without these code, the code in parse_groups() will also check the validity of metrci_name too. Fixes: f20c15d13f017d4b ("perf pmu-events: Remember the perf_events_map for a PMU") Reviewed-by: James Clark Signed-off-by: Xu Yang Tested-by: Xu Yang Acked-by: Ian Rogers Cc: Adrian Hunter Cc: Albert Ou Cc: Alexander Shishkin Cc: Alexandre Ghiti Cc: Athira Rajeev Cc: Benjamin Gray Cc: Ben Zong-You Xie Cc: Bibo Mao Cc: Clément Le Goffic Cc: Dima Kogan Cc: Dr. David Alan Gilbert Cc: Huacai Chen Cc: Ingo Molnar Cc: Jiri Olsa Cc: John Garry Cc: Kan Liang Cc: Leo Yan Cc: Mark Rutland Cc: Masami Hiramatsu Cc: Mike Leach Cc: Namhyung Kim Cc: Palmer Dabbelt Cc: Paul Walmsley Cc: Peter Zijlstra Cc: Ravi Bangoria Cc: Sandipan Das Cc: Will Deacon Cc: Yicong Yang Cc: linux-arm-kernel@lists.infradead.org Cc: linux-riscv@lists.infradead.org Cc: stable@vger.kernel.org Link: https://lore.kernel.org/r/20241107162035.52206-2-irogers@google.com Signed-off-by: Ian Rogers Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: Greg Kroah-Hartman --- tools/perf/pmu-events/empty-pmu-events.c | 12 +----------- tools/perf/pmu-events/jevents.py | 12 +----------- 2 files changed, 2 insertions(+), 22 deletions(-) --- a/tools/perf/pmu-events/empty-pmu-events.c +++ b/tools/perf/pmu-events/empty-pmu-events.c @@ -539,17 +539,7 @@ const struct pmu_metrics_table *perf_pmu if (!map) return NULL; - if (!pmu) - return &map->metric_table; - - for (size_t i = 0; i < map->metric_table.num_pmus; i++) { - const struct pmu_table_entry *table_pmu = &map->metric_table.pmus[i]; - const char *pmu_name = &big_c_string[table_pmu->pmu_name.offset]; - - if (pmu__name_match(pmu, pmu_name)) - return &map->metric_table; - } - return NULL; + return &map->metric_table; } const struct pmu_events_table *find_core_events_table(const char *arch, const char *cpuid) --- a/tools/perf/pmu-events/jevents.py +++ b/tools/perf/pmu-events/jevents.py @@ -1089,17 +1089,7 @@ const struct pmu_metrics_table *perf_pmu if (!map) return NULL; - if (!pmu) - return &map->metric_table; - - for (size_t i = 0; i < map->metric_table.num_pmus; i++) { - const struct pmu_table_entry *table_pmu = &map->metric_table.pmus[i]; - const char *pmu_name = &big_c_string[table_pmu->pmu_name.offset]; - - if (pmu__name_match(pmu, pmu_name)) - return &map->metric_table; - } - return NULL; + return &map->metric_table; } const struct pmu_events_table *find_core_events_table(const char *arch, const char *cpuid) Patches currently in stable-queue which might be from xu.yang_2@nxp.com are queue-6.12/perf-jevents-fix-breakage-when-do-perf-stat-on-system-metric.patch 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 401A1E77173 for ; Fri, 6 Dec 2024 12:10:08 +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:MIME-Version:Message-ID:Date:From:Cc:To :Subject:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:In-Reply-To:References: List-Owner; bh=4YvrWFknXGcvOENpf1yd6PfLcdc3es9xIlaxhtGy/j4=; b=dORDG5Kj7qgLvP X3k3fAAYyu00gWGjMh10saybRQI6986+TTNAoW1O1A719IzNFtaodlUbOmfyVq/br0LyFnjgOSTgR r3pObBRTcWm+uAA9RLvqEDkMW8amzyRmU3Uku6F2Y6sVVramdSMKatdGerdDwrTRdckql4Pr+vkpv CNuKVE6vQHLa4CkDrF5C061BuDBLfIrBIuCZ9somnLlZH2oAcO7uBFhLBnFq/n7FBE9cs75+UPYRf U4SAVyY7szK5urky4xbzgdn5GZKXjd1a7xpDOFPtwMqf7Rv7IkpFlEuabCE9H6CwAOar3xFN+yKAw iEFTBe03EMwb+8iAXYXA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98 #2 (Red Hat Linux)) id 1tJX9l-00000001Wsr-0Hrj; Fri, 06 Dec 2024 12:10:01 +0000 Received: from nyc.source.kernel.org ([2604:1380:45d1:ec00::3]) by bombadil.infradead.org with esmtps (Exim 4.98 #2 (Red Hat Linux)) id 1tJX8h-00000001Wlc-3Q5E; Fri, 06 Dec 2024 12:08:58 +0000 Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by nyc.source.kernel.org (Postfix) with ESMTP id 8ABCBA411D1; Fri, 6 Dec 2024 12:07:02 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 964E7C4CEDE; Fri, 6 Dec 2024 12:08:53 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org; s=korg; t=1733486934; bh=9K6GHCZMrxbO9GvnHCeqOPFlq+CzNBqgiuCnhr67PNg=; h=Subject:To:Cc:From:Date:From; b=bczx4L1PZwB96R37jqIEdxv9XqTsQxV5apl0ZHiibhlsdIRpUFlNjBHCnPIYWoXAZ arrQ7pKYSI84xUjkaILVl/YG7qDIs5EQIQGUOTnjqHvQlu/3qkHaK5x7EMwSUxLtfK cR9kW+zolfwDBssCTFOE9p11KAinTz1CxjGBTI9M= Subject: Patch "perf jevents: fix breakage when do perf stat on system metric" has been added to the 6.12-stable tree To: acme@redhat.com,adrian.hunter@intel.com,alexander.shishkin@linux.intel.com,alexghiti@rivosinc.com,aou@eecs.berkeley.edu,atrajeev@linux.vnet.ibm.com,ben717@andestech.com,bgray@linux.ibm.com,chenhuacai@kernel.org,clement.legoffic@foss.st.com,dima@secretsauce.net,gregkh@linuxfoundation.org,irogers@google.com,james.clark@linaro.org,john.g.garry@oracle.com,jolsa@kernel.org,kan.liang@linux.intel.com,leo.yan@linux.dev,linux-arm-kernel@lists.infradead.org,linux-riscv@lists.infradead.org,linux@treblig.org,maobibo@loongson.cn,mark.rutland@arm.com,mhiramat@kernel.org,mike.leach@linaro.org,mingo@redhat.com,namhyung@kernel.org,palmer@dabbelt.com,paul.walmsley@sifive.com,peterz@infradead.org,ravi.bangoria@amd.com,sandipan.das@amd.com,will@kernel.org,xu.yang_2@nxp.com,yangyicong@hisilicon.com Cc: From: Date: Fri, 06 Dec 2024 13:08:06 +0100 Message-ID: <2024120606-nearly-arousal-e45f@gregkh> MIME-Version: 1.0 X-stable: commit X-Patchwork-Hint: ignore X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20241206_040855_979755_24DE0378 X-CRM114-Status: GOOD ( 19.22 ) X-BeenThere: linux-riscv@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-riscv" Errors-To: linux-riscv-bounces+linux-riscv=archiver.kernel.org@lists.infradead.org ClRoaXMgaXMgYSBub3RlIHRvIGxldCB5b3Uga25vdyB0aGF0IEkndmUganVzdCBhZGRlZCB0aGUg cGF0Y2ggdGl0bGVkCgogICAgcGVyZiBqZXZlbnRzOiBmaXggYnJlYWthZ2Ugd2hlbiBkbyBwZXJm IHN0YXQgb24gc3lzdGVtIG1ldHJpYwoKdG8gdGhlIDYuMTItc3RhYmxlIHRyZWUgd2hpY2ggY2Fu IGJlIGZvdW5kIGF0OgogICAgaHR0cDovL3d3dy5rZXJuZWwub3JnL2dpdC8/cD1saW51eC9rZXJu ZWwvZ2l0L3N0YWJsZS9zdGFibGUtcXVldWUuZ2l0O2E9c3VtbWFyeQoKVGhlIGZpbGVuYW1lIG9m IHRoZSBwYXRjaCBpczoKICAgICBwZXJmLWpldmVudHMtZml4LWJyZWFrYWdlLXdoZW4tZG8tcGVy Zi1zdGF0LW9uLXN5c3RlbS1tZXRyaWMucGF0Y2gKYW5kIGl0IGNhbiBiZSBmb3VuZCBpbiB0aGUg cXVldWUtNi4xMiBzdWJkaXJlY3RvcnkuCgpJZiB5b3UsIG9yIGFueW9uZSBlbHNlLCBmZWVscyBp dCBzaG91bGQgbm90IGJlIGFkZGVkIHRvIHRoZSBzdGFibGUgdHJlZSwKcGxlYXNlIGxldCA8c3Rh YmxlQHZnZXIua2VybmVsLm9yZz4ga25vdyBhYm91dCBpdC4KCgpGcm9tIDRhMTU5ZTYwNDlmMzE5 YmVmNmY5ZTZkMmNjZGQzMjJmNTdkMjQ4MzAgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206 IFh1IFlhbmcgPHh1LnlhbmdfMkBueHAuY29tPgpEYXRlOiBUaHUsIDcgTm92IDIwMjQgMDg6MjA6 MjggLTA4MDAKU3ViamVjdDogcGVyZiBqZXZlbnRzOiBmaXggYnJlYWthZ2Ugd2hlbiBkbyBwZXJm IHN0YXQgb24gc3lzdGVtIG1ldHJpYwpNSU1FLVZlcnNpb246IDEuMApDb250ZW50LVR5cGU6IHRl eHQvcGxhaW47IGNoYXJzZXQ9VVRGLTgKQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdAoK RnJvbTogWHUgWWFuZyA8eHUueWFuZ18yQG54cC5jb20+Cgpjb21taXQgNGExNTllNjA0OWYzMTli ZWY2ZjllNmQyY2NkZDMyMmY1N2QyNDgzMCB1cHN0cmVhbS4KCldoZW4gZG8gcGVyZiBzdGF0IG9u IHN5cyBtZXRyaWMsIHBlcmYgdG9vbCBvdXRwdXQgbm90aGluZyBub3c6CgogICQgcGVyZiBzdGF0 IC1hIC1NIGlteDk1X2Rkcl9yZWFkLmFsbCAtSSAxMDAwCiAgJAoKVGhpcyBjb21tYW5kIHJ1bnMg b24gYW4gYXJtNjQgbWFjaGluZSBhbmQgdGhlIFNvYyBoYXMgb25lIEREUiBodyBwbXUKZXhjZXB0 IG9uZSBhcm12OF9jb3J0ZXhfYTU1IHBtdS4gVGhlaXIgbWFwcyBzaG93IGFzIGZvbGxvd3M6Cgpj b25zdCBzdHJ1Y3QgcG11X2V2ZW50c19tYXAgcG11X2V2ZW50c19tYXBbXSA9IHsKewoJLmFyY2gg PSAiYXJtNjQiLAoJLmNwdWlkID0gIjB4MDAwMDAwMDA0MTBmZDA1MCIsCgkuZXZlbnRfdGFibGUg PSB7CgkJLnBtdXMgPSBwbXVfZXZlbnRzX19hcm1fY29ydGV4X2E1NSwKCQkubnVtX3BtdXMgPSBB UlJBWV9TSVpFKHBtdV9ldmVudHNfX2FybV9jb3J0ZXhfYTU1KQoJfSwKCS5tZXRyaWNfdGFibGUg PSB7CgkJLnBtdXMgPSBOVUxMLAoJCS5udW1fcG11cyA9IDAKCX0KfSwKCnN0YXRpYyBjb25zdCBz dHJ1Y3QgcG11X3N5c19ldmVudHMgcG11X3N5c19ldmVudF90YWJsZXNbXSA9IHsKewoJLmV2ZW50 X3RhYmxlID0gewoJCS5wbXVzID0gcG11X2V2ZW50c19fZnJlZXNjYWxlX2lteDk1X3N5cywKCQku bnVtX3BtdXMgPSBBUlJBWV9TSVpFKHBtdV9ldmVudHNfX2ZyZWVzY2FsZV9pbXg5NV9zeXMpCgl9 LAoJLm1ldHJpY190YWJsZSA9IHsKCQkucG11cyA9IHBtdV9tZXRyaWNzX19mcmVlc2NhbGVfaW14 OTVfc3lzLAoJCS5udW1fcG11cyA9IEFSUkFZX1NJWkUocG11X21ldHJpY3NfX2ZyZWVzY2FsZV9p bXg5NV9zeXMpCgl9LAoJLm5hbWUgPSAicG11X2V2ZW50c19fZnJlZXNjYWxlX2lteDk1X3N5cyIs Cn0sCgpDdXJyZW50bHksIHBtdV9tZXRyaWNzX3RhYmxlX19maW5kKCkgd2lsbCByZXR1cm4gTlVM TCB3aGVuIG9ubHkgZG8gcGVyZgpzdGF0IG9uIHN5cyBtZXRyaWMuIFRoZW4gcGFyc2VfZ3JvdXBz KCkgd2lsbCBuZXZlciBiZSBjYWxsZWQgdG8gcGFyc2UKc3lzIG1ldHJpY19uYW1lLCBmaW5hbGx5 IHBlcmYgdG9vbCB3aWxsIGV4aXQgZGlyZWN0bHkuIFRoaXMgc2hvdWxkIGJlIGEKY29tbW9uIHBy b2JsZW0uCgpUbyBmaXggdGhlIGlzc3VlLCB0aGlzIHdpbGwga2VlcCB0aGUgbG9naWMgYmVmb3Jl IGNvbW1pdCBmMjBjMTVkMTNmMDEKKCJwZXJmIHBtdS1ldmVudHM6IFJlbWVtYmVyIHRoZSBwZXJm X2V2ZW50c19tYXAgZm9yIGEgUE1VIikgdG8gcmV0dXJuIGEKZW1wdHkgbWV0cmljIHRhYmxlIHJh dGhlciB0aGFuIGEgTlVMTCBwb2ludGVyLgoKVGhpcyBzaG91bGQgYmUgZmluZSBzaW5jZSB0aGUg cmVtb3ZlZCBwYXJ0IGp1c3QgY2hlY2sgaWYgdGhlIHRhYmxlIG1hdGNoCnByb3ZpZGVkIG1ldHJp Y19uYW1lLiAgV2l0aG91dCB0aGVzZSBjb2RlLCB0aGUgY29kZSBpbiBwYXJzZV9ncm91cHMoKQp3 aWxsIGFsc28gY2hlY2sgdGhlIHZhbGlkaXR5IG9mIG1ldHJjaV9uYW1lIHRvby4KCkZpeGVzOiBm MjBjMTVkMTNmMDE3ZDRiICgicGVyZiBwbXUtZXZlbnRzOiBSZW1lbWJlciB0aGUgcGVyZl9ldmVu dHNfbWFwIGZvciBhIFBNVSIpClJldmlld2VkLWJ5OiBKYW1lcyBDbGFyayA8amFtZXMuY2xhcmtA bGluYXJvLm9yZz4KU2lnbmVkLW9mZi1ieTogWHUgWWFuZyA8eHUueWFuZ18yQG54cC5jb20+ClRl c3RlZC1ieTogWHUgWWFuZyA8eHUueWFuZ18yQG54cC5jb20+CkFja2VkLWJ5OiBJYW4gUm9nZXJz IDxpcm9nZXJzQGdvb2dsZS5jb20+CkNjOiBBZHJpYW4gSHVudGVyIDxhZHJpYW4uaHVudGVyQGlu dGVsLmNvbT4KQ2M6IEFsYmVydCBPdSA8YW91QGVlY3MuYmVya2VsZXkuZWR1PgpDYzogQWxleGFu ZGVyIFNoaXNoa2luIDxhbGV4YW5kZXIuc2hpc2hraW5AbGludXguaW50ZWwuY29tPgpDYzogQWxl eGFuZHJlIEdoaXRpIDxhbGV4Z2hpdGlAcml2b3NpbmMuY29tPgpDYzogQXRoaXJhIFJhamVldiA8 YXRyYWplZXZAbGludXgudm5ldC5pYm0uY29tPgpDYzogQmVuamFtaW4gR3JheSA8YmdyYXlAbGlu dXguaWJtLmNvbT4KQ2M6IEJlbiBab25nLVlvdSBYaWUgPGJlbjcxN0BhbmRlc3RlY2guY29tPgpD YzogQmlibyBNYW8gPG1hb2JpYm9AbG9vbmdzb24uY24+CkNjOiBDbMOpbWVudCBMZSBHb2ZmaWMg PGNsZW1lbnQubGVnb2ZmaWNAZm9zcy5zdC5jb20+CkNjOiBEaW1hIEtvZ2FuIDxkaW1hQHNlY3Jl dHNhdWNlLm5ldD4KQ2M6IERyLiBEYXZpZCBBbGFuIEdpbGJlcnQgPGxpbnV4QHRyZWJsaWcub3Jn PgpDYzogSHVhY2FpIENoZW4gPGNoZW5odWFjYWlAa2VybmVsLm9yZz4KQ2M6IEluZ28gTW9sbmFy IDxtaW5nb0ByZWRoYXQuY29tPgpDYzogSmlyaSBPbHNhIDxqb2xzYUBrZXJuZWwub3JnPgpDYzog Sm9obiBHYXJyeSA8am9obi5nLmdhcnJ5QG9yYWNsZS5jb20+CkNjOiBLYW4gTGlhbmcgPGthbi5s aWFuZ0BsaW51eC5pbnRlbC5jb20+CkNjOiBMZW8gWWFuIDxsZW8ueWFuQGxpbnV4LmRldj4KQ2M6 IE1hcmsgUnV0bGFuZCA8bWFyay5ydXRsYW5kQGFybS5jb20+CkNjOiBNYXNhbWkgSGlyYW1hdHN1 IDxtaGlyYW1hdEBrZXJuZWwub3JnPgpDYzogTWlrZSBMZWFjaCA8bWlrZS5sZWFjaEBsaW5hcm8u b3JnPgpDYzogTmFtaHl1bmcgS2ltIDxuYW1oeXVuZ0BrZXJuZWwub3JnPgpDYzogUGFsbWVyIERh YmJlbHQgPHBhbG1lckBkYWJiZWx0LmNvbT4KQ2M6IFBhdWwgV2FsbXNsZXkgPHBhdWwud2FsbXNs ZXlAc2lmaXZlLmNvbT4KQ2M6IFBldGVyIFppamxzdHJhIDxwZXRlcnpAaW5mcmFkZWFkLm9yZz4K Q2M6IFJhdmkgQmFuZ29yaWEgPHJhdmkuYmFuZ29yaWFAYW1kLmNvbT4KQ2M6IFNhbmRpcGFuIERh cyA8c2FuZGlwYW4uZGFzQGFtZC5jb20+CkNjOiBXaWxsIERlYWNvbiA8d2lsbEBrZXJuZWwub3Jn PgpDYzogWWljb25nIFlhbmcgPHlhbmd5aWNvbmdAaGlzaWxpY29uLmNvbT4KQ2M6IGxpbnV4LWFy bS1rZXJuZWxAbGlzdHMuaW5mcmFkZWFkLm9yZwpDYzogbGludXgtcmlzY3ZAbGlzdHMuaW5mcmFk ZWFkLm9yZwpDYzogc3RhYmxlQHZnZXIua2VybmVsLm9yZwpMaW5rOiBodHRwczovL2xvcmUua2Vy bmVsLm9yZy9yLzIwMjQxMTA3MTYyMDM1LjUyMjA2LTItaXJvZ2Vyc0Bnb29nbGUuY29tClNpZ25l ZC1vZmYtYnk6IElhbiBSb2dlcnMgPGlyb2dlcnNAZ29vZ2xlLmNvbT4KU2lnbmVkLW9mZi1ieTog QXJuYWxkbyBDYXJ2YWxobyBkZSBNZWxvIDxhY21lQHJlZGhhdC5jb20+ClNpZ25lZC1vZmYtYnk6 IEdyZWcgS3JvYWgtSGFydG1hbiA8Z3JlZ2toQGxpbnV4Zm91bmRhdGlvbi5vcmc+Ci0tLQogdG9v bHMvcGVyZi9wbXUtZXZlbnRzL2VtcHR5LXBtdS1ldmVudHMuYyB8ICAgMTIgKy0tLS0tLS0tLS0t CiB0b29scy9wZXJmL3BtdS1ldmVudHMvamV2ZW50cy5weSAgICAgICAgIHwgICAxMiArLS0tLS0t LS0tLS0KIDIgZmlsZXMgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCAyMiBkZWxldGlvbnMoLSkK Ci0tLSBhL3Rvb2xzL3BlcmYvcG11LWV2ZW50cy9lbXB0eS1wbXUtZXZlbnRzLmMKKysrIGIvdG9v bHMvcGVyZi9wbXUtZXZlbnRzL2VtcHR5LXBtdS1ldmVudHMuYwpAQCAtNTM5LDE3ICs1MzksNyBA QCBjb25zdCBzdHJ1Y3QgcG11X21ldHJpY3NfdGFibGUgKnBlcmZfcG11CiAgICAgICAgIGlmICgh bWFwKQogICAgICAgICAgICAgICAgIHJldHVybiBOVUxMOwogCi0gICAgICAgIGlmICghcG11KQot ICAgICAgICAgICAgICAgIHJldHVybiAmbWFwLT5tZXRyaWNfdGFibGU7Ci0KLSAgICAgICAgZm9y IChzaXplX3QgaSA9IDA7IGkgPCBtYXAtPm1ldHJpY190YWJsZS5udW1fcG11czsgaSsrKSB7Ci0g ICAgICAgICAgICAgICAgY29uc3Qgc3RydWN0IHBtdV90YWJsZV9lbnRyeSAqdGFibGVfcG11ID0g Jm1hcC0+bWV0cmljX3RhYmxlLnBtdXNbaV07Ci0gICAgICAgICAgICAgICAgY29uc3QgY2hhciAq cG11X25hbWUgPSAmYmlnX2Nfc3RyaW5nW3RhYmxlX3BtdS0+cG11X25hbWUub2Zmc2V0XTsKLQot ICAgICAgICAgICAgICAgIGlmIChwbXVfX25hbWVfbWF0Y2gocG11LCBwbXVfbmFtZSkpCi0gICAg ICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gJm1hcC0+bWV0cmljX3RhYmxlOwotICAgICAg ICB9Ci0gICAgICAgIHJldHVybiBOVUxMOworCXJldHVybiAmbWFwLT5tZXRyaWNfdGFibGU7CiB9 CiAKIGNvbnN0IHN0cnVjdCBwbXVfZXZlbnRzX3RhYmxlICpmaW5kX2NvcmVfZXZlbnRzX3RhYmxl KGNvbnN0IGNoYXIgKmFyY2gsIGNvbnN0IGNoYXIgKmNwdWlkKQotLS0gYS90b29scy9wZXJmL3Bt dS1ldmVudHMvamV2ZW50cy5weQorKysgYi90b29scy9wZXJmL3BtdS1ldmVudHMvamV2ZW50cy5w eQpAQCAtMTA4OSwxNyArMTA4OSw3IEBAIGNvbnN0IHN0cnVjdCBwbXVfbWV0cmljc190YWJsZSAq cGVyZl9wbXUKICAgICAgICAgaWYgKCFtYXApCiAgICAgICAgICAgICAgICAgcmV0dXJuIE5VTEw7 CiAKLSAgICAgICAgaWYgKCFwbXUpCi0gICAgICAgICAgICAgICAgcmV0dXJuICZtYXAtPm1ldHJp Y190YWJsZTsKLQotICAgICAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IG1hcC0+bWV0cmljX3Rh YmxlLm51bV9wbXVzOyBpKyspIHsKLSAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3QgcG11X3Rh YmxlX2VudHJ5ICp0YWJsZV9wbXUgPSAmbWFwLT5tZXRyaWNfdGFibGUucG11c1tpXTsKLSAgICAg ICAgICAgICAgICBjb25zdCBjaGFyICpwbXVfbmFtZSA9ICZiaWdfY19zdHJpbmdbdGFibGVfcG11 LT5wbXVfbmFtZS5vZmZzZXRdOwotCi0gICAgICAgICAgICAgICAgaWYgKHBtdV9fbmFtZV9tYXRj aChwbXUsIHBtdV9uYW1lKSkKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAmbWFw LT5tZXRyaWNfdGFibGU7Ci0gICAgICAgIH0KLSAgICAgICAgcmV0dXJuIE5VTEw7CisJcmV0dXJu ICZtYXAtPm1ldHJpY190YWJsZTsKIH0KIAogY29uc3Qgc3RydWN0IHBtdV9ldmVudHNfdGFibGUg KmZpbmRfY29yZV9ldmVudHNfdGFibGUoY29uc3QgY2hhciAqYXJjaCwgY29uc3QgY2hhciAqY3B1 aWQpCgoKUGF0Y2hlcyBjdXJyZW50bHkgaW4gc3RhYmxlLXF1ZXVlIHdoaWNoIG1pZ2h0IGJlIGZy b20geHUueWFuZ18yQG54cC5jb20gYXJlCgpxdWV1ZS02LjEyL3BlcmYtamV2ZW50cy1maXgtYnJl YWthZ2Utd2hlbi1kby1wZXJmLXN0YXQtb24tc3lzdGVtLW1ldHJpYy5wYXRjaAoKX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KbGludXgtcmlzY3YgbWFpbGlu ZyBsaXN0CmxpbnV4LXJpc2N2QGxpc3RzLmluZnJhZGVhZC5vcmcKaHR0cDovL2xpc3RzLmluZnJh ZGVhZC5vcmcvbWFpbG1hbi9saXN0aW5mby9saW51eC1yaXNjdgo=