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=-0.8 required=3.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,SPF_HELO_NONE, SPF_PASS,URIBL_BLOCKED autolearn=no 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 0E1D9C433E0 for ; Thu, 9 Jul 2020 10:56:23 +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 D14A32074B for ; Thu, 9 Jul 2020 10:56:22 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="KA8KQFrs" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org D14A32074B Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=huawei.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-Transfer-Encoding: Content-Type:Cc:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:MIME-Version:In-Reply-To:References:Message-ID:Date: Subject:To:From:Reply-To:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=n7SYuIh9eFrU/RX6TjMjSaHReABOtAnaqLZ2hveF9qg=; b=KA8KQFrsXfGv6vDIi75Y8z8DE K6WSZiGup6UUs2LM03bQ61ibwdqnkXPW4BjxPQDeUtIXeQuczwOIeqURH4z0t7MYGwHA9FohNyMTV Bn3rJYOCMPiA+zrBI6wOljIw8p9Er9aDCFTzqUgaQfdlcHyC/ZQ52EmhbwgK0QFUlN3zkb/48EuhN 5zkMosZvjWd9niMNz2Zv74yi5ks586GECdOK/LsVDr/PUhFFLlA1cZjlcxA+tEiRt/YZJ60nd84gW hf6PnqJdMUmcMcU0iEVI+q8Q3m6+n0h0pAdn+4NVC6aMAefINzyUfq25mpTYrL4IWIO1IZXryX4av dPnH2C+NA==; Received: from localhost ([::1] helo=merlin.infradead.org) by merlin.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1jtUCj-0002cw-Sx; Thu, 09 Jul 2020 10:55:01 +0000 Received: from szxga08-in.huawei.com ([45.249.212.255] helo=huawei.com) by merlin.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1jtUCf-0002bG-9Z for linux-arm-kernel@lists.infradead.org; Thu, 09 Jul 2020 10:54:59 +0000 Received: from DGGEMM401-HUB.china.huawei.com (unknown [172.30.72.54]) by Forcepoint Email with ESMTP id C0A6FFDAD6A53095369C; Thu, 9 Jul 2020 18:54:50 +0800 (CST) Received: from dggema766-chm.china.huawei.com (10.1.198.208) by DGGEMM401-HUB.china.huawei.com (10.3.20.209) with Microsoft SMTP Server (TLS) id 14.3.487.0; Thu, 9 Jul 2020 18:54:50 +0800 Received: from lhreml703-chm.china.huawei.com (10.201.108.52) by dggema766-chm.china.huawei.com (10.1.198.208) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1913.5; Thu, 9 Jul 2020 18:54:48 +0800 Received: from lhreml703-chm.china.huawei.com ([10.201.68.198]) by lhreml703-chm.china.huawei.com ([10.201.68.198]) with mapi id 15.01.1913.007; Thu, 9 Jul 2020 11:54:45 +0100 From: Salil Mehta To: yuzenghui , Marc Zyngier , "Thomas Gleixner" , Linux Kernel Mailing List , "linux-arm-kernel@lists.infradead.org" Subject: RE: [REPORT] possible circular locking dependency when booting a VM on arm64 host Thread-Topic: [REPORT] possible circular locking dependency when booting a VM on arm64 host Thread-Index: AQHWVd2KjX+gRVf/zUS8x8KvRiYF2qj/EP5Q Date: Thu, 9 Jul 2020 10:54:45 +0000 Message-ID: <134ee452eda74f0cbdc10354fe66c48e@huawei.com> References: <7225eba7-6e5e-ec7e-953b-d1fef0b1775b@huawei.com> In-Reply-To: <7225eba7-6e5e-ec7e-953b-d1fef0b1775b@huawei.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.47.68.122] MIME-Version: 1.0 X-CFilter-Loop: Reflected X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20200709_065459_008598_ED0DF128 X-CRM114-Status: GOOD ( 14.75 ) 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: "Wanghaibin \(D\)" , "Zhuangyuzeng \(Yisen\)" Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org Hi Yuzenghui, I will try to reproduce it today at our platform. Just one question is it easily reproducible or is a rare occurrence? Thanks Salil > From: yuzenghui > Sent: Thursday, July 9, 2020 11:41 AM > To: Marc Zyngier ; Thomas Gleixner ; Linux > Kernel Mailing List ; > linux-arm-kernel@lists.infradead.org > Cc: Zhuangyuzeng (Yisen) ; Salil Mehta > ; Wanghaibin (D) > Subject: [REPORT] possible circular locking dependency when booting a VM on arm64 > host > > Hi All, > > I had seen the following lockdep splat when booting a guest on my > Kunpeng 920 with GICv4 enabled. I can also trigger the same splat > on v5.5 so it should already exist in the kernel for a while. I'm > not sure what the exact problem is and hope someone can have a look! > > > Thanks, > Zenghui > > [ 103.855511] ====================================================== > [ 103.861664] WARNING: possible circular locking dependency detected > [ 103.867817] 5.8.0-rc4+ #35 Tainted: G W > [ 103.872932] ------------------------------------------------------ > [ 103.879083] CPU 2/KVM/20515 is trying to acquire lock: > [ 103.884200] ffff202fcd5865b0 (&irq_desc_lock_class){-.-.}-{2:2}, at: > __irq_get_desc_lock+0x60/0xa0 > [ 103.893127] > but task is already holding lock: > [ 103.898933] ffff202fcfd07f58 (&rq->lock){-.-.}-{2:2}, at: > __schedule+0x114/0x8b8 > [ 103.906301] > which lock already depends on the new lock. > > [ 103.914441] > the existing dependency chain (in reverse order) is: > [ 103.921888] > -> #3 (&rq->lock){-.-.}-{2:2}: > [ 103.927438] _raw_spin_lock+0x54/0x70 > [ 103.931605] task_fork_fair+0x48/0x150 > [ 103.935860] sched_fork+0x100/0x268 > [ 103.939856] copy_process+0x628/0x1868 > [ 103.944106] _do_fork+0x74/0x710 > [ 103.947840] kernel_thread+0x78/0xa0 > [ 103.951917] rest_init+0x30/0x270 > [ 103.955742] arch_call_rest_init+0x14/0x1c > [ 103.960339] start_kernel+0x534/0x568 > [ 103.964503] > -> #2 (&p->pi_lock){-.-.}-{2:2}: > [ 103.970224] _raw_spin_lock_irqsave+0x70/0x98 > [ 103.975080] try_to_wake_up+0x5c/0x5b0 > [ 103.979330] wake_up_process+0x28/0x38 > [ 103.983581] create_worker+0x128/0x1b8 > [ 103.987834] workqueue_init+0x308/0x3bc > [ 103.992172] kernel_init_freeable+0x180/0x33c > [ 103.997027] kernel_init+0x18/0x118 > [ 104.001020] ret_from_fork+0x10/0x18 > [ 104.005097] > -> #1 (&pool->lock){-.-.}-{2:2}: > [ 104.010817] _raw_spin_lock+0x54/0x70 > [ 104.014983] __queue_work+0x120/0x6e8 > [ 104.019146] queue_work_on+0xa0/0xd8 > [ 104.023225] irq_set_affinity_locked+0xa8/0x178 > [ 104.028253] __irq_set_affinity+0x5c/0x90 > [ 104.032762] irq_set_affinity_hint+0x74/0xb0 > [ 104.037540] hns3_nic_init_irq+0xe0/0x210 [hns3] > [ 104.042655] hns3_client_init+0x2d8/0x4e0 [hns3] > [ 104.047779] hclge_init_client_instance+0xf0/0x3a8 [hclge] > [ 104.053760] hnae3_init_client_instance.part.3+0x30/0x68 [hnae3] > [ 104.060257] hnae3_register_ae_dev+0x100/0x1f0 [hnae3] > [ 104.065892] hns3_probe+0x60/0xa8 [hns3] > [ 104.070319] local_pci_probe+0x44/0x98 > [ 104.074573] work_for_cpu_fn+0x20/0x30 > [ 104.078823] process_one_work+0x258/0x618 > [ 104.083333] worker_thread+0x1c0/0x438 > [ 104.087585] kthread+0x120/0x128 > [ 104.091318] ret_from_fork+0x10/0x18 > [ 104.095394] > -> #0 (&irq_desc_lock_class){-.-.}-{2:2}: > [ 104.101895] __lock_acquire+0x11bc/0x1530 > [ 104.106406] lock_acquire+0x100/0x3f8 > [ 104.110570] _raw_spin_lock_irqsave+0x70/0x98 > [ 104.115426] __irq_get_desc_lock+0x60/0xa0 > [ 104.120021] irq_set_vcpu_affinity+0x48/0xc8 > [ 104.124793] its_make_vpe_non_resident+0x6c/0xc0 > [ 104.129910] vgic_v4_put+0x64/0x70 > [ 104.133815] vgic_v3_put+0x28/0x100 > [ 104.137806] kvm_vgic_put+0x3c/0x60 > [ 104.141801] kvm_arch_vcpu_put+0x38/0x58 > [ 104.146228] kvm_sched_out+0x38/0x58 > [ 104.150306] __schedule+0x554/0x8b8 > [ 104.154298] schedule+0x50/0xe0 > [ 104.157946] kvm_arch_vcpu_ioctl_run+0x644/0x9e8 > [ 104.163063] kvm_vcpu_ioctl+0x4b4/0x918 > [ 104.167403] ksys_ioctl+0xb4/0xd0 > [ 104.171222] __arm64_sys_ioctl+0x28/0xc8 > [ 104.175647] el0_svc_common.constprop.2+0x74/0x138 > [ 104.180935] do_el0_svc+0x34/0xa0 > [ 104.184755] el0_sync_handler+0xec/0x128 > [ 104.189179] el0_sync+0x140/0x180 > [ 104.192997] > other info that might help us debug this: > > [ 104.200962] Chain exists of: > &irq_desc_lock_class --> &p->pi_lock --> &rq->lock > > [ 104.211261] Possible unsafe locking scenario: > > [ 104.217152] CPU0 CPU1 > [ 104.221660] ---- ---- > [ 104.226170] lock(&rq->lock); > [ 104.229210] lock(&p->pi_lock); > [ 104.234930] lock(&rq->lock); > [ 104.240474] lock(&irq_desc_lock_class); > [ 104.244465] > *** DEADLOCK *** > > [ 104.250356] 2 locks held by CPU 2/KVM/20515: > [ 104.254606] #0: ffff202fa95680c8 (&vcpu->mutex){+.+.}-{3:3}, at: > kvm_vcpu_ioctl+0x80/0x918 > [ 104.262921] #1: ffff202fcfd07f58 (&rq->lock){-.-.}-{2:2}, at: > __schedule+0x114/0x8b8 > [ 104.270717] > stack backtrace: > [ 104.275057] CPU: 73 PID: 20515 Comm: CPU 2/KVM Kdump: loaded Tainted: > G W 5.8.0-rc4+ #35 > [ 104.284404] Hardware name: Huawei TaiShan 2280 V2/BC82AMDDA, BIOS > 1.05 09/18/2019 > [ 104.291851] Call trace: > [ 104.294289] dump_backtrace+0x0/0x218 > [ 104.297935] show_stack+0x2c/0x38 > [ 104.301235] dump_stack+0xf0/0x168 > [ 104.304622] print_circular_bug.isra.39+0x22c/0x280 > [ 104.309476] check_noncircular+0x158/0x1c8 > [ 104.313555] __lock_acquire+0x11bc/0x1530 > [ 104.317545] lock_acquire+0x100/0x3f8 > [ 104.321190] _raw_spin_lock_irqsave+0x70/0x98 > [ 104.325529] __irq_get_desc_lock+0x60/0xa0 > [ 104.329606] irq_set_vcpu_affinity+0x48/0xc8 > [ 104.333858] its_make_vpe_non_resident+0x6c/0xc0 > [ 104.338454] vgic_v4_put+0x64/0x70 > [ 104.341840] vgic_v3_put+0x28/0x100 > [ 104.345314] kvm_vgic_put+0x3c/0x60 > [ 104.348789] kvm_arch_vcpu_put+0x38/0x58 > [ 104.352694] kvm_sched_out+0x38/0x58 > [ 104.356256] __schedule+0x554/0x8b8 > [ 104.359730] schedule+0x50/0xe0 > [ 104.362859] kvm_arch_vcpu_ioctl_run+0x644/0x9e8 > [ 104.367457] kvm_vcpu_ioctl+0x4b4/0x918 > [ 104.371277] ksys_ioctl+0xb4/0xd0 > [ 104.374577] __arm64_sys_ioctl+0x28/0xc8 > [ 104.378482] el0_svc_common.constprop.2+0x74/0x138 > [ 104.383250] do_el0_svc+0x34/0xa0 > [ 104.386552] el0_sync_handler+0xec/0x128 > [ 104.390458] el0_sync+0x140/0x180 _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel 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=-0.7 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED autolearn=no 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 08610C433DF for ; Thu, 9 Jul 2020 10:54:55 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id D37E320774 for ; Thu, 9 Jul 2020 10:54:54 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726947AbgGIKyx (ORCPT ); Thu, 9 Jul 2020 06:54:53 -0400 Received: from szxga08-in.huawei.com ([45.249.212.255]:57854 "EHLO huawei.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1726302AbgGIKyx (ORCPT ); Thu, 9 Jul 2020 06:54:53 -0400 Received: from DGGEMM401-HUB.china.huawei.com (unknown [172.30.72.54]) by Forcepoint Email with ESMTP id C0A6FFDAD6A53095369C; Thu, 9 Jul 2020 18:54:50 +0800 (CST) Received: from dggema766-chm.china.huawei.com (10.1.198.208) by DGGEMM401-HUB.china.huawei.com (10.3.20.209) with Microsoft SMTP Server (TLS) id 14.3.487.0; Thu, 9 Jul 2020 18:54:50 +0800 Received: from lhreml703-chm.china.huawei.com (10.201.108.52) by dggema766-chm.china.huawei.com (10.1.198.208) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1913.5; Thu, 9 Jul 2020 18:54:48 +0800 Received: from lhreml703-chm.china.huawei.com ([10.201.68.198]) by lhreml703-chm.china.huawei.com ([10.201.68.198]) with mapi id 15.01.1913.007; Thu, 9 Jul 2020 11:54:45 +0100 From: Salil Mehta To: yuzenghui , Marc Zyngier , "Thomas Gleixner" , Linux Kernel Mailing List , "linux-arm-kernel@lists.infradead.org" CC: "Zhuangyuzeng (Yisen)" , "Wanghaibin (D)" Subject: RE: [REPORT] possible circular locking dependency when booting a VM on arm64 host Thread-Topic: [REPORT] possible circular locking dependency when booting a VM on arm64 host Thread-Index: AQHWVd2KjX+gRVf/zUS8x8KvRiYF2qj/EP5Q Date: Thu, 9 Jul 2020 10:54:45 +0000 Message-ID: <134ee452eda74f0cbdc10354fe66c48e@huawei.com> References: <7225eba7-6e5e-ec7e-953b-d1fef0b1775b@huawei.com> In-Reply-To: <7225eba7-6e5e-ec7e-953b-d1fef0b1775b@huawei.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.47.68.122] Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-CFilter-Loop: Reflected Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org SGkgWXV6ZW5naHVpLA0KSSB3aWxsIHRyeSB0byByZXByb2R1Y2UgaXQgdG9kYXkgYXQgb3VyIHBs YXRmb3JtLiBKdXN0IG9uZSBxdWVzdGlvbiBpcyBpdCBlYXNpbHkNCnJlcHJvZHVjaWJsZSBvciBp cyBhIHJhcmUgb2NjdXJyZW5jZT8NCg0KVGhhbmtzDQpTYWxpbA0KDQo+IEZyb206IHl1emVuZ2h1 aQ0KPiBTZW50OiBUaHVyc2RheSwgSnVseSA5LCAyMDIwIDExOjQxIEFNDQo+IFRvOiBNYXJjIFp5 bmdpZXIgPG1hekBrZXJuZWwub3JnPjsgVGhvbWFzIEdsZWl4bmVyIDx0Z2x4QGxpbnV0cm9uaXgu ZGU+OyBMaW51eA0KPiBLZXJuZWwgTWFpbGluZyBMaXN0IDxsaW51eC1rZXJuZWxAdmdlci5rZXJu ZWwub3JnPjsNCj4gbGludXgtYXJtLWtlcm5lbEBsaXN0cy5pbmZyYWRlYWQub3JnDQo+IENjOiBa aHVhbmd5dXplbmcgKFlpc2VuKSA8eWlzZW4uemh1YW5nQGh1YXdlaS5jb20+OyBTYWxpbCBNZWh0 YQ0KPiA8c2FsaWwubWVodGFAaHVhd2VpLmNvbT47IFdhbmdoYWliaW4gKEQpIDx3YW5naGFpYmlu LndhbmdAaHVhd2VpLmNvbT4NCj4gU3ViamVjdDogW1JFUE9SVF0gcG9zc2libGUgY2lyY3VsYXIg bG9ja2luZyBkZXBlbmRlbmN5IHdoZW4gYm9vdGluZyBhIFZNIG9uIGFybTY0DQo+IGhvc3QNCj4g DQo+IEhpIEFsbCwNCj4gDQo+IEkgaGFkIHNlZW4gdGhlIGZvbGxvd2luZyBsb2NrZGVwIHNwbGF0 IHdoZW4gYm9vdGluZyBhIGd1ZXN0IG9uIG15DQo+IEt1bnBlbmcgOTIwIHdpdGggR0lDdjQgZW5h YmxlZC4gSSBjYW4gYWxzbyB0cmlnZ2VyIHRoZSBzYW1lIHNwbGF0DQo+IG9uIHY1LjUgc28gaXQg c2hvdWxkIGFscmVhZHkgZXhpc3QgaW4gdGhlIGtlcm5lbCBmb3IgYSB3aGlsZS4gSSdtDQo+IG5v dCBzdXJlIHdoYXQgdGhlIGV4YWN0IHByb2JsZW0gaXMgYW5kIGhvcGUgc29tZW9uZSBjYW4gaGF2 ZSBhIGxvb2shDQo+IA0KPiANCj4gVGhhbmtzLA0KPiBaZW5naHVpDQo+IA0KPiBbICAxMDMuODU1 NTExXSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT0NCj4gWyAgMTAzLjg2MTY2NF0gV0FSTklORzogcG9zc2libGUgY2lyY3VsYXIgbG9ja2luZyBk ZXBlbmRlbmN5IGRldGVjdGVkDQo+IFsgIDEwMy44Njc4MTddIDUuOC4wLXJjNCsgIzM1IFRhaW50 ZWQ6IEcgICAgICAgIFcNCj4gWyAgMTAzLjg3MjkzMl0gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQo+IFsgIDEwMy44NzkwODNdIENQVSAyL0tW TS8yMDUxNSBpcyB0cnlpbmcgdG8gYWNxdWlyZSBsb2NrOg0KPiBbICAxMDMuODg0MjAwXSBmZmZm MjAyZmNkNTg2NWIwICgmaXJxX2Rlc2NfbG9ja19jbGFzcyl7LS4tLn0tezI6Mn0sIGF0Og0KPiBf X2lycV9nZXRfZGVzY19sb2NrKzB4NjAvMHhhMA0KPiBbICAxMDMuODkzMTI3XQ0KPiAgICAgICAg ICAgICAgICAgYnV0IHRhc2sgaXMgYWxyZWFkeSBob2xkaW5nIGxvY2s6DQo+IFsgIDEwMy44OTg5 MzNdIGZmZmYyMDJmY2ZkMDdmNTggKCZycS0+bG9jayl7LS4tLn0tezI6Mn0sIGF0Og0KPiBfX3Nj aGVkdWxlKzB4MTE0LzB4OGI4DQo+IFsgIDEwMy45MDYzMDFdDQo+ICAgICAgICAgICAgICAgICB3 aGljaCBsb2NrIGFscmVhZHkgZGVwZW5kcyBvbiB0aGUgbmV3IGxvY2suDQo+IA0KPiBbICAxMDMu OTE0NDQxXQ0KPiAgICAgICAgICAgICAgICAgdGhlIGV4aXN0aW5nIGRlcGVuZGVuY3kgY2hhaW4g KGluIHJldmVyc2Ugb3JkZXIpIGlzOg0KPiBbICAxMDMuOTIxODg4XQ0KPiAgICAgICAgICAgICAg ICAgLT4gIzMgKCZycS0+bG9jayl7LS4tLn0tezI6Mn06DQo+IFsgIDEwMy45Mjc0MzhdICAgICAg ICBfcmF3X3NwaW5fbG9jaysweDU0LzB4NzANCj4gWyAgMTAzLjkzMTYwNV0gICAgICAgIHRhc2tf Zm9ya19mYWlyKzB4NDgvMHgxNTANCj4gWyAgMTAzLjkzNTg2MF0gICAgICAgIHNjaGVkX2Zvcmsr MHgxMDAvMHgyNjgNCj4gWyAgMTAzLjkzOTg1Nl0gICAgICAgIGNvcHlfcHJvY2VzcysweDYyOC8w eDE4NjgNCj4gWyAgMTAzLjk0NDEwNl0gICAgICAgIF9kb19mb3JrKzB4NzQvMHg3MTANCj4gWyAg MTAzLjk0Nzg0MF0gICAgICAgIGtlcm5lbF90aHJlYWQrMHg3OC8weGEwDQo+IFsgIDEwMy45NTE5 MTddICAgICAgICByZXN0X2luaXQrMHgzMC8weDI3MA0KPiBbICAxMDMuOTU1NzQyXSAgICAgICAg YXJjaF9jYWxsX3Jlc3RfaW5pdCsweDE0LzB4MWMNCj4gWyAgMTAzLjk2MDMzOV0gICAgICAgIHN0 YXJ0X2tlcm5lbCsweDUzNC8weDU2OA0KPiBbICAxMDMuOTY0NTAzXQ0KPiAgICAgICAgICAgICAg ICAgLT4gIzIgKCZwLT5waV9sb2NrKXstLi0ufS17MjoyfToNCj4gWyAgMTAzLjk3MDIyNF0gICAg ICAgIF9yYXdfc3Bpbl9sb2NrX2lycXNhdmUrMHg3MC8weDk4DQo+IFsgIDEwMy45NzUwODBdICAg ICAgICB0cnlfdG9fd2FrZV91cCsweDVjLzB4NWIwDQo+IFsgIDEwMy45NzkzMzBdICAgICAgICB3 YWtlX3VwX3Byb2Nlc3MrMHgyOC8weDM4DQo+IFsgIDEwMy45ODM1ODFdICAgICAgICBjcmVhdGVf d29ya2VyKzB4MTI4LzB4MWI4DQo+IFsgIDEwMy45ODc4MzRdICAgICAgICB3b3JrcXVldWVfaW5p dCsweDMwOC8weDNiYw0KPiBbICAxMDMuOTkyMTcyXSAgICAgICAga2VybmVsX2luaXRfZnJlZWFi bGUrMHgxODAvMHgzM2MNCj4gWyAgMTAzLjk5NzAyN10gICAgICAgIGtlcm5lbF9pbml0KzB4MTgv MHgxMTgNCj4gWyAgMTA0LjAwMTAyMF0gICAgICAgIHJldF9mcm9tX2ZvcmsrMHgxMC8weDE4DQo+ IFsgIDEwNC4wMDUwOTddDQo+ICAgICAgICAgICAgICAgICAtPiAjMSAoJnBvb2wtPmxvY2spey0u LS59LXsyOjJ9Og0KPiBbICAxMDQuMDEwODE3XSAgICAgICAgX3Jhd19zcGluX2xvY2srMHg1NC8w eDcwDQo+IFsgIDEwNC4wMTQ5ODNdICAgICAgICBfX3F1ZXVlX3dvcmsrMHgxMjAvMHg2ZTgNCj4g WyAgMTA0LjAxOTE0Nl0gICAgICAgIHF1ZXVlX3dvcmtfb24rMHhhMC8weGQ4DQo+IFsgIDEwNC4w MjMyMjVdICAgICAgICBpcnFfc2V0X2FmZmluaXR5X2xvY2tlZCsweGE4LzB4MTc4DQo+IFsgIDEw NC4wMjgyNTNdICAgICAgICBfX2lycV9zZXRfYWZmaW5pdHkrMHg1Yy8weDkwDQo+IFsgIDEwNC4w MzI3NjJdICAgICAgICBpcnFfc2V0X2FmZmluaXR5X2hpbnQrMHg3NC8weGIwDQo+IFsgIDEwNC4w Mzc1NDBdICAgICAgICBobnMzX25pY19pbml0X2lycSsweGUwLzB4MjEwIFtobnMzXQ0KPiBbICAx MDQuMDQyNjU1XSAgICAgICAgaG5zM19jbGllbnRfaW5pdCsweDJkOC8weDRlMCBbaG5zM10NCj4g WyAgMTA0LjA0Nzc3OV0gICAgICAgIGhjbGdlX2luaXRfY2xpZW50X2luc3RhbmNlKzB4ZjAvMHgz YTggW2hjbGdlXQ0KPiBbICAxMDQuMDUzNzYwXSAgICAgICAgaG5hZTNfaW5pdF9jbGllbnRfaW5z dGFuY2UucGFydC4zKzB4MzAvMHg2OCBbaG5hZTNdDQo+IFsgIDEwNC4wNjAyNTddICAgICAgICBo bmFlM19yZWdpc3Rlcl9hZV9kZXYrMHgxMDAvMHgxZjAgW2huYWUzXQ0KPiBbICAxMDQuMDY1ODky XSAgICAgICAgaG5zM19wcm9iZSsweDYwLzB4YTggW2huczNdDQo+IFsgIDEwNC4wNzAzMTldICAg ICAgICBsb2NhbF9wY2lfcHJvYmUrMHg0NC8weDk4DQo+IFsgIDEwNC4wNzQ1NzNdICAgICAgICB3 b3JrX2Zvcl9jcHVfZm4rMHgyMC8weDMwDQo+IFsgIDEwNC4wNzg4MjNdICAgICAgICBwcm9jZXNz X29uZV93b3JrKzB4MjU4LzB4NjE4DQo+IFsgIDEwNC4wODMzMzNdICAgICAgICB3b3JrZXJfdGhy ZWFkKzB4MWMwLzB4NDM4DQo+IFsgIDEwNC4wODc1ODVdICAgICAgICBrdGhyZWFkKzB4MTIwLzB4 MTI4DQo+IFsgIDEwNC4wOTEzMThdICAgICAgICByZXRfZnJvbV9mb3JrKzB4MTAvMHgxOA0KPiBb ICAxMDQuMDk1Mzk0XQ0KPiAgICAgICAgICAgICAgICAgLT4gIzAgKCZpcnFfZGVzY19sb2NrX2Ns YXNzKXstLi0ufS17MjoyfToNCj4gWyAgMTA0LjEwMTg5NV0gICAgICAgIF9fbG9ja19hY3F1aXJl KzB4MTFiYy8weDE1MzANCj4gWyAgMTA0LjEwNjQwNl0gICAgICAgIGxvY2tfYWNxdWlyZSsweDEw MC8weDNmOA0KPiBbICAxMDQuMTEwNTcwXSAgICAgICAgX3Jhd19zcGluX2xvY2tfaXJxc2F2ZSsw eDcwLzB4OTgNCj4gWyAgMTA0LjExNTQyNl0gICAgICAgIF9faXJxX2dldF9kZXNjX2xvY2srMHg2 MC8weGEwDQo+IFsgIDEwNC4xMjAwMjFdICAgICAgICBpcnFfc2V0X3ZjcHVfYWZmaW5pdHkrMHg0 OC8weGM4DQo+IFsgIDEwNC4xMjQ3OTNdICAgICAgICBpdHNfbWFrZV92cGVfbm9uX3Jlc2lkZW50 KzB4NmMvMHhjMA0KPiBbICAxMDQuMTI5OTEwXSAgICAgICAgdmdpY192NF9wdXQrMHg2NC8weDcw DQo+IFsgIDEwNC4xMzM4MTVdICAgICAgICB2Z2ljX3YzX3B1dCsweDI4LzB4MTAwDQo+IFsgIDEw NC4xMzc4MDZdICAgICAgICBrdm1fdmdpY19wdXQrMHgzYy8weDYwDQo+IFsgIDEwNC4xNDE4MDFd ICAgICAgICBrdm1fYXJjaF92Y3B1X3B1dCsweDM4LzB4NTgNCj4gWyAgMTA0LjE0NjIyOF0gICAg ICAgIGt2bV9zY2hlZF9vdXQrMHgzOC8weDU4DQo+IFsgIDEwNC4xNTAzMDZdICAgICAgICBfX3Nj aGVkdWxlKzB4NTU0LzB4OGI4DQo+IFsgIDEwNC4xNTQyOThdICAgICAgICBzY2hlZHVsZSsweDUw LzB4ZTANCj4gWyAgMTA0LjE1Nzk0Nl0gICAgICAgIGt2bV9hcmNoX3ZjcHVfaW9jdGxfcnVuKzB4 NjQ0LzB4OWU4DQo+IFsgIDEwNC4xNjMwNjNdICAgICAgICBrdm1fdmNwdV9pb2N0bCsweDRiNC8w eDkxOA0KPiBbICAxMDQuMTY3NDAzXSAgICAgICAga3N5c19pb2N0bCsweGI0LzB4ZDANCj4gWyAg MTA0LjE3MTIyMl0gICAgICAgIF9fYXJtNjRfc3lzX2lvY3RsKzB4MjgvMHhjOA0KPiBbICAxMDQu MTc1NjQ3XSAgICAgICAgZWwwX3N2Y19jb21tb24uY29uc3Rwcm9wLjIrMHg3NC8weDEzOA0KPiBb ICAxMDQuMTgwOTM1XSAgICAgICAgZG9fZWwwX3N2YysweDM0LzB4YTANCj4gWyAgMTA0LjE4NDc1 NV0gICAgICAgIGVsMF9zeW5jX2hhbmRsZXIrMHhlYy8weDEyOA0KPiBbICAxMDQuMTg5MTc5XSAg ICAgICAgZWwwX3N5bmMrMHgxNDAvMHgxODANCj4gWyAgMTA0LjE5Mjk5N10NCj4gICAgICAgICAg ICAgICAgIG90aGVyIGluZm8gdGhhdCBtaWdodCBoZWxwIHVzIGRlYnVnIHRoaXM6DQo+IA0KPiBb ICAxMDQuMjAwOTYyXSBDaGFpbiBleGlzdHMgb2Y6DQo+ICAgICAgICAgICAgICAgICAgICZpcnFf ZGVzY19sb2NrX2NsYXNzIC0tPiAmcC0+cGlfbG9jayAtLT4gJnJxLT5sb2NrDQo+IA0KPiBbICAx MDQuMjExMjYxXSAgUG9zc2libGUgdW5zYWZlIGxvY2tpbmcgc2NlbmFyaW86DQo+IA0KPiBbICAx MDQuMjE3MTUyXSAgICAgICAgQ1BVMCAgICAgICAgICAgICAgICAgICAgQ1BVMQ0KPiBbICAxMDQu MjIxNjYwXSAgICAgICAgLS0tLSAgICAgICAgICAgICAgICAgICAgLS0tLQ0KPiBbICAxMDQuMjI2 MTcwXSAgIGxvY2soJnJxLT5sb2NrKTsNCj4gWyAgMTA0LjIyOTIxMF0gICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIGxvY2soJnAtPnBpX2xvY2spOw0KPiBbICAxMDQuMjM0OTMwXSAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgbG9jaygmcnEtPmxvY2spOw0KPiBbICAxMDQuMjQw NDc0XSAgIGxvY2soJmlycV9kZXNjX2xvY2tfY2xhc3MpOw0KPiBbICAxMDQuMjQ0NDY1XQ0KPiAg ICAgICAgICAgICAgICAgICoqKiBERUFETE9DSyAqKioNCj4gDQo+IFsgIDEwNC4yNTAzNTZdIDIg bG9ja3MgaGVsZCBieSBDUFUgMi9LVk0vMjA1MTU6DQo+IFsgIDEwNC4yNTQ2MDZdICAjMDogZmZm ZjIwMmZhOTU2ODBjOCAoJnZjcHUtPm11dGV4KXsrLisufS17MzozfSwgYXQ6DQo+IGt2bV92Y3B1 X2lvY3RsKzB4ODAvMHg5MTgNCj4gWyAgMTA0LjI2MjkyMV0gICMxOiBmZmZmMjAyZmNmZDA3ZjU4 ICgmcnEtPmxvY2spey0uLS59LXsyOjJ9LCBhdDoNCj4gX19zY2hlZHVsZSsweDExNC8weDhiOA0K PiBbICAxMDQuMjcwNzE3XQ0KPiAgICAgICAgICAgICAgICAgc3RhY2sgYmFja3RyYWNlOg0KPiBb ICAxMDQuMjc1MDU3XSBDUFU6IDczIFBJRDogMjA1MTUgQ29tbTogQ1BVIDIvS1ZNIEtkdW1wOiBs b2FkZWQgVGFpbnRlZDoNCj4gRyAgICAgICAgVyAgICAgICAgIDUuOC4wLXJjNCsgIzM1DQo+IFsg IDEwNC4yODQ0MDRdIEhhcmR3YXJlIG5hbWU6IEh1YXdlaSBUYWlTaGFuIDIyODAgVjIvQkM4MkFN RERBLCBCSU9TDQo+IDEuMDUgMDkvMTgvMjAxOQ0KPiBbICAxMDQuMjkxODUxXSBDYWxsIHRyYWNl Og0KPiBbICAxMDQuMjk0Mjg5XSAgZHVtcF9iYWNrdHJhY2UrMHgwLzB4MjE4DQo+IFsgIDEwNC4y OTc5MzVdICBzaG93X3N0YWNrKzB4MmMvMHgzOA0KPiBbICAxMDQuMzAxMjM1XSAgZHVtcF9zdGFj aysweGYwLzB4MTY4DQo+IFsgIDEwNC4zMDQ2MjJdICBwcmludF9jaXJjdWxhcl9idWcuaXNyYS4z OSsweDIyYy8weDI4MA0KPiBbICAxMDQuMzA5NDc2XSAgY2hlY2tfbm9uY2lyY3VsYXIrMHgxNTgv MHgxYzgNCj4gWyAgMTA0LjMxMzU1NV0gIF9fbG9ja19hY3F1aXJlKzB4MTFiYy8weDE1MzANCj4g WyAgMTA0LjMxNzU0NV0gIGxvY2tfYWNxdWlyZSsweDEwMC8weDNmOA0KPiBbICAxMDQuMzIxMTkw XSAgX3Jhd19zcGluX2xvY2tfaXJxc2F2ZSsweDcwLzB4OTgNCj4gWyAgMTA0LjMyNTUyOV0gIF9f aXJxX2dldF9kZXNjX2xvY2srMHg2MC8weGEwDQo+IFsgIDEwNC4zMjk2MDZdICBpcnFfc2V0X3Zj cHVfYWZmaW5pdHkrMHg0OC8weGM4DQo+IFsgIDEwNC4zMzM4NThdICBpdHNfbWFrZV92cGVfbm9u X3Jlc2lkZW50KzB4NmMvMHhjMA0KPiBbICAxMDQuMzM4NDU0XSAgdmdpY192NF9wdXQrMHg2NC8w eDcwDQo+IFsgIDEwNC4zNDE4NDBdICB2Z2ljX3YzX3B1dCsweDI4LzB4MTAwDQo+IFsgIDEwNC4z NDUzMTRdICBrdm1fdmdpY19wdXQrMHgzYy8weDYwDQo+IFsgIDEwNC4zNDg3ODldICBrdm1fYXJj aF92Y3B1X3B1dCsweDM4LzB4NTgNCj4gWyAgMTA0LjM1MjY5NF0gIGt2bV9zY2hlZF9vdXQrMHgz OC8weDU4DQo+IFsgIDEwNC4zNTYyNTZdICBfX3NjaGVkdWxlKzB4NTU0LzB4OGI4DQo+IFsgIDEw NC4zNTk3MzBdICBzY2hlZHVsZSsweDUwLzB4ZTANCj4gWyAgMTA0LjM2Mjg1OV0gIGt2bV9hcmNo X3ZjcHVfaW9jdGxfcnVuKzB4NjQ0LzB4OWU4DQo+IFsgIDEwNC4zNjc0NTddICBrdm1fdmNwdV9p b2N0bCsweDRiNC8weDkxOA0KPiBbICAxMDQuMzcxMjc3XSAga3N5c19pb2N0bCsweGI0LzB4ZDAN Cj4gWyAgMTA0LjM3NDU3N10gIF9fYXJtNjRfc3lzX2lvY3RsKzB4MjgvMHhjOA0KPiBbICAxMDQu Mzc4NDgyXSAgZWwwX3N2Y19jb21tb24uY29uc3Rwcm9wLjIrMHg3NC8weDEzOA0KPiBbICAxMDQu MzgzMjUwXSAgZG9fZWwwX3N2YysweDM0LzB4YTANCj4gWyAgMTA0LjM4NjU1Ml0gIGVsMF9zeW5j X2hhbmRsZXIrMHhlYy8weDEyOA0KPiBbICAxMDQuMzkwNDU4XSAgZWwwX3N5bmMrMHgxNDAvMHgx ODANCg==