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 gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (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 3A97CECAAD3 for ; Mon, 19 Sep 2022 12:57:56 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 1C02010E179; Mon, 19 Sep 2022 12:57:55 +0000 (UTC) Received: from mail-wr1-x42d.google.com (mail-wr1-x42d.google.com [IPv6:2a00:1450:4864:20::42d]) by gabe.freedesktop.org (Postfix) with ESMTPS id AF33B10E03A for ; Mon, 19 Sep 2022 12:57:50 +0000 (UTC) Received: by mail-wr1-x42d.google.com with SMTP id bq9so47417659wrb.4 for ; Mon, 19 Sep 2022 05:57:50 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=content-transfer-encoding:in-reply-to:organization:from:references :to:content-language:subject:user-agent:mime-version:date:message-id :from:to:cc:subject:date; bh=kxDGR9VLwk/QQ3J/99QJg3Ri+yvOl0iwXB4J1eFzoqY=; b=jPDdL0BD6tEG50bFrpct7m93CbamxfkVJWU8rMEzH07hIbRhBJHp5RTDDM9CKk/T4k dHCGRWask36+/tPBb+tNqNjyM09xMPGA7/F0lLaMLs9OTHfMc3OqkDgAxfuZRG1lytvb Bijomb/PiVcGYXAbICjy9YfB14kbQ4aOtJuytl0mZOTbAhW3Y5mW44yIB++OkDpu9JHx IiNcHC9Su5f8zoxEmCkRWyTwJ/Z/IXFgPumHwFqcWlfHYIwZSkopSNZnTn03I45pPx+E N9F9ccgAkUEz3qSE+oHVJjaCGHdv5D0v5awjFo8F9b7f8vBb4MQ45Ivfvgt2noltbTx6 lOCw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:in-reply-to:organization:from:references :to:content-language:subject:user-agent:mime-version:date:message-id :x-gm-message-state:from:to:cc:subject:date; bh=kxDGR9VLwk/QQ3J/99QJg3Ri+yvOl0iwXB4J1eFzoqY=; b=UDiw4+ZjvZr/WUvgVdKZkIAxR/eWMLyPCYEAhl4tHfg+EUg4CZSx76B/946AzIWQGd YZdwdheD+D5QkP/Mmh94v7UNK2z6JdkIs1Se5qdcpj1cWD9Ah8V8yxwkBgo9XoUQFHXW 5dolLudoKHz/aT8Na65gYR+loqiF6FzzYQLQ8sh3rBdQOF4spqdnXsLJMuqPuH8phuL2 GMXmk3ABEKpT/ZmtAsZBXWMvupPAR/mZ3Xqe6BrEA6Kzr047DyW5Vp0vb+6bYhjtDPcD z6gCnq+6iv4YkqriowbIZGo/KvipLy3zyWuYYLxGqRPA624sKFN8Wknw9s58EitwkFCJ Qxfg== X-Gm-Message-State: ACrzQf0veBO7/g8GLfVuj0D8elaZEgKjLCR/Wp+K7Cky2suQBif06kHZ +60pmpopwMOfHSklTzCa2Y22/g== X-Google-Smtp-Source: AMsMyM7aE5UjY/zTtLh5MGt9SANNjh1OtMwZqXCLlbow32d0iAyYj0ueXzTbCYgkewATuUecaasUyA== X-Received: by 2002:a5d:64a8:0:b0:226:f3f3:9914 with SMTP id m8-20020a5d64a8000000b00226f3f39914mr10223746wrp.343.1663592269127; Mon, 19 Sep 2022 05:57:49 -0700 (PDT) Received: from ?IPV6:2a01:e0a:982:cbb0:caa5:56f7:a8d:69b8? ([2a01:e0a:982:cbb0:caa5:56f7:a8d:69b8]) by smtp.gmail.com with ESMTPSA id u8-20020a5d4348000000b00228d8420f57sm13994506wrr.95.2022.09.19.05.57.48 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Mon, 19 Sep 2022 05:57:48 -0700 (PDT) Message-ID: <22da325f-96c9-259b-dfbc-6124d06ebe61@linaro.org> Date: Mon, 19 Sep 2022 14:57:48 +0200 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.11.0 Subject: Re: [PATCH 2/3] drm/meson: explicitly remove aggregate driver at module unload time Content-Language: en-US To: =?UTF-8?Q?Adri=c3=a1n_Larumbe?= , narmstrong@baylibre.com, khilman@baylibre.com, linux-amlogic@lists.infradead.org, dri-devel@lists.freedesktop.org References: <20220919010940.419893-1-adrian.larumbe@collabora.com> <20220919010940.419893-3-adrian.larumbe@collabora.com> From: Neil Armstrong Organization: Linaro In-Reply-To: <20220919010940.419893-3-adrian.larumbe@collabora.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" On 19/09/2022 03:09, Adrián Larumbe wrote: > Because component_master_del wasn't being called when unloading the > meson_drm module, the aggregate device would linger forever in the global > aggregate_devices list. That means when unloading and reloading the > meson_dw_hdmi module, component_add would call into > try_to_bring_up_aggregate_device and find the unbound meson_drm aggregate > device. > > This would in turn dereference some of the aggregate_device's struct > entries which point to memory automatically freed by the devres API when > unbinding the aggregate device from meson_drv_unbind, and trigger an > use-after-free bug: > > [ +0.000014] ============================================================= > [ +0.000007] BUG: KASAN: use-after-free in find_components+0x468/0x500 > [ +0.000017] Read of size 8 at addr ffff000006731688 by task modprobe/2536 > [ +0.000018] CPU: 4 PID: 2536 Comm: modprobe Tainted: G C O 5.19.0-rc6-lrmbkasan+ #1 > [ +0.000010] Hardware name: Hardkernel ODROID-N2Plus (DT) > [ +0.000008] Call trace: > [ +0.000005] dump_backtrace+0x1ec/0x280 > [ +0.000011] show_stack+0x24/0x80 > [ +0.000007] dump_stack_lvl+0x98/0xd4 > [ +0.000010] print_address_description.constprop.0+0x80/0x520 > [ +0.000011] print_report+0x128/0x260 > [ +0.000007] kasan_report+0xb8/0xfc > [ +0.000007] __asan_report_load8_noabort+0x3c/0x50 > [ +0.000009] find_components+0x468/0x500 > [ +0.000008] try_to_bring_up_aggregate_device+0x64/0x390 > [ +0.000009] __component_add+0x1dc/0x49c > [ +0.000009] component_add+0x20/0x30 > [ +0.000008] meson_dw_hdmi_probe+0x28/0x34 [meson_dw_hdmi] > [ +0.000013] platform_probe+0xd0/0x220 > [ +0.000008] really_probe+0x3ac/0xa80 > [ +0.000008] __driver_probe_device+0x1f8/0x400 > [ +0.000008] driver_probe_device+0x68/0x1b0 > [ +0.000008] __driver_attach+0x20c/0x480 > [ +0.000009] bus_for_each_dev+0x114/0x1b0 > [ +0.000007] driver_attach+0x48/0x64 > [ +0.000009] bus_add_driver+0x390/0x564 > [ +0.000007] driver_register+0x1a8/0x3e4 > [ +0.000009] __platform_driver_register+0x6c/0x94 > [ +0.000007] meson_dw_hdmi_platform_driver_init+0x30/0x1000 [meson_dw_hdmi] > [ +0.000014] do_one_initcall+0xc4/0x2b0 > [ +0.000008] do_init_module+0x154/0x570 > [ +0.000010] load_module+0x1a78/0x1ea4 > [ +0.000008] __do_sys_init_module+0x184/0x1cc > [ +0.000008] __arm64_sys_init_module+0x78/0xb0 > [ +0.000008] invoke_syscall+0x74/0x260 > [ +0.000008] el0_svc_common.constprop.0+0xcc/0x260 > [ +0.000009] do_el0_svc+0x50/0x70 > [ +0.000008] el0_svc+0x68/0x1a0 > [ +0.000009] el0t_64_sync_handler+0x11c/0x150 > [ +0.000009] el0t_64_sync+0x18c/0x190 > > [ +0.000014] Allocated by task 902: > [ +0.000007] kasan_save_stack+0x2c/0x5c > [ +0.000009] __kasan_kmalloc+0x90/0xd0 > [ +0.000007] __kmalloc_node+0x240/0x580 > [ +0.000010] memcg_alloc_slab_cgroups+0xa4/0x1ac > [ +0.000010] memcg_slab_post_alloc_hook+0xbc/0x4c0 > [ +0.000008] kmem_cache_alloc_node+0x1d0/0x490 > [ +0.000009] __alloc_skb+0x1d4/0x310 > [ +0.000010] alloc_skb_with_frags+0x8c/0x620 > [ +0.000008] sock_alloc_send_pskb+0x5ac/0x6d0 > [ +0.000010] unix_dgram_sendmsg+0x2e0/0x12f0 > [ +0.000010] sock_sendmsg+0xcc/0x110 > [ +0.000007] sock_write_iter+0x1d0/0x304 > [ +0.000008] new_sync_write+0x364/0x460 > [ +0.000007] vfs_write+0x420/0x5ac > [ +0.000008] ksys_write+0x19c/0x1f0 > [ +0.000008] __arm64_sys_write+0x78/0xb0 > [ +0.000007] invoke_syscall+0x74/0x260 > [ +0.000008] el0_svc_common.constprop.0+0x1a8/0x260 > [ +0.000009] do_el0_svc+0x50/0x70 > [ +0.000007] el0_svc+0x68/0x1a0 > [ +0.000008] el0t_64_sync_handler+0x11c/0x150 > [ +0.000008] el0t_64_sync+0x18c/0x190 > > [ +0.000013] Freed by task 2509: > [ +0.000008] kasan_save_stack+0x2c/0x5c > [ +0.000007] kasan_set_track+0x2c/0x40 > [ +0.000008] kasan_set_free_info+0x28/0x50 > [ +0.000008] ____kasan_slab_free+0x128/0x1d4 > [ +0.000008] __kasan_slab_free+0x18/0x24 > [ +0.000007] slab_free_freelist_hook+0x108/0x230 > [ +0.000010] kfree+0x110/0x35c > [ +0.000008] release_nodes+0xf0/0x16c > [ +0.000008] devres_release_all+0xfc/0x180 > [ +0.000008] device_unbind_cleanup+0x24/0x164 > [ +0.000008] device_release_driver_internal+0x3e8/0x5b0 > [ +0.000010] driver_detach+0xac/0x1b0 > [ +0.000008] bus_remove_driver+0x158/0x29c > [ +0.000008] driver_unregister+0x70/0xb0 > [ +0.000009] platform_driver_unregister+0x20/0x2c > [ +0.000007] 0xffff800003722d98 > [ +0.000012] __do_sys_delete_module+0x288/0x400 > [ +0.000009] __arm64_sys_delete_module+0x5c/0x80 > [ +0.000008] invoke_syscall+0x74/0x260 > [ +0.000008] el0_svc_common.constprop.0+0xcc/0x260 > [ +0.000008] do_el0_svc+0x50/0x70 > [ +0.000007] el0_svc+0x68/0x1a0 > [ +0.000008] el0t_64_sync_handler+0x11c/0x150 > [ +0.000009] el0t_64_sync+0x18c/0x190 > > [ +0.000013] Last potentially related work creation: > [ +0.000007] kasan_save_stack+0x2c/0x5c > [ +0.000007] __kasan_record_aux_stack+0xb8/0xf0 > [ +0.000009] kasan_record_aux_stack_noalloc+0x14/0x20 > [ +0.000008] insert_work+0x54/0x290 > [ +0.000009] __queue_work+0x48c/0xd24 > [ +0.000008] queue_work_on+0x90/0x11c > [ +0.000008] call_usermodehelper_exec+0x188/0x404 > [ +0.000010] kobject_uevent_env+0x5a8/0x794 > [ +0.000010] kobject_uevent+0x14/0x20 > [ +0.000008] driver_register+0x230/0x3e4 > [ +0.000009] __platform_driver_register+0x6c/0x94 > [ +0.000007] gxbb_driver_init+0x28/0x34 > [ +0.000010] do_one_initcall+0xc4/0x2b0 > [ +0.000008] do_initcalls+0x20c/0x24c > [ +0.000010] kernel_init_freeable+0x22c/0x278 > [ +0.000009] kernel_init+0x3c/0x170 > [ +0.000008] ret_from_fork+0x10/0x20 > > [ +0.000013] The buggy address belongs to the object at ffff000006731600 > which belongs to the cache kmalloc-256 of size 256 > [ +0.000009] The buggy address is located 136 bytes inside of > 256-byte region [ffff000006731600, ffff000006731700) > > [ +0.000015] The buggy address belongs to the physical page: > [ +0.000008] page:fffffc000019cc00 refcount:1 mapcount:0 mapping:0000000000000000 index:0xffff000006730a00 pfn:0x6730 > [ +0.000011] head:fffffc000019cc00 order:2 compound_mapcount:0 compound_pincount:0 > [ +0.000008] flags: 0xffff00000010200(slab|head|node=0|zone=0|lastcpupid=0xffff) > [ +0.000016] raw: 0ffff00000010200 fffffc00000c3d08 fffffc0000ef2b08 ffff000000002680 > [ +0.000009] raw: ffff000006730a00 0000000000150014 00000001ffffffff 0000000000000000 > [ +0.000006] page dumped because: kasan: bad access detected > > [ +0.000011] Memory state around the buggy address: > [ +0.000007] ffff000006731580: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc > [ +0.000007] ffff000006731600: fa fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb > [ +0.000007] >ffff000006731680: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb > [ +0.000007] ^ > [ +0.000006] ffff000006731700: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc > [ +0.000007] ffff000006731780: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc > [ +0.000006] ================================================================== > > Fix by adding 'remove' driver callback for meson-drm, and explicitly deleting the > aggregate device. > > Signed-off-by: Adrián Larumbe > --- > drivers/gpu/drm/meson/meson_drv.c | 8 ++++++++ > 1 file changed, 8 insertions(+) > > diff --git a/drivers/gpu/drm/meson/meson_drv.c b/drivers/gpu/drm/meson/meson_drv.c > index 8da454a17b77..f3da1c214a7c 100644 > --- a/drivers/gpu/drm/meson/meson_drv.c > +++ b/drivers/gpu/drm/meson/meson_drv.c > @@ -490,6 +490,13 @@ static int meson_drv_probe(struct platform_device *pdev) > return 0; > }; > > +static int meson_drv_remove(struct platform_device *pdev) > +{ > + component_master_del(&pdev->dev, &meson_drv_master_ops); > + > + return 0; > +} > + > static struct meson_drm_match_data meson_drm_gxbb_data = { > .compat = VPU_COMPATIBLE_GXBB, > }; > @@ -527,6 +534,7 @@ static const struct dev_pm_ops meson_drv_pm_ops = { > > static struct platform_driver meson_drm_platform_driver = { > .probe = meson_drv_probe, > + .remove = meson_drv_remove, > .shutdown = meson_drv_shutdown, > .driver = { > .name = "meson-drm", Reviewed-by: Neil Armstrong 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 035EEC54EE9 for ; Mon, 19 Sep 2022 12:58:06 +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-Type: Content-Transfer-Encoding:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:In-Reply-To:From:References:To:Subject:MIME-Version: Date:Message-ID:Reply-To:Cc:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=eoNCx2neSYf90aMsnfVgE3YAwhdLyDyKLqFuB7Spggo=; b=HtCz9mw3vEwk6NZRU0QeXhzpq2 skzvjJIYW5V9tkYaWwEjZ1ana2wPoQJRoiubuP8267jsLcV2fDBgzKC5nEC7Aq6FdAnK9L1/Mx8F/ oixBGrdMXg2oLfI2Uvzm55VS0xRu6sAB3j6BfWth54VPh0jd1cxNGWkg+FS+xLhgqmWmkmknUlOr6 5JyCH+gePiP62xJjGKebimyzaWfkfEXap8XRBblgK1snIn7N8l4XtcdbzUiK4C8yiY+LacIX05V2w MtNg8HVWEepGeH2IzoTNc2+ubUJbCteQAcsx3av7La1r9roqWSPBVMJMKZvVbebx8+60OscssXwNP 2CrzHujg==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1oaGLT-00Blro-Ed; Mon, 19 Sep 2022 12:57:55 +0000 Received: from mail-wr1-x42c.google.com ([2a00:1450:4864:20::42c]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1oaGLP-00BlqZ-Sc for linux-amlogic@lists.infradead.org; Mon, 19 Sep 2022 12:57:53 +0000 Received: by mail-wr1-x42c.google.com with SMTP id n12so7050444wrx.9 for ; Mon, 19 Sep 2022 05:57:50 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=content-transfer-encoding:in-reply-to:organization:from:references :to:content-language:subject:user-agent:mime-version:date:message-id :from:to:cc:subject:date; bh=kxDGR9VLwk/QQ3J/99QJg3Ri+yvOl0iwXB4J1eFzoqY=; b=jPDdL0BD6tEG50bFrpct7m93CbamxfkVJWU8rMEzH07hIbRhBJHp5RTDDM9CKk/T4k dHCGRWask36+/tPBb+tNqNjyM09xMPGA7/F0lLaMLs9OTHfMc3OqkDgAxfuZRG1lytvb Bijomb/PiVcGYXAbICjy9YfB14kbQ4aOtJuytl0mZOTbAhW3Y5mW44yIB++OkDpu9JHx IiNcHC9Su5f8zoxEmCkRWyTwJ/Z/IXFgPumHwFqcWlfHYIwZSkopSNZnTn03I45pPx+E N9F9ccgAkUEz3qSE+oHVJjaCGHdv5D0v5awjFo8F9b7f8vBb4MQ45Ivfvgt2noltbTx6 lOCw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:in-reply-to:organization:from:references :to:content-language:subject:user-agent:mime-version:date:message-id :x-gm-message-state:from:to:cc:subject:date; bh=kxDGR9VLwk/QQ3J/99QJg3Ri+yvOl0iwXB4J1eFzoqY=; b=imEGTVz907v2oR712lUDMZ/GVuSF2ruxbjjj61wtKEWMz/poWL3dQXmyIVMpTHTRac 0rfByFvwYqIWV+oFfVI333VIDFkJlhhWrW5SiVxn2QSEWadwTbyogSu5vcATChDhWnBr Jo/RPoQy8y3ogGvDaTnIYy5o79+/v1FAiuD8PRSEiOv+XUjlSBHRqEkCJj+IoOP1LWnv /yakVNelwzejZ8hhTET7TB8MrWM1xd9UMbjDfLE4WzZkXlXJSPkehcEm8q2sO4AqSPxs aT2UtsqtOgacXhI2iuvTo+ZleuCckYxGxEBitOsJvXlK21lCPv8anoguZ+GaDqyztkfh SOLA== X-Gm-Message-State: ACrzQf17byKVQZz1aG8OE/jhdBgnqRLSSdSm+YD44zWZhTnyqJRMpmWd Pp36a2YmHlikUvIPG8jLym1bGQ== X-Google-Smtp-Source: AMsMyM7aE5UjY/zTtLh5MGt9SANNjh1OtMwZqXCLlbow32d0iAyYj0ueXzTbCYgkewATuUecaasUyA== X-Received: by 2002:a5d:64a8:0:b0:226:f3f3:9914 with SMTP id m8-20020a5d64a8000000b00226f3f39914mr10223746wrp.343.1663592269127; Mon, 19 Sep 2022 05:57:49 -0700 (PDT) Received: from ?IPV6:2a01:e0a:982:cbb0:caa5:56f7:a8d:69b8? ([2a01:e0a:982:cbb0:caa5:56f7:a8d:69b8]) by smtp.gmail.com with ESMTPSA id u8-20020a5d4348000000b00228d8420f57sm13994506wrr.95.2022.09.19.05.57.48 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Mon, 19 Sep 2022 05:57:48 -0700 (PDT) Message-ID: <22da325f-96c9-259b-dfbc-6124d06ebe61@linaro.org> Date: Mon, 19 Sep 2022 14:57:48 +0200 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.11.0 Subject: Re: [PATCH 2/3] drm/meson: explicitly remove aggregate driver at module unload time Content-Language: en-US To: =?UTF-8?Q?Adri=c3=a1n_Larumbe?= , narmstrong@baylibre.com, khilman@baylibre.com, linux-amlogic@lists.infradead.org, dri-devel@lists.freedesktop.org References: <20220919010940.419893-1-adrian.larumbe@collabora.com> <20220919010940.419893-3-adrian.larumbe@collabora.com> From: Neil Armstrong Organization: Linaro In-Reply-To: <20220919010940.419893-3-adrian.larumbe@collabora.com> X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20220919_055751_958919_A4CC66BA X-CRM114-Status: GOOD ( 23.51 ) X-BeenThere: linux-amlogic@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Transfer-Encoding: base64 Content-Type: text/plain; charset="utf-8"; Format="flowed" Sender: "linux-amlogic" Errors-To: linux-amlogic-bounces+linux-amlogic=archiver.kernel.org@lists.infradead.org T24gMTkvMDkvMjAyMiAwMzowOSwgQWRyacOhbiBMYXJ1bWJlIHdyb3RlOgo+IEJlY2F1c2UgY29t cG9uZW50X21hc3Rlcl9kZWwgd2Fzbid0IGJlaW5nIGNhbGxlZCB3aGVuIHVubG9hZGluZyB0aGUK PiBtZXNvbl9kcm0gbW9kdWxlLCB0aGUgYWdncmVnYXRlIGRldmljZSB3b3VsZCBsaW5nZXIgZm9y ZXZlciBpbiB0aGUgZ2xvYmFsCj4gYWdncmVnYXRlX2RldmljZXMgbGlzdC4gVGhhdCBtZWFucyB3 aGVuIHVubG9hZGluZyBhbmQgcmVsb2FkaW5nIHRoZQo+IG1lc29uX2R3X2hkbWkgbW9kdWxlLCBj b21wb25lbnRfYWRkIHdvdWxkIGNhbGwgaW50bwo+IHRyeV90b19icmluZ191cF9hZ2dyZWdhdGVf ZGV2aWNlIGFuZCBmaW5kIHRoZSB1bmJvdW5kIG1lc29uX2RybSBhZ2dyZWdhdGUKPiBkZXZpY2Uu Cj4KPiBUaGlzIHdvdWxkIGluIHR1cm4gZGVyZWZlcmVuY2Ugc29tZSBvZiB0aGUgYWdncmVnYXRl X2RldmljZSdzIHN0cnVjdAo+IGVudHJpZXMgd2hpY2ggcG9pbnQgdG8gbWVtb3J5IGF1dG9tYXRp Y2FsbHkgZnJlZWQgYnkgdGhlIGRldnJlcyBBUEkgd2hlbgo+IHVuYmluZGluZyB0aGUgYWdncmVn YXRlIGRldmljZSBmcm9tIG1lc29uX2Rydl91bmJpbmQsIGFuZCB0cmlnZ2VyIGFuCj4gdXNlLWFm dGVyLWZyZWUgYnVnOgo+Cj4gWyAgKzAuMDAwMDE0XSA9PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Cj4gWyAgKzAuMDAwMDA3XSBCVUc6 IEtBU0FOOiB1c2UtYWZ0ZXItZnJlZSBpbiBmaW5kX2NvbXBvbmVudHMrMHg0NjgvMHg1MDAKPiBb ICArMC4wMDAwMTddIFJlYWQgb2Ygc2l6ZSA4IGF0IGFkZHIgZmZmZjAwMDAwNjczMTY4OCBieSB0 YXNrIG1vZHByb2JlLzI1MzYKPiBbICArMC4wMDAwMThdIENQVTogNCBQSUQ6IDI1MzYgQ29tbTog bW9kcHJvYmUgVGFpbnRlZDogRyAgICAgICAgIEMgTyAgICAgIDUuMTkuMC1yYzYtbHJtYmthc2Fu KyAjMQo+IFsgICswLjAwMDAxMF0gSGFyZHdhcmUgbmFtZTogSGFyZGtlcm5lbCBPRFJPSUQtTjJQ bHVzIChEVCkKPiBbICArMC4wMDAwMDhdIENhbGwgdHJhY2U6Cj4gWyAgKzAuMDAwMDA1XSAgZHVt cF9iYWNrdHJhY2UrMHgxZWMvMHgyODAKPiBbICArMC4wMDAwMTFdICBzaG93X3N0YWNrKzB4MjQv MHg4MAo+IFsgICswLjAwMDAwN10gIGR1bXBfc3RhY2tfbHZsKzB4OTgvMHhkNAo+IFsgICswLjAw MDAxMF0gIHByaW50X2FkZHJlc3NfZGVzY3JpcHRpb24uY29uc3Rwcm9wLjArMHg4MC8weDUyMAo+ IFsgICswLjAwMDAxMV0gIHByaW50X3JlcG9ydCsweDEyOC8weDI2MAo+IFsgICswLjAwMDAwN10g IGthc2FuX3JlcG9ydCsweGI4LzB4ZmMKPiBbICArMC4wMDAwMDddICBfX2FzYW5fcmVwb3J0X2xv YWQ4X25vYWJvcnQrMHgzYy8weDUwCj4gWyAgKzAuMDAwMDA5XSAgZmluZF9jb21wb25lbnRzKzB4 NDY4LzB4NTAwCj4gWyAgKzAuMDAwMDA4XSAgdHJ5X3RvX2JyaW5nX3VwX2FnZ3JlZ2F0ZV9kZXZp Y2UrMHg2NC8weDM5MAo+IFsgICswLjAwMDAwOV0gIF9fY29tcG9uZW50X2FkZCsweDFkYy8weDQ5 Ywo+IFsgICswLjAwMDAwOV0gIGNvbXBvbmVudF9hZGQrMHgyMC8weDMwCj4gWyAgKzAuMDAwMDA4 XSAgbWVzb25fZHdfaGRtaV9wcm9iZSsweDI4LzB4MzQgW21lc29uX2R3X2hkbWldCj4gWyAgKzAu MDAwMDEzXSAgcGxhdGZvcm1fcHJvYmUrMHhkMC8weDIyMAo+IFsgICswLjAwMDAwOF0gIHJlYWxs eV9wcm9iZSsweDNhYy8weGE4MAo+IFsgICswLjAwMDAwOF0gIF9fZHJpdmVyX3Byb2JlX2Rldmlj ZSsweDFmOC8weDQwMAo+IFsgICswLjAwMDAwOF0gIGRyaXZlcl9wcm9iZV9kZXZpY2UrMHg2OC8w eDFiMAo+IFsgICswLjAwMDAwOF0gIF9fZHJpdmVyX2F0dGFjaCsweDIwYy8weDQ4MAo+IFsgICsw LjAwMDAwOV0gIGJ1c19mb3JfZWFjaF9kZXYrMHgxMTQvMHgxYjAKPiBbICArMC4wMDAwMDddICBk cml2ZXJfYXR0YWNoKzB4NDgvMHg2NAo+IFsgICswLjAwMDAwOV0gIGJ1c19hZGRfZHJpdmVyKzB4 MzkwLzB4NTY0Cj4gWyAgKzAuMDAwMDA3XSAgZHJpdmVyX3JlZ2lzdGVyKzB4MWE4LzB4M2U0Cj4g WyAgKzAuMDAwMDA5XSAgX19wbGF0Zm9ybV9kcml2ZXJfcmVnaXN0ZXIrMHg2Yy8weDk0Cj4gWyAg KzAuMDAwMDA3XSAgbWVzb25fZHdfaGRtaV9wbGF0Zm9ybV9kcml2ZXJfaW5pdCsweDMwLzB4MTAw MCBbbWVzb25fZHdfaGRtaV0KPiBbICArMC4wMDAwMTRdICBkb19vbmVfaW5pdGNhbGwrMHhjNC8w eDJiMAo+IFsgICswLjAwMDAwOF0gIGRvX2luaXRfbW9kdWxlKzB4MTU0LzB4NTcwCj4gWyAgKzAu MDAwMDEwXSAgbG9hZF9tb2R1bGUrMHgxYTc4LzB4MWVhNAo+IFsgICswLjAwMDAwOF0gIF9fZG9f c3lzX2luaXRfbW9kdWxlKzB4MTg0LzB4MWNjCj4gWyAgKzAuMDAwMDA4XSAgX19hcm02NF9zeXNf aW5pdF9tb2R1bGUrMHg3OC8weGIwCj4gWyAgKzAuMDAwMDA4XSAgaW52b2tlX3N5c2NhbGwrMHg3 NC8weDI2MAo+IFsgICswLjAwMDAwOF0gIGVsMF9zdmNfY29tbW9uLmNvbnN0cHJvcC4wKzB4Y2Mv MHgyNjAKPiBbICArMC4wMDAwMDldICBkb19lbDBfc3ZjKzB4NTAvMHg3MAo+IFsgICswLjAwMDAw OF0gIGVsMF9zdmMrMHg2OC8weDFhMAo+IFsgICswLjAwMDAwOV0gIGVsMHRfNjRfc3luY19oYW5k bGVyKzB4MTFjLzB4MTUwCj4gWyAgKzAuMDAwMDA5XSAgZWwwdF82NF9zeW5jKzB4MThjLzB4MTkw Cj4KPiBbICArMC4wMDAwMTRdIEFsbG9jYXRlZCBieSB0YXNrIDkwMjoKPiBbICArMC4wMDAwMDdd ICBrYXNhbl9zYXZlX3N0YWNrKzB4MmMvMHg1Ywo+IFsgICswLjAwMDAwOV0gIF9fa2FzYW5fa21h bGxvYysweDkwLzB4ZDAKPiBbICArMC4wMDAwMDddICBfX2ttYWxsb2Nfbm9kZSsweDI0MC8weDU4 MAo+IFsgICswLjAwMDAxMF0gIG1lbWNnX2FsbG9jX3NsYWJfY2dyb3VwcysweGE0LzB4MWFjCj4g WyAgKzAuMDAwMDEwXSAgbWVtY2dfc2xhYl9wb3N0X2FsbG9jX2hvb2srMHhiYy8weDRjMAo+IFsg ICswLjAwMDAwOF0gIGttZW1fY2FjaGVfYWxsb2Nfbm9kZSsweDFkMC8weDQ5MAo+IFsgICswLjAw MDAwOV0gIF9fYWxsb2Nfc2tiKzB4MWQ0LzB4MzEwCj4gWyAgKzAuMDAwMDEwXSAgYWxsb2Nfc2ti X3dpdGhfZnJhZ3MrMHg4Yy8weDYyMAo+IFsgICswLjAwMDAwOF0gIHNvY2tfYWxsb2Nfc2VuZF9w c2tiKzB4NWFjLzB4NmQwCj4gWyAgKzAuMDAwMDEwXSAgdW5peF9kZ3JhbV9zZW5kbXNnKzB4MmUw LzB4MTJmMAo+IFsgICswLjAwMDAxMF0gIHNvY2tfc2VuZG1zZysweGNjLzB4MTEwCj4gWyAgKzAu MDAwMDA3XSAgc29ja193cml0ZV9pdGVyKzB4MWQwLzB4MzA0Cj4gWyAgKzAuMDAwMDA4XSAgbmV3 X3N5bmNfd3JpdGUrMHgzNjQvMHg0NjAKPiBbICArMC4wMDAwMDddICB2ZnNfd3JpdGUrMHg0MjAv MHg1YWMKPiBbICArMC4wMDAwMDhdICBrc3lzX3dyaXRlKzB4MTljLzB4MWYwCj4gWyAgKzAuMDAw MDA4XSAgX19hcm02NF9zeXNfd3JpdGUrMHg3OC8weGIwCj4gWyAgKzAuMDAwMDA3XSAgaW52b2tl X3N5c2NhbGwrMHg3NC8weDI2MAo+IFsgICswLjAwMDAwOF0gIGVsMF9zdmNfY29tbW9uLmNvbnN0 cHJvcC4wKzB4MWE4LzB4MjYwCj4gWyAgKzAuMDAwMDA5XSAgZG9fZWwwX3N2YysweDUwLzB4NzAK PiBbICArMC4wMDAwMDddICBlbDBfc3ZjKzB4NjgvMHgxYTAKPiBbICArMC4wMDAwMDhdICBlbDB0 XzY0X3N5bmNfaGFuZGxlcisweDExYy8weDE1MAo+IFsgICswLjAwMDAwOF0gIGVsMHRfNjRfc3lu YysweDE4Yy8weDE5MAo+Cj4gWyAgKzAuMDAwMDEzXSBGcmVlZCBieSB0YXNrIDI1MDk6Cj4gWyAg KzAuMDAwMDA4XSAga2FzYW5fc2F2ZV9zdGFjaysweDJjLzB4NWMKPiBbICArMC4wMDAwMDddICBr YXNhbl9zZXRfdHJhY2srMHgyYy8weDQwCj4gWyAgKzAuMDAwMDA4XSAga2FzYW5fc2V0X2ZyZWVf aW5mbysweDI4LzB4NTAKPiBbICArMC4wMDAwMDhdICBfX19fa2FzYW5fc2xhYl9mcmVlKzB4MTI4 LzB4MWQ0Cj4gWyAgKzAuMDAwMDA4XSAgX19rYXNhbl9zbGFiX2ZyZWUrMHgxOC8weDI0Cj4gWyAg KzAuMDAwMDA3XSAgc2xhYl9mcmVlX2ZyZWVsaXN0X2hvb2srMHgxMDgvMHgyMzAKPiBbICArMC4w MDAwMTBdICBrZnJlZSsweDExMC8weDM1Ywo+IFsgICswLjAwMDAwOF0gIHJlbGVhc2Vfbm9kZXMr MHhmMC8weDE2Ywo+IFsgICswLjAwMDAwOF0gIGRldnJlc19yZWxlYXNlX2FsbCsweGZjLzB4MTgw Cj4gWyAgKzAuMDAwMDA4XSAgZGV2aWNlX3VuYmluZF9jbGVhbnVwKzB4MjQvMHgxNjQKPiBbICAr MC4wMDAwMDhdICBkZXZpY2VfcmVsZWFzZV9kcml2ZXJfaW50ZXJuYWwrMHgzZTgvMHg1YjAKPiBb ICArMC4wMDAwMTBdICBkcml2ZXJfZGV0YWNoKzB4YWMvMHgxYjAKPiBbICArMC4wMDAwMDhdICBi dXNfcmVtb3ZlX2RyaXZlcisweDE1OC8weDI5Ywo+IFsgICswLjAwMDAwOF0gIGRyaXZlcl91bnJl Z2lzdGVyKzB4NzAvMHhiMAo+IFsgICswLjAwMDAwOV0gIHBsYXRmb3JtX2RyaXZlcl91bnJlZ2lz dGVyKzB4MjAvMHgyYwo+IFsgICswLjAwMDAwN10gIDB4ZmZmZjgwMDAwMzcyMmQ5OAo+IFsgICsw LjAwMDAxMl0gIF9fZG9fc3lzX2RlbGV0ZV9tb2R1bGUrMHgyODgvMHg0MDAKPiBbICArMC4wMDAw MDldICBfX2FybTY0X3N5c19kZWxldGVfbW9kdWxlKzB4NWMvMHg4MAo+IFsgICswLjAwMDAwOF0g IGludm9rZV9zeXNjYWxsKzB4NzQvMHgyNjAKPiBbICArMC4wMDAwMDhdICBlbDBfc3ZjX2NvbW1v bi5jb25zdHByb3AuMCsweGNjLzB4MjYwCj4gWyAgKzAuMDAwMDA4XSAgZG9fZWwwX3N2YysweDUw LzB4NzAKPiBbICArMC4wMDAwMDddICBlbDBfc3ZjKzB4NjgvMHgxYTAKPiBbICArMC4wMDAwMDhd ICBlbDB0XzY0X3N5bmNfaGFuZGxlcisweDExYy8weDE1MAo+IFsgICswLjAwMDAwOV0gIGVsMHRf NjRfc3luYysweDE4Yy8weDE5MAo+Cj4gWyAgKzAuMDAwMDEzXSBMYXN0IHBvdGVudGlhbGx5IHJl bGF0ZWQgd29yayBjcmVhdGlvbjoKPiBbICArMC4wMDAwMDddICBrYXNhbl9zYXZlX3N0YWNrKzB4 MmMvMHg1Ywo+IFsgICswLjAwMDAwN10gIF9fa2FzYW5fcmVjb3JkX2F1eF9zdGFjaysweGI4LzB4 ZjAKPiBbICArMC4wMDAwMDldICBrYXNhbl9yZWNvcmRfYXV4X3N0YWNrX25vYWxsb2MrMHgxNC8w eDIwCj4gWyAgKzAuMDAwMDA4XSAgaW5zZXJ0X3dvcmsrMHg1NC8weDI5MAo+IFsgICswLjAwMDAw OV0gIF9fcXVldWVfd29yaysweDQ4Yy8weGQyNAo+IFsgICswLjAwMDAwOF0gIHF1ZXVlX3dvcmtf b24rMHg5MC8weDExYwo+IFsgICswLjAwMDAwOF0gIGNhbGxfdXNlcm1vZGVoZWxwZXJfZXhlYysw eDE4OC8weDQwNAo+IFsgICswLjAwMDAxMF0gIGtvYmplY3RfdWV2ZW50X2VudisweDVhOC8weDc5 NAo+IFsgICswLjAwMDAxMF0gIGtvYmplY3RfdWV2ZW50KzB4MTQvMHgyMAo+IFsgICswLjAwMDAw OF0gIGRyaXZlcl9yZWdpc3RlcisweDIzMC8weDNlNAo+IFsgICswLjAwMDAwOV0gIF9fcGxhdGZv cm1fZHJpdmVyX3JlZ2lzdGVyKzB4NmMvMHg5NAo+IFsgICswLjAwMDAwN10gIGd4YmJfZHJpdmVy X2luaXQrMHgyOC8weDM0Cj4gWyAgKzAuMDAwMDEwXSAgZG9fb25lX2luaXRjYWxsKzB4YzQvMHgy YjAKPiBbICArMC4wMDAwMDhdICBkb19pbml0Y2FsbHMrMHgyMGMvMHgyNGMKPiBbICArMC4wMDAw MTBdICBrZXJuZWxfaW5pdF9mcmVlYWJsZSsweDIyYy8weDI3OAo+IFsgICswLjAwMDAwOV0gIGtl cm5lbF9pbml0KzB4M2MvMHgxNzAKPiBbICArMC4wMDAwMDhdICByZXRfZnJvbV9mb3JrKzB4MTAv MHgyMAo+Cj4gWyAgKzAuMDAwMDEzXSBUaGUgYnVnZ3kgYWRkcmVzcyBiZWxvbmdzIHRvIHRoZSBv YmplY3QgYXQgZmZmZjAwMDAwNjczMTYwMAo+ICAgICAgICAgICAgICAgICB3aGljaCBiZWxvbmdz IHRvIHRoZSBjYWNoZSBrbWFsbG9jLTI1NiBvZiBzaXplIDI1Ngo+IFsgICswLjAwMDAwOV0gVGhl IGJ1Z2d5IGFkZHJlc3MgaXMgbG9jYXRlZCAxMzYgYnl0ZXMgaW5zaWRlIG9mCj4gICAgICAgICAg ICAgICAgIDI1Ni1ieXRlIHJlZ2lvbiBbZmZmZjAwMDAwNjczMTYwMCwgZmZmZjAwMDAwNjczMTcw MCkKPgo+IFsgICswLjAwMDAxNV0gVGhlIGJ1Z2d5IGFkZHJlc3MgYmVsb25ncyB0byB0aGUgcGh5 c2ljYWwgcGFnZToKPiBbICArMC4wMDAwMDhdIHBhZ2U6ZmZmZmZjMDAwMDE5Y2MwMCByZWZjb3Vu dDoxIG1hcGNvdW50OjAgbWFwcGluZzowMDAwMDAwMDAwMDAwMDAwIGluZGV4OjB4ZmZmZjAwMDAw NjczMGEwMCBwZm46MHg2NzMwCj4gWyAgKzAuMDAwMDExXSBoZWFkOmZmZmZmYzAwMDAxOWNjMDAg b3JkZXI6MiBjb21wb3VuZF9tYXBjb3VudDowIGNvbXBvdW5kX3BpbmNvdW50OjAKPiBbICArMC4w MDAwMDhdIGZsYWdzOiAweGZmZmYwMDAwMDAxMDIwMChzbGFifGhlYWR8bm9kZT0wfHpvbmU9MHxs YXN0Y3B1cGlkPTB4ZmZmZikKPiBbICArMC4wMDAwMTZdIHJhdzogMGZmZmYwMDAwMDAxMDIwMCBm ZmZmZmMwMDAwMGMzZDA4IGZmZmZmYzAwMDBlZjJiMDggZmZmZjAwMDAwMDAwMjY4MAo+IFsgICsw LjAwMDAwOV0gcmF3OiBmZmZmMDAwMDA2NzMwYTAwIDAwMDAwMDAwMDAxNTAwMTQgMDAwMDAwMDFm ZmZmZmZmZiAwMDAwMDAwMDAwMDAwMDAwCj4gWyAgKzAuMDAwMDA2XSBwYWdlIGR1bXBlZCBiZWNh dXNlOiBrYXNhbjogYmFkIGFjY2VzcyBkZXRlY3RlZAo+Cj4gWyAgKzAuMDAwMDExXSBNZW1vcnkg c3RhdGUgYXJvdW5kIHRoZSBidWdneSBhZGRyZXNzOgo+IFsgICswLjAwMDAwN10gIGZmZmYwMDAw MDY3MzE1ODA6IGZjIGZjIGZjIGZjIGZjIGZjIGZjIGZjIGZjIGZjIGZjIGZjIGZjIGZjIGZjIGZj Cj4gWyAgKzAuMDAwMDA3XSAgZmZmZjAwMDAwNjczMTYwMDogZmEgZmIgZmIgZmIgZmIgZmIgZmIg ZmIgZmIgZmIgZmIgZmIgZmIgZmIgZmIgZmIKPiBbICArMC4wMDAwMDddID5mZmZmMDAwMDA2NzMx NjgwOiBmYiBmYiBmYiBmYiBmYiBmYiBmYiBmYiBmYiBmYiBmYiBmYiBmYiBmYiBmYiBmYgo+IFsg ICswLjAwMDAwN10gICAgICAgICAgICAgICAgICAgICAgIF4KPiBbICArMC4wMDAwMDZdICBmZmZm MDAwMDA2NzMxNzAwOiBmYyBmYyBmYyBmYyBmYyBmYyBmYyBmYyBmYyBmYyBmYyBmYyBmYyBmYyBm YyBmYwo+IFsgICswLjAwMDAwN10gIGZmZmYwMDAwMDY3MzE3ODA6IGZjIGZjIGZjIGZjIGZjIGZj IGZjIGZjIGZjIGZjIGZjIGZjIGZjIGZjIGZjIGZjCj4gWyAgKzAuMDAwMDA2XSA9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K Pgo+IEZpeCBieSBhZGRpbmcgJ3JlbW92ZScgZHJpdmVyIGNhbGxiYWNrIGZvciBtZXNvbi1kcm0s IGFuZCBleHBsaWNpdGx5IGRlbGV0aW5nIHRoZQo+IGFnZ3JlZ2F0ZSBkZXZpY2UuCj4KPiBTaWdu ZWQtb2ZmLWJ5OiBBZHJpw6FuIExhcnVtYmUgPGFkcmlhbi5sYXJ1bWJlQGNvbGxhYm9yYS5jb20+ Cj4gLS0tCj4gICBkcml2ZXJzL2dwdS9kcm0vbWVzb24vbWVzb25fZHJ2LmMgfCA4ICsrKysrKysr Cj4gICAxIGZpbGUgY2hhbmdlZCwgOCBpbnNlcnRpb25zKCspCj4KPiBkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL21lc29uL21lc29uX2Rydi5jIGIvZHJpdmVycy9ncHUvZHJtL21lc29uL21l c29uX2Rydi5jCj4gaW5kZXggOGRhNDU0YTE3Yjc3Li5mM2RhMWMyMTRhN2MgMTAwNjQ0Cj4gLS0t IGEvZHJpdmVycy9ncHUvZHJtL21lc29uL21lc29uX2Rydi5jCj4gKysrIGIvZHJpdmVycy9ncHUv ZHJtL21lc29uL21lc29uX2Rydi5jCj4gQEAgLTQ5MCw2ICs0OTAsMTMgQEAgc3RhdGljIGludCBt ZXNvbl9kcnZfcHJvYmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikKPiAgIAlyZXR1cm4g MDsKPiAgIH07Cj4gICAKPiArc3RhdGljIGludCBtZXNvbl9kcnZfcmVtb3ZlKHN0cnVjdCBwbGF0 Zm9ybV9kZXZpY2UgKnBkZXYpCj4gK3sKPiArCWNvbXBvbmVudF9tYXN0ZXJfZGVsKCZwZGV2LT5k ZXYsICZtZXNvbl9kcnZfbWFzdGVyX29wcyk7Cj4gKwo+ICsJcmV0dXJuIDA7Cj4gK30KPiArCj4g ICBzdGF0aWMgc3RydWN0IG1lc29uX2RybV9tYXRjaF9kYXRhIG1lc29uX2RybV9neGJiX2RhdGEg PSB7Cj4gICAJLmNvbXBhdCA9IFZQVV9DT01QQVRJQkxFX0dYQkIsCj4gICB9Owo+IEBAIC01Mjcs NiArNTM0LDcgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBkZXZfcG1fb3BzIG1lc29uX2Rydl9wbV9v cHMgPSB7Cj4gICAKPiAgIHN0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZHJpdmVyIG1lc29uX2RybV9w bGF0Zm9ybV9kcml2ZXIgPSB7Cj4gICAJLnByb2JlICAgICAgPSBtZXNvbl9kcnZfcHJvYmUsCj4g KwkucmVtb3ZlICAgICA9IG1lc29uX2Rydl9yZW1vdmUsCj4gICAJLnNodXRkb3duICAgPSBtZXNv bl9kcnZfc2h1dGRvd24sCj4gICAJLmRyaXZlciAgICAgPSB7Cj4gICAJCS5uYW1lCT0gIm1lc29u LWRybSIsCgpSZXZpZXdlZC1ieTogTmVpbCBBcm1zdHJvbmcgPG5laWwuYXJtc3Ryb25nQGxpbmFy by5vcmc+CgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18K bGludXgtYW1sb2dpYyBtYWlsaW5nIGxpc3QKbGludXgtYW1sb2dpY0BsaXN0cy5pbmZyYWRlYWQu b3JnCmh0dHA6Ly9saXN0cy5pbmZyYWRlYWQub3JnL21haWxtYW4vbGlzdGluZm8vbGludXgtYW1s b2dpYwo=