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 A8CE9C00144 for ; Fri, 29 Jul 2022 06:12:02 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233584AbiG2GMB (ORCPT ); Fri, 29 Jul 2022 02:12:01 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:59282 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233892AbiG2GL6 (ORCPT ); Fri, 29 Jul 2022 02:11:58 -0400 Received: from dggsgout12.his.huawei.com (dggsgout12.his.huawei.com [45.249.212.56]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id B65E77D78B for ; Thu, 28 Jul 2022 23:11:57 -0700 (PDT) Received: from mail02.huawei.com (unknown [172.30.67.153]) by dggsgout12.his.huawei.com (SkyGuard) with ESMTP id 4LvHFD3bLTz6R4t8; Fri, 29 Jul 2022 14:10:40 +0800 (CST) Received: from huaweicloud.com (unknown [10.175.127.227]) by APP3 (Coremail) with SMTP id _Ch0CgCnCWkneuNiP6ZGBQ--.22656S4; Fri, 29 Jul 2022 14:11:53 +0800 (CST) From: Yu Kuai To: stable@vger.kernel.org, hch@lst.de, axboe@kernel.dk, snitzer@redhat.com Cc: dm-devel@redhat.com, linux-block@vger.kernel.org, yukuai3@huawei.com, yukuai1@huaweicloud.com, yi.zhang@huawei.com Subject: [PATCH stable 5.10 0/3] dm: fix nullptr crash Date: Fri, 29 Jul 2022 14:23:53 +0800 Message-Id: <20220729062356.1663513-1-yukuai1@huaweicloud.com> X-Mailer: git-send-email 2.31.1 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-CM-TRANSID: _Ch0CgCnCWkneuNiP6ZGBQ--.22656S4 X-Coremail-Antispam: 1UD129KBjvJXoWxWF4rCFyxJr45GrWrWF45KFg_yoW7Jr43pr 43Kr45Cr48Kr17JF43AF1UJr1UJr47AF1UXryxGr18J3Wj93WUXryUJr4UAryUJr4UZry7 tr1DJw48tr1UtaUanT9S1TB71UUUUUUqnTZGkaVYY2UrUUUUjbIjqfuFe4nvWSU5nxnvy2 9KBjDU0xBIdaVrnRJUUUyG14x267AKxVW8JVW5JwAFc2x0x2IEx4CE42xK8VAvwI8IcIk0 rVWUuVWrJwAFIxvE14AKwVWUJVWUGwA2ocxC64kIII0Yj41l84x0c7CEw4AK67xGY2AK02 1l84ACjcxK6xIIjxv20xvE14v26w1j6s0DM28EF7xvwVC0I7IYx2IY6xkF7I0E14v26r4U JVWxJr1l84ACjcxK6I8E87Iv67AKxVW0oVCq3wA2z4x0Y4vEx4A2jsIEc7CjxVAFwI0_Gc CE3s1le2I262IYc4CY6c8Ij28IcVAaY2xG8wAqx4xG64xvF2IEw4CE5I8CrVC2j2WlYx0E 2Ix0cI8IcVAFwI0_Jr0_Jr4lYx0Ex4A2jsIE14v26r1j6r4UMcvjeVCFs4IE7xkEbVWUJV W8JwACjcxG0xvY0x0EwIxGrwACjI8F5VA0II8E6IAqYI8I648v4I1l42xK82IYc2Ij64vI r41l4I8I3I0E4IkC6x0Yz7v_Jr0_Gr1lx2IqxVAqx4xG67AKxVWUJVWUGwC20s026x8Gjc xK67AKxVWUGVWUWwC2zVAF1VAY17CE14v26r1q6r43MIIYrxkI7VAKI48JMIIF0xvE2Ix0 cI8IcVAFwI0_Jr0_JF4lIxAIcVC0I7IYx2IY6xkF7I0E14v26r1j6r4UMIIF0xvE42xK8V AvwI8IcIk0rVWrZr1j6s0DMIIF0xvEx4A2jsIE14v26r1j6r4UMIIF0xvEx4A2jsIEc7Cj xVAFwI0_Jr0_GrUvcSsGvfC2KfnxnUUI43ZEXa7VUbXdbUUUUUU== X-CM-SenderInfo: 51xn3trlr6x35dzhxuhorxvhhfrp/ X-CFilter-Loop: Reflected Precedence: bulk List-ID: X-Mailing-List: linux-block@vger.kernel.org From: Yu Kuai This patchset backport three patches to fix a crash found by our test: BUG: kernel NULL pointer dereference, address: 00000000000001a0 #PF: supervisor read access in kernel mode #PF: error_code(0x0000) - not-present page PGD 0 P4D 0 Oops: 0000 [#1] PREEMPT SMP CPU: 1 PID: 1317 Comm: mount Not tainted 5.10.0-16691-gf6076432827d-dirty #169 Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS ?-20190727_073836-4 RIP: 0010:__blk_mq_sched_bio_merge+0x9d/0x1a0 Code: 87 1e 9d 89 d0 25 00 00 00 01 0f 85 ad 00 00 00 48 83 05 25 a1 37 0c 01 3 RSP: 0018:ffffc90000473b50 EFLAGS: 00010202 RAX: 0000000000000000 RBX: 0000000000000000 RCX: ffffc90000473b98 RDX: 0000000000001000 RSI: ffff8881080c7500 RDI: ffff888103a9cc18 RBP: ffff88813bc80000 R08: 0000000000000001 R09: 0000000000000000 R10: ffff88810710be30 R11: 0000000000000000 R12: ffff888103a9cc18 R13: ffff8881080c7500 R14: 0000000000000001 R15: 0000000000000000 FS: 00007f51bcdbb040(0000) GS:ffff88813bc80000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 00000000000001a0 CR3: 000000010d715000 CR4: 00000000000006e0 DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400 Call Trace: blk_mq_submit_bio+0x115/0xd80 submit_bio_noacct+0x4ff/0x610 submit_bio+0xaa/0x1a0 submit_bh_wbc+0x1cb/0x2f0 submit_bh+0x17/0x20 ext4_read_bh+0x63/0x170 ext4_read_bh_lock+0x2c/0xd0 __ext4_sb_bread_gfp.isra.0+0xa0/0xf0 ext4_fill_super+0x21f/0x5610 ? pointer+0x31b/0x5a0 ? vsnprintf+0x131/0x7d0 mount_bdev+0x233/0x280 ? ext4_calculate_overhead+0x660/0x660 ext4_mount+0x19/0x30 legacy_get_tree+0x35/0x90 vfs_get_tree+0x29/0x100 ? capable+0x1d/0x30 path_mount+0x8a7/0x1150 do_mount+0x8d/0xc0 __se_sys_mount+0x14a/0x220 __x64_sys_mount+0x29/0x40 do_syscall_64+0x45/0x70 entry_SYSCALL_64_after_hwframe+0x44/0xa9 RIP: 0033:0x7f51bbe1623a Code: 48 8b 0d 51 dc 2b 00 f7 d8 64 89 01 48 83 c8 ff c3 66 2e 0f 1f 84 00 00 8 RSP: 002b:00007fff173ae898 EFLAGS: 00000246 ORIG_RAX: 00000000000000a5 RAX: ffffffffffffffda RBX: 000056169a120030 RCX: 00007f51bbe1623a RDX: 000056169a120210 RSI: 000056169a120250 RDI: 000056169a120230 RBP: 0000000000000000 R08: 0000000000000000 R09: 00007fff173ad798 R10: 00000000c0ed0000 R11: 0000000000000246 R12: 000056169a120230 R13: 000056169a120210 R14: 0000000000000000 R15: 00007f51bcbac184 Modules linked in: dm_service_time dm_multipath CR2: 00000000000001a0 ---[ end trace ac5d86e09fdc7c98 ]--- RIP: 0010:__blk_mq_sched_bio_merge+0x9d/0x1a0 Code: 87 1e 9d 89 d0 25 00 00 00 01 0f 85 ad 00 00 00 48 83 05 25 a1 37 0c 01 3 RSP: 0018:ffffc90000473b50 EFLAGS: 00010202 RAX: 0000000000000000 RBX: 0000000000000000 RCX: ffffc90000473b98 RDX: 0000000000001000 RSI: ffff8881080c7500 RDI: ffff888103a9cc18 RBP: ffff88813bc80000 R08: 0000000000000001 R09: 0000000000000000 R10: ffff88810710be30 R11: 0000000000000000 R12: ffff888103a9cc18 R13: ffff8881080c7500 R14: 0000000000000001 R15: 0000000000000000 FS: 00007f51bcdbb040(0000) GS:ffff88813bc80000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 00007f10e97a5000 CR3: 000000010d715000 CR4: 00000000000006e0 DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400 Kernel panic - not syncing: Fatal exception Kernel Offset: disabled ---[ end Kernel panic - not syncing: Fatal exception ]--- root cause: t1 dm-mpath t2 mount alloc_dev md->queue = blk_alloc_queue add_disk_no_queue_reg dm_setup_md_queue case DM_TYPE_REQUEST_BASED -> multipath md->disk->fops = &dm_rq_blk_dops; ext4_fill_super ┊__ext4_sb_bread_gfp ┊ ext4_read_bh ┊ submit_bio -> queue is not initialized yet ┊ __blk_mq_sched_bio_merge ┊ ctx = blk_mq_get_ctx(q); -> ctx is NULL dm_mq_init_request_queue Patch 3 is the fix patch, and patch 1,2 is needed to backport patch 3. Please noted that there are lots of conficts between 5.10 and mainline, and I made plenty adaptations in these patches. I already tested this patchset with dmtest create/remove tests: dmtest run --suite thin-provisioning -t /Creation\Deletion/ Christoph Hellwig (3): block: look up holders by bdev block: support delayed holder registration dm: delay registering the gendisk block/genhd.c | 13 +++++ drivers/md/dm.c | 24 +++++---- fs/block_dev.c | 105 +++++++++++++++++++++++++++----------- include/linux/blk_types.h | 3 -- include/linux/genhd.h | 9 +++- 5 files changed, 110 insertions(+), 44 deletions(-) -- 2.31.1 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 us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) (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 39714C00144 for ; Fri, 29 Jul 2022 06:12:12 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1659075131; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding:list-id:list-help: list-unsubscribe:list-subscribe:list-post; bh=sm2rUFOczNDUuYKqZgnink1M4Io2aymHkUXjvKgMhtk=; b=UB2ivj6RSWI2G28FAsEXb2UsYINvQmTzNUyxrjXAg9zvCGJ821vUuTHAaU313hBjsOQv8/ S6zsrRJgkrjNLdZ94ByhlmPj1htsLn4wDDX1hTDw7KnsymPuvXQV26ePuYnXaYlK5xsKUu xW6v1EFPAfIN/LvjwRqSGb6g4jznpOM= Received: from mimecast-mx02.redhat.com (mx3-rdu2.redhat.com [66.187.233.73]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-638-bOYHn40MPfWEGUmWZs355g-1; Fri, 29 Jul 2022 02:12:08 -0400 X-MC-Unique: bOYHn40MPfWEGUmWZs355g-1 Received: from smtp.corp.redhat.com (int-mx05.intmail.prod.int.rdu2.redhat.com [10.11.54.5]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 5232B3C1014D; Fri, 29 Jul 2022 06:12:06 +0000 (UTC) Received: from mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (unknown [10.30.29.100]) by smtp.corp.redhat.com (Postfix) with ESMTP id 4098790A11; Fri, 29 Jul 2022 06:12:06 +0000 (UTC) Received: from mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (localhost [IPv6:::1]) by mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (Postfix) with ESMTP id 0E932193211B; Fri, 29 Jul 2022 06:12:06 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx08.intmail.prod.int.rdu2.redhat.com [10.11.54.8]) by mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (Postfix) with ESMTP id 287F41932121 for ; Fri, 29 Jul 2022 06:12:05 +0000 (UTC) Received: by smtp.corp.redhat.com (Postfix) id 1D335C28125; Fri, 29 Jul 2022 06:12:05 +0000 (UTC) Received: from mimecast-mx02.redhat.com (mimecast09.extmail.prod.ext.rdu2.redhat.com [10.11.55.25]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 1944FC28100 for ; Fri, 29 Jul 2022 06:12:04 +0000 (UTC) Received: from us-smtp-1.mimecast.com (us-smtp-2.mimecast.com [205.139.110.61]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 87F6029AA3AD for ; Fri, 29 Jul 2022 06:12:04 +0000 (UTC) Received: from dggsgout11.his.huawei.com (dggsgout11.his.huawei.com [45.249.212.51]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-460-NLjSEKrHPnW5qs3VZLLAUQ-1; Fri, 29 Jul 2022 02:12:00 -0400 X-MC-Unique: NLjSEKrHPnW5qs3VZLLAUQ-1 Received: from mail02.huawei.com (unknown [172.30.67.153]) by dggsgout11.his.huawei.com (SkyGuard) with ESMTP id 4LvHFR1F8fzl6y1; Fri, 29 Jul 2022 14:10:51 +0800 (CST) Received: from huaweicloud.com (unknown [10.175.127.227]) by APP3 (Coremail) with SMTP id _Ch0CgCnCWkneuNiP6ZGBQ--.22656S4; Fri, 29 Jul 2022 14:11:53 +0800 (CST) From: Yu Kuai To: stable@vger.kernel.org, hch@lst.de, axboe@kernel.dk, snitzer@redhat.com Date: Fri, 29 Jul 2022 14:23:53 +0800 Message-Id: <20220729062356.1663513-1-yukuai1@huaweicloud.com> MIME-Version: 1.0 X-CM-TRANSID: _Ch0CgCnCWkneuNiP6ZGBQ--.22656S4 X-Coremail-Antispam: 1UD129KBjvJXoWxWF4rCFyxJr45GrWrWF45KFg_yoW7Jr43pr 43Kr45Cr48Kr17JF43AF1UJr1UJr47AF1UXryxGr18J3Wj93WUXryUJr4UAryUJr4UZry7 tr1DJw48tr1UtaUanT9S1TB71UUUUUUqnTZGkaVYY2UrUUUUjbIjqfuFe4nvWSU5nxnvy2 9KBjDU0xBIdaVrnRJUUUyG14x267AKxVW8JVW5JwAFc2x0x2IEx4CE42xK8VAvwI8IcIk0 rVWUuVWrJwAFIxvE14AKwVWUJVWUGwA2ocxC64kIII0Yj41l84x0c7CEw4AK67xGY2AK02 1l84ACjcxK6xIIjxv20xvE14v26w1j6s0DM28EF7xvwVC0I7IYx2IY6xkF7I0E14v26r4U JVWxJr1l84ACjcxK6I8E87Iv67AKxVW0oVCq3wA2z4x0Y4vEx4A2jsIEc7CjxVAFwI0_Gc CE3s1le2I262IYc4CY6c8Ij28IcVAaY2xG8wAqx4xG64xvF2IEw4CE5I8CrVC2j2WlYx0E 2Ix0cI8IcVAFwI0_Jr0_Jr4lYx0Ex4A2jsIE14v26r1j6r4UMcvjeVCFs4IE7xkEbVWUJV W8JwACjcxG0xvY0x0EwIxGrwACjI8F5VA0II8E6IAqYI8I648v4I1l42xK82IYc2Ij64vI r41l4I8I3I0E4IkC6x0Yz7v_Jr0_Gr1lx2IqxVAqx4xG67AKxVWUJVWUGwC20s026x8Gjc xK67AKxVWUGVWUWwC2zVAF1VAY17CE14v26r1q6r43MIIYrxkI7VAKI48JMIIF0xvE2Ix0 cI8IcVAFwI0_Jr0_JF4lIxAIcVC0I7IYx2IY6xkF7I0E14v26r1j6r4UMIIF0xvE42xK8V AvwI8IcIk0rVWrZr1j6s0DMIIF0xvEx4A2jsIE14v26r1j6r4UMIIF0xvEx4A2jsIEc7Cj xVAFwI0_Jr0_GrUvcSsGvfC2KfnxnUUI43ZEXa7VUbXdbUUUUUU== X-CM-SenderInfo: 51xn3trlr6x35dzhxuhorxvhhfrp/ X-CFilter-Loop: Reflected X-Mimecast-Impersonation-Protect: Policy=CLT - Impersonation Protection Definition; Similar Internal Domain=false; Similar Monitored External Domain=false; Custom External Domain=false; Mimecast External Domain=false; Newly Observed Domain=false; Internal User Name=false; Custom Display Name List=false; Reply-to Address Mismatch=false; Targeted Threat Dictionary=false; Mimecast Threat Dictionary=false; Custom Threat Dictionary=false X-Scanned-By: MIMEDefang 2.85 on 10.11.54.8 Subject: [dm-devel] [PATCH stable 5.10 0/3] dm: fix nullptr crash X-BeenThere: dm-devel@redhat.com X-Mailman-Version: 2.1.29 Precedence: list List-Id: device-mapper development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: linux-block@vger.kernel.org, yukuai3@huawei.com, dm-devel@redhat.com, yi.zhang@huawei.com, yukuai1@huaweicloud.com Errors-To: dm-devel-bounces@redhat.com Sender: "dm-devel" X-Scanned-By: MIMEDefang 2.79 on 10.11.54.5 Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=dm-devel-bounces@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 RnJvbTogWXUgS3VhaSA8eXVrdWFpM0BodWF3ZWkuY29tPgoKVGhpcyBwYXRjaHNldCBiYWNrcG9y dCB0aHJlZSBwYXRjaGVzIHRvIGZpeCBhIGNyYXNoIGZvdW5kIGJ5IG91ciB0ZXN0OgoKQlVHOiBr ZXJuZWwgTlVMTCBwb2ludGVyIGRlcmVmZXJlbmNlLCBhZGRyZXNzOiAwMDAwMDAwMDAwMDAwMWEw CiNQRjogc3VwZXJ2aXNvciByZWFkIGFjY2VzcyBpbiBrZXJuZWwgbW9kZQojUEY6IGVycm9yX2Nv ZGUoMHgwMDAwKSAtIG5vdC1wcmVzZW50IHBhZ2UKUEdEIDAgUDREIDAKT29wczogMDAwMCBbIzFd IFBSRUVNUFQgU01QCkNQVTogMSBQSUQ6IDEzMTcgQ29tbTogbW91bnQgTm90IHRhaW50ZWQgNS4x MC4wLTE2NjkxLWdmNjA3NjQzMjgyN2QtZGlydHkgIzE2OQpIYXJkd2FyZSBuYW1lOiBRRU1VIFN0 YW5kYXJkIFBDIChpNDQwRlggKyBQSUlYLCAxOTk2KSwgQklPUyA/LTIwMTkwNzI3XzA3MzgzNi00 ClJJUDogMDAxMDpfX2Jsa19tcV9zY2hlZF9iaW9fbWVyZ2UrMHg5ZC8weDFhMApDb2RlOiA4NyAx ZSA5ZCA4OSBkMCAyNSAwMCAwMCAwMCAwMSAwZiA4NSBhZCAwMCAwMCAwMCA0OCA4MyAwNSAyNSBh MSAzNyAwYyAwMSAzClJTUDogMDAxODpmZmZmYzkwMDAwNDczYjUwIEVGTEFHUzogMDAwMTAyMDIK UkFYOiAwMDAwMDAwMDAwMDAwMDAwIFJCWDogMDAwMDAwMDAwMDAwMDAwMCBSQ1g6IGZmZmZjOTAw MDA0NzNiOTgKUkRYOiAwMDAwMDAwMDAwMDAxMDAwIFJTSTogZmZmZjg4ODEwODBjNzUwMCBSREk6 IGZmZmY4ODgxMDNhOWNjMTgKUkJQOiBmZmZmODg4MTNiYzgwMDAwIFIwODogMDAwMDAwMDAwMDAw MDAwMSBSMDk6IDAwMDAwMDAwMDAwMDAwMDAKUjEwOiBmZmZmODg4MTA3MTBiZTMwIFIxMTogMDAw MDAwMDAwMDAwMDAwMCBSMTI6IGZmZmY4ODgxMDNhOWNjMTgKUjEzOiBmZmZmODg4MTA4MGM3NTAw IFIxNDogMDAwMDAwMDAwMDAwMDAwMSBSMTU6IDAwMDAwMDAwMDAwMDAwMDAKRlM6ICAwMDAwN2Y1 MWJjZGJiMDQwKDAwMDApIEdTOmZmZmY4ODgxM2JjODAwMDAoMDAwMCkga25sR1M6MDAwMDAwMDAw MDAwMDAwMApDUzogIDAwMTAgRFM6IDAwMDAgRVM6IDAwMDAgQ1IwOiAwMDAwMDAwMDgwMDUwMDMz CkNSMjogMDAwMDAwMDAwMDAwMDFhMCBDUjM6IDAwMDAwMDAxMGQ3MTUwMDAgQ1I0OiAwMDAwMDAw MDAwMDAwNmUwCkRSMDogMDAwMDAwMDAwMDAwMDAwMCBEUjE6IDAwMDAwMDAwMDAwMDAwMDAgRFIy OiAwMDAwMDAwMDAwMDAwMDAwCkRSMzogMDAwMDAwMDAwMDAwMDAwMCBEUjY6IDAwMDAwMDAwZmZm ZTBmZjAgRFI3OiAwMDAwMDAwMDAwMDAwNDAwCgpDYWxsIFRyYWNlOgogYmxrX21xX3N1Ym1pdF9i aW8rMHgxMTUvMHhkODAKIHN1Ym1pdF9iaW9fbm9hY2N0KzB4NGZmLzB4NjEwCiBzdWJtaXRfYmlv KzB4YWEvMHgxYTAKIHN1Ym1pdF9iaF93YmMrMHgxY2IvMHgyZjAKIHN1Ym1pdF9iaCsweDE3LzB4 MjAKIGV4dDRfcmVhZF9iaCsweDYzLzB4MTcwCiBleHQ0X3JlYWRfYmhfbG9jaysweDJjLzB4ZDAK IF9fZXh0NF9zYl9icmVhZF9nZnAuaXNyYS4wKzB4YTAvMHhmMAogZXh0NF9maWxsX3N1cGVyKzB4 MjFmLzB4NTYxMAogPyBwb2ludGVyKzB4MzFiLzB4NWEwCiA/IHZzbnByaW50ZisweDEzMS8weDdk MAogbW91bnRfYmRldisweDIzMy8weDI4MAogPyBleHQ0X2NhbGN1bGF0ZV9vdmVyaGVhZCsweDY2 MC8weDY2MAogZXh0NF9tb3VudCsweDE5LzB4MzAKIGxlZ2FjeV9nZXRfdHJlZSsweDM1LzB4OTAK IHZmc19nZXRfdHJlZSsweDI5LzB4MTAwCiA/IGNhcGFibGUrMHgxZC8weDMwCiBwYXRoX21vdW50 KzB4OGE3LzB4MTE1MAogZG9fbW91bnQrMHg4ZC8weGMwCiBfX3NlX3N5c19tb3VudCsweDE0YS8w eDIyMAogX194NjRfc3lzX21vdW50KzB4MjkvMHg0MAogZG9fc3lzY2FsbF82NCsweDQ1LzB4NzAK IGVudHJ5X1NZU0NBTExfNjRfYWZ0ZXJfaHdmcmFtZSsweDQ0LzB4YTkKUklQOiAwMDMzOjB4N2Y1 MWJiZTE2MjNhCkNvZGU6IDQ4IDhiIDBkIDUxIGRjIDJiIDAwIGY3IGQ4IDY0IDg5IDAxIDQ4IDgz IGM4IGZmIGMzIDY2IDJlIDBmIDFmIDg0IDAwIDAwIDgKUlNQOiAwMDJiOjAwMDA3ZmZmMTczYWU4 OTggRUZMQUdTOiAwMDAwMDI0NiBPUklHX1JBWDogMDAwMDAwMDAwMDAwMDBhNQpSQVg6IGZmZmZm ZmZmZmZmZmZmZGEgUkJYOiAwMDAwNTYxNjlhMTIwMDMwIFJDWDogMDAwMDdmNTFiYmUxNjIzYQpS RFg6IDAwMDA1NjE2OWExMjAyMTAgUlNJOiAwMDAwNTYxNjlhMTIwMjUwIFJESTogMDAwMDU2MTY5 YTEyMDIzMApSQlA6IDAwMDAwMDAwMDAwMDAwMDAgUjA4OiAwMDAwMDAwMDAwMDAwMDAwIFIwOTog MDAwMDdmZmYxNzNhZDc5OApSMTA6IDAwMDAwMDAwYzBlZDAwMDAgUjExOiAwMDAwMDAwMDAwMDAw MjQ2IFIxMjogMDAwMDU2MTY5YTEyMDIzMApSMTM6IDAwMDA1NjE2OWExMjAyMTAgUjE0OiAwMDAw MDAwMDAwMDAwMDAwIFIxNTogMDAwMDdmNTFiY2JhYzE4NApNb2R1bGVzIGxpbmtlZCBpbjogZG1f c2VydmljZV90aW1lIGRtX211bHRpcGF0aApDUjI6IDAwMDAwMDAwMDAwMDAxYTAKLS0tWyBlbmQg dHJhY2UgYWM1ZDg2ZTA5ZmRjN2M5OCBdLS0tClJJUDogMDAxMDpfX2Jsa19tcV9zY2hlZF9iaW9f bWVyZ2UrMHg5ZC8weDFhMApDb2RlOiA4NyAxZSA5ZCA4OSBkMCAyNSAwMCAwMCAwMCAwMSAwZiA4 NSBhZCAwMCAwMCAwMCA0OCA4MyAwNSAyNSBhMSAzNyAwYyAwMSAzClJTUDogMDAxODpmZmZmYzkw MDAwNDczYjUwIEVGTEFHUzogMDAwMTAyMDIKUkFYOiAwMDAwMDAwMDAwMDAwMDAwIFJCWDogMDAw MDAwMDAwMDAwMDAwMCBSQ1g6IGZmZmZjOTAwMDA0NzNiOTgKUkRYOiAwMDAwMDAwMDAwMDAxMDAw IFJTSTogZmZmZjg4ODEwODBjNzUwMCBSREk6IGZmZmY4ODgxMDNhOWNjMTgKUkJQOiBmZmZmODg4 MTNiYzgwMDAwIFIwODogMDAwMDAwMDAwMDAwMDAwMSBSMDk6IDAwMDAwMDAwMDAwMDAwMDAKUjEw OiBmZmZmODg4MTA3MTBiZTMwIFIxMTogMDAwMDAwMDAwMDAwMDAwMCBSMTI6IGZmZmY4ODgxMDNh OWNjMTgKUjEzOiBmZmZmODg4MTA4MGM3NTAwIFIxNDogMDAwMDAwMDAwMDAwMDAwMSBSMTU6IDAw MDAwMDAwMDAwMDAwMDAKRlM6ICAwMDAwN2Y1MWJjZGJiMDQwKDAwMDApIEdTOmZmZmY4ODgxM2Jj ODAwMDAoMDAwMCkga25sR1M6MDAwMDAwMDAwMDAwMDAwMApDUzogIDAwMTAgRFM6IDAwMDAgRVM6 IDAwMDAgQ1IwOiAwMDAwMDAwMDgwMDUwMDMzCkNSMjogMDAwMDdmMTBlOTdhNTAwMCBDUjM6IDAw MDAwMDAxMGQ3MTUwMDAgQ1I0OiAwMDAwMDAwMDAwMDAwNmUwCkRSMDogMDAwMDAwMDAwMDAwMDAw MCBEUjE6IDAwMDAwMDAwMDAwMDAwMDAgRFIyOiAwMDAwMDAwMDAwMDAwMDAwCkRSMzogMDAwMDAw MDAwMDAwMDAwMCBEUjY6IDAwMDAwMDAwZmZmZTBmZjAgRFI3OiAwMDAwMDAwMDAwMDAwNDAwCktl cm5lbCBwYW5pYyAtIG5vdCBzeW5jaW5nOiBGYXRhbCBleGNlcHRpb24KS2VybmVsIE9mZnNldDog ZGlzYWJsZWQKLS0tWyBlbmQgS2VybmVsIHBhbmljIC0gbm90IHN5bmNpbmc6IEZhdGFsIGV4Y2Vw dGlvbiBdLS0tCgpyb290IGNhdXNlOgp0MSBkbS1tcGF0aAkJdDIgbW91bnQKCmFsbG9jX2Rldgog bWQtPnF1ZXVlID0gYmxrX2FsbG9jX3F1ZXVlCiBhZGRfZGlza19ub19xdWV1ZV9yZWcKCmRtX3Nl dHVwX21kX3F1ZXVlCiBjYXNlIERNX1RZUEVfUkVRVUVTVF9CQVNFRCAtPiBtdWx0aXBhdGgKICBt ZC0+ZGlzay0+Zm9wcyA9ICZkbV9ycV9ibGtfZG9wczsKCQkJZXh0NF9maWxsX3N1cGVyCiAgICAg ICAgICAgICAgICAgICAgICAgIOKUil9fZXh0NF9zYl9icmVhZF9nZnAKICAgICAgICAgICAgICAg ICAgICAgICAg4pSKIGV4dDRfcmVhZF9iaAogICAgICAgICAgICAgICAgICAgICAgICDilIogIHN1 Ym1pdF9iaW8gLT4gcXVldWUgaXMgbm90IGluaXRpYWxpemVkIHlldAogICAgICAgICAgICAgICAg ICAgICAgICDilIogICBfX2Jsa19tcV9zY2hlZF9iaW9fbWVyZ2UKICAgICAgICAgICAgICAgICAg ICAgICAg4pSKICAgIGN0eCA9IGJsa19tcV9nZXRfY3R4KHEpOyAtPiBjdHggaXMgTlVMTAogIGRt X21xX2luaXRfcmVxdWVzdF9xdWV1ZQoKUGF0Y2ggMyBpcyB0aGUgZml4IHBhdGNoLCBhbmQgcGF0 Y2ggMSwyIGlzIG5lZWRlZCB0byBiYWNrcG9ydCBwYXRjaCAzLgoKUGxlYXNlIG5vdGVkIHRoYXQg dGhlcmUgYXJlIGxvdHMgb2YgY29uZmljdHMgYmV0d2VlbiA1LjEwIGFuZCBtYWlubGluZSwKYW5k IEkgbWFkZSBwbGVudHkgYWRhcHRhdGlvbnMgaW4gdGhlc2UgcGF0Y2hlcy4KCkkgYWxyZWFkeSB0 ZXN0ZWQgdGhpcyBwYXRjaHNldCB3aXRoIGRtdGVzdCBjcmVhdGUvcmVtb3ZlIHRlc3RzOgoKZG10 ZXN0IHJ1biAtLXN1aXRlIHRoaW4tcHJvdmlzaW9uaW5nIC10IC9DcmVhdGlvblxEZWxldGlvbi8K CkNocmlzdG9waCBIZWxsd2lnICgzKToKICBibG9jazogbG9vayB1cCBob2xkZXJzIGJ5IGJkZXYK ICBibG9jazogc3VwcG9ydCBkZWxheWVkIGhvbGRlciByZWdpc3RyYXRpb24KICBkbTogZGVsYXkg cmVnaXN0ZXJpbmcgdGhlIGdlbmRpc2sKCiBibG9jay9nZW5oZC5jICAgICAgICAgICAgIHwgIDEz ICsrKysrCiBkcml2ZXJzL21kL2RtLmMgICAgICAgICAgIHwgIDI0ICsrKysrLS0tLQogZnMvYmxv Y2tfZGV2LmMgICAgICAgICAgICB8IDEwNSArKysrKysrKysrKysrKysrKysrKysrKysrKystLS0t LS0tLS0tLQogaW5jbHVkZS9saW51eC9ibGtfdHlwZXMuaCB8ICAgMyAtLQogaW5jbHVkZS9saW51 eC9nZW5oZC5oICAgICB8ICAgOSArKystCiA1IGZpbGVzIGNoYW5nZWQsIDExMCBpbnNlcnRpb25z KCspLCA0NCBkZWxldGlvbnMoLSkKCi0tIAoyLjMxLjEKCi0tCmRtLWRldmVsIG1haWxpbmcgbGlz dApkbS1kZXZlbEByZWRoYXQuY29tCmh0dHBzOi8vbGlzdG1hbi5yZWRoYXQuY29tL21haWxtYW4v bGlzdGluZm8vZG0tZGV2ZWwK