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 1892CC77B7E for ; Sat, 27 May 2023 20:33:15 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229516AbjE0UdM (ORCPT ); Sat, 27 May 2023 16:33:12 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:55078 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229471AbjE0UdK (ORCPT ); Sat, 27 May 2023 16:33:10 -0400 Received: from mail-vs1-xe2d.google.com (mail-vs1-xe2d.google.com [IPv6:2607:f8b0:4864:20::e2d]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id CEE30B1; Sat, 27 May 2023 13:33:08 -0700 (PDT) Received: by mail-vs1-xe2d.google.com with SMTP id ada2fe7eead31-4397b040c8fso1121258137.0; Sat, 27 May 2023 13:33:08 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1685219588; x=1687811588; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=DphEniiV7+L9T07hsrZpWRu6Se0vRycld7BbJ4F2i5s=; b=O7rUqk+3zdR02SJ3nc0i0gjUm5pD7ypN8bPLk+lpEOfkSamIjLqdcIOrFJnJlbSCTA RDiaBSqFchS1EXo3a2H1RpsvowA5BEvvQUiucW7pqm+MyTXfNMeAeho2hu3j8ny+MhP7 zIICmLCp61XHa++z3WCZL/IQkYbS4nyTO8RFLhoMwv3DKxiJ7eWTQAKT4VupGNr4s/XI OEWXm7aJb1rRiWY2XHan2WrpxzNO4M6L36E1adarpiQu0vyMAFQ0nffznAAwvDY2iP1m ylTtFUjLLvtF2YJTUojoiiX2SrwnPPNzXRpZjyAf+w476QE3yeFuYxckR/0CTE4gkle9 NbAQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1685219588; x=1687811588; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=DphEniiV7+L9T07hsrZpWRu6Se0vRycld7BbJ4F2i5s=; b=l8FPo3Kid4r7EFOVute5tEA/DPPTpLGAm/6AMPbudV/q6WKTj6mEL7prvI5yyXTQz+ lk0+gaugzsrDNXSxI09HCHsmQarb0pK/kIwNn2I0h9S7bFxW+CQTbbKvza1NvdTVIBgP fia5jI5WPqZD1szA1R1sw9hpxcXLdfT31DdlPh2bSz56KGu/RtPfyVeMB8uXR3nvmGkV pHFmTe4u3OpzzZXyZuFRSGlKHw5FR7LGdnhmCcaa9PFSqZw8g0XL1m+BnrA4c7RHPlLr c0IW4NoLUcymjOO+XJMEXTNKIar08KB2FmOFU5CwrWM7LBTvZSvalK7rsITg8Uw2R0SY NC8A== X-Gm-Message-State: AC+VfDwSIEi/p8CMV8NBfL5SUrGygiMHBwuHfy47Qc79wglFO7u3HdO7 +9n6hs5ksy11HJKgNm/LfIaEC4Qau/kMYkyZE5k= X-Google-Smtp-Source: ACHHUZ7j1USGL3o1axHHccs3q8ZcTSSYWRerLMuMhHfd26USaqLqm73fyuhAS9F7rRZjTkKazWJv909u45/+K0wqiV8= X-Received: by 2002:a67:f2c9:0:b0:42c:543a:ab2a with SMTP id a9-20020a67f2c9000000b0042c543aab2amr1973157vsn.35.1685219587791; Sat, 27 May 2023 13:33:07 -0700 (PDT) MIME-Version: 1.0 References: <00000000000037341d05fc460fa6@google.com> In-Reply-To: From: Willem de Bruijn Date: Sat, 27 May 2023 16:32:31 -0400 Message-ID: Subject: Re: [syzbot] [net?] KASAN: invalid-access Read in __packet_get_status To: syzbot Cc: bpf@vger.kernel.org, davem@davemloft.net, edumazet@google.com, kuba@kernel.org, linux-kernel@vger.kernel.org, netdev@vger.kernel.org, pabeni@redhat.com, syzkaller-bugs@googlegroups.com, linux-arm-kernel@lists.infradead.org Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Mon, May 22, 2023 at 12:19=E2=80=AFPM Willem de Bruijn wrote: > > On Mon, May 22, 2023 at 10:52=E2=80=AFAM Willem de Bruijn > wrote: > > > > On Mon, May 22, 2023 at 6:51=E2=80=AFAM syzbot > > wrote: > > > > > > Hello, > > > > > > syzbot found the following issue on: > > > > > > HEAD commit: 2d1bcbc6cd70 Merge tag 'probes-fixes-v6.4-rc1' of git= ://gi.. > > > git tree: upstream > > > console output: https://syzkaller.appspot.com/x/log.txt?x=3D154b8fa12= 80000 > > > kernel config: https://syzkaller.appspot.com/x/.config?x=3D51dd28037= b2a55f > > > dashboard link: https://syzkaller.appspot.com/bug?extid=3D64b0f633159= fde08e1f1 > > > compiler: aarch64-linux-gnu-gcc (Debian 10.2.1-6) 10.2.1 202101= 10, GNU ld (GNU Binutils for Debian) 2.35.2 > > > userspace arch: arm64 > > > syz repro: https://syzkaller.appspot.com/x/repro.syz?x=3D12b6382= e280000 > > > C reproducer: https://syzkaller.appspot.com/x/repro.c?x=3D17fd0aee2= 80000 > > > > > > Downloadable assets: > > > disk image (non-bootable): https://storage.googleapis.com/syzbot-asse= ts/384ffdcca292/non_bootable_disk-2d1bcbc6.raw.xz > > > vmlinux: https://storage.googleapis.com/syzbot-assets/d2e21a43e11e/vm= linux-2d1bcbc6.xz > > > kernel image: https://storage.googleapis.com/syzbot-assets/49e0b029f9= af/Image-2d1bcbc6.gz.xz > > > > > > IMPORTANT: if you fix the issue, please add the following tag to the = commit: > > > Reported-by: syzbot+64b0f633159fde08e1f1@syzkaller.appspotmail.com > > > > > > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > > > BUG: KASAN: invalid-access in __packet_get_status+0x70/0xe0 net/packe= t/af_packet.c:438 > > > > The offending line is the last one in > > > > " > > static int __packet_get_status(const struct packet_sock *po, void *fram= e) > > { > > union tpacket_uhdr h; > > > > smp_rmb(); > > > > h.raw =3D frame; > > switch (po->tp_version) { > > case TPACKET_V1: > > flush_dcache_page(pgv_to_page(&h.h1->tp_status)); > > return h.h1->tp_status; > > case TPACKET_V2: > > flush_dcache_page(pgv_to_page(&h.h2->tp_status)); > > " > > > > The reproducer is very small: > > > > " > > // socket(PF_PACKET, SOCK_DGRAM, htons(ETH_P_ALL); > > r0 =3D socket$packet(0x11, 0x2, 0x300) > > > > // setsockopt PACKET_RX_RING with same block and frame sizes and counts > > setsockopt$packet_rx_ring(r0, 0x107, 0x5, > > &(0x7f0000000040)=3D@req3=3D{0x8000, 0x200, 0x80, 0x20000}, 0x1c) > > > > // excessive length, too many bits in prot, MAP_SHARED | MAP_ANONYMOUS > > mmap(&(0x7f0000568000/0x2000)=3Dnil, 0x1000000, 0x20567fff, 0x11, r0, 0= x0) > > " > > > > What is odd here is that the program never sets packet version > > explicitly, and the default is TPACKET_V1. > > The test is marked as repeat. > > One possibility is that there is a race between packet arrival calling > flush_dcache_page and user mmap setup/teardown. That would exhibit as > flakiness. > > ARM flush_dcache_page is quite outside my networking comfort zone. The accessed memory is using ARM MTE tags. It appears that the memory is accessed with the wrong tag: do_tag_check_fault+0x78/0x8c arch/arm64/mm/fault.c:791 do_mem_abort+0x44/0x94 arch/arm64/mm/fault.c:867 el1_abort+0x40/0x60 arch/arm64/kernel/entry-common.c:367 el1h_64_sync_handler+0xd8/0xe4 arch/arm64/kernel/entry-common.c:427 el1h_64_sync+0x64/0x68 arch/arm64/kernel/entry.S:586 __packet_get_status+0x70/0xe0 net/packet/af_packet.c:438 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 458F4C77B7E for ; Sat, 27 May 2023 20:33:40 +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:Cc:To:Subject:Message-ID:Date:From: In-Reply-To:References:MIME-Version:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=6gg/IF7mtf8x42Cm2tztc3t9KPoqPkeitsvxCpeyqMM=; b=03zSiyA9OxqT91 slTHHmPZ7+4w0O09O2/C+cY3kGH6PMWbimDy03gFdx4v0pD9QKpFw4ChPBTWZa9PAJLGKkIgCugY+ 5GJZGRwKDmwMSbtlZkKy4/56fWqwspwBysDGEIKwTYROrluWMGvOW42OPxHPaxeNB6tRU0va6FISa GBcI6EZ93FJxtpX5/KSXC7uAmRf1ha5CDExfffqNvvveVJKy3nhIfaB6t1EUVVPNA8Hd7qtWJ7fuG Z4hj0inMmjk2f4vYQAwinHFjFg7ZeTTiDbQgVHRxwkZ0c4ULHHTzNCRY9Jn4goLoMez11yW/Dq0sz /X20H383POsjs3Pn1JlA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.96 #2 (Red Hat Linux)) id 1q30bB-006LPu-0k; Sat, 27 May 2023 20:33:13 +0000 Received: from mail-vs1-xe2a.google.com ([2607:f8b0:4864:20::e2a]) by bombadil.infradead.org with esmtps (Exim 4.96 #2 (Red Hat Linux)) id 1q30b7-006LP2-1j for linux-arm-kernel@lists.infradead.org; Sat, 27 May 2023 20:33:11 +0000 Received: by mail-vs1-xe2a.google.com with SMTP id ada2fe7eead31-437e4f09268so1111132137.2 for ; Sat, 27 May 2023 13:33:08 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1685219588; x=1687811588; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=DphEniiV7+L9T07hsrZpWRu6Se0vRycld7BbJ4F2i5s=; b=O7rUqk+3zdR02SJ3nc0i0gjUm5pD7ypN8bPLk+lpEOfkSamIjLqdcIOrFJnJlbSCTA RDiaBSqFchS1EXo3a2H1RpsvowA5BEvvQUiucW7pqm+MyTXfNMeAeho2hu3j8ny+MhP7 zIICmLCp61XHa++z3WCZL/IQkYbS4nyTO8RFLhoMwv3DKxiJ7eWTQAKT4VupGNr4s/XI OEWXm7aJb1rRiWY2XHan2WrpxzNO4M6L36E1adarpiQu0vyMAFQ0nffznAAwvDY2iP1m ylTtFUjLLvtF2YJTUojoiiX2SrwnPPNzXRpZjyAf+w476QE3yeFuYxckR/0CTE4gkle9 NbAQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1685219588; x=1687811588; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=DphEniiV7+L9T07hsrZpWRu6Se0vRycld7BbJ4F2i5s=; b=gEySL6yUvzs/YtQh/YTBcRZKPpQXGhZ1t/BKkxg6MxSUE8SMUqbyrI7qyDhrhLYH53 xpANad0UESysjOu1Lr2NuI91k5cdqEdw++Zg2S1VBhuELAap3QS88+dcnQgc2ytWBTJ4 v9j0DsVkF82qiNsCQm9O+uKmhNg3iYOKweeOj0SRxDRCNHVre79HeIW47gsM0clr1zF0 g0ubWQxuERfl6bb4imrVHav5s1wqh4j+LOLhipASy0egDCk2kbFH/4iD6AlaImov/GZz X+YWa6Vkdua+KrILXyWr9KT8V1Y8htL5JowEMw2hJfEcogAAY6dbT8JdwqTuV3tWrhBJ Qh6A== X-Gm-Message-State: AC+VfDyRLaPxvk07wVeKQanDST/Ihu4rp5TY0GtiRdDaSBruAfhZIm2A ZdC//Po8Tr+kBMZHcWMKovUMUZY89suhTllydnU= X-Google-Smtp-Source: ACHHUZ7j1USGL3o1axHHccs3q8ZcTSSYWRerLMuMhHfd26USaqLqm73fyuhAS9F7rRZjTkKazWJv909u45/+K0wqiV8= X-Received: by 2002:a67:f2c9:0:b0:42c:543a:ab2a with SMTP id a9-20020a67f2c9000000b0042c543aab2amr1973157vsn.35.1685219587791; Sat, 27 May 2023 13:33:07 -0700 (PDT) MIME-Version: 1.0 References: <00000000000037341d05fc460fa6@google.com> In-Reply-To: From: Willem de Bruijn Date: Sat, 27 May 2023 16:32:31 -0400 Message-ID: Subject: Re: [syzbot] [net?] KASAN: invalid-access Read in __packet_get_status To: syzbot Cc: bpf@vger.kernel.org, davem@davemloft.net, edumazet@google.com, kuba@kernel.org, linux-kernel@vger.kernel.org, netdev@vger.kernel.org, pabeni@redhat.com, syzkaller-bugs@googlegroups.com, linux-arm-kernel@lists.infradead.org X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20230527_133309_574908_F5A06F08 X-CRM114-Status: GOOD ( 18.05 ) 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: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org T24gTW9uLCBNYXkgMjIsIDIwMjMgYXQgMTI6MTnigK9QTSBXaWxsZW0gZGUgQnJ1aWpuCjx3aWxs ZW1kZWJydWlqbi5rZXJuZWxAZ21haWwuY29tPiB3cm90ZToKPgo+IE9uIE1vbiwgTWF5IDIyLCAy MDIzIGF0IDEwOjUy4oCvQU0gV2lsbGVtIGRlIEJydWlqbgo+IDx3aWxsZW1kZWJydWlqbi5rZXJu ZWxAZ21haWwuY29tPiB3cm90ZToKPiA+Cj4gPiBPbiBNb24sIE1heSAyMiwgMjAyMyBhdCA2OjUx 4oCvQU0gc3l6Ym90Cj4gPiA8c3l6Ym90KzY0YjBmNjMzMTU5ZmRlMDhlMWYxQHN5emthbGxlci5h cHBzcG90bWFpbC5jb20+IHdyb3RlOgo+ID4gPgo+ID4gPiBIZWxsbywKPiA+ID4KPiA+ID4gc3l6 Ym90IGZvdW5kIHRoZSBmb2xsb3dpbmcgaXNzdWUgb246Cj4gPiA+Cj4gPiA+IEhFQUQgY29tbWl0 OiAgICAyZDFiY2JjNmNkNzAgTWVyZ2UgdGFnICdwcm9iZXMtZml4ZXMtdjYuNC1yYzEnIG9mIGdp dDovL2dpLi4KPiA+ID4gZ2l0IHRyZWU6ICAgICAgIHVwc3RyZWFtCj4gPiA+IGNvbnNvbGUgb3V0 cHV0OiBodHRwczovL3N5emthbGxlci5hcHBzcG90LmNvbS94L2xvZy50eHQ/eD0xNTRiOGZhMTI4 MDAwMAo+ID4gPiBrZXJuZWwgY29uZmlnOiAgaHR0cHM6Ly9zeXprYWxsZXIuYXBwc3BvdC5jb20v eC8uY29uZmlnP3g9NTFkZDI4MDM3YjJhNTVmCj4gPiA+IGRhc2hib2FyZCBsaW5rOiBodHRwczov L3N5emthbGxlci5hcHBzcG90LmNvbS9idWc/ZXh0aWQ9NjRiMGY2MzMxNTlmZGUwOGUxZjEKPiA+ ID4gY29tcGlsZXI6ICAgICAgIGFhcmNoNjQtbGludXgtZ251LWdjYyAoRGViaWFuIDEwLjIuMS02 KSAxMC4yLjEgMjAyMTAxMTAsIEdOVSBsZCAoR05VIEJpbnV0aWxzIGZvciBEZWJpYW4pIDIuMzUu Mgo+ID4gPiB1c2Vyc3BhY2UgYXJjaDogYXJtNjQKPiA+ID4gc3l6IHJlcHJvOiAgICAgIGh0dHBz Oi8vc3l6a2FsbGVyLmFwcHNwb3QuY29tL3gvcmVwcm8uc3l6P3g9MTJiNjM4MmUyODAwMDAKPiA+ ID4gQyByZXByb2R1Y2VyOiAgIGh0dHBzOi8vc3l6a2FsbGVyLmFwcHNwb3QuY29tL3gvcmVwcm8u Yz94PTE3ZmQwYWVlMjgwMDAwCj4gPiA+Cj4gPiA+IERvd25sb2FkYWJsZSBhc3NldHM6Cj4gPiA+ IGRpc2sgaW1hZ2UgKG5vbi1ib290YWJsZSk6IGh0dHBzOi8vc3RvcmFnZS5nb29nbGVhcGlzLmNv bS9zeXpib3QtYXNzZXRzLzM4NGZmZGNjYTI5Mi9ub25fYm9vdGFibGVfZGlzay0yZDFiY2JjNi5y YXcueHoKPiA+ID4gdm1saW51eDogaHR0cHM6Ly9zdG9yYWdlLmdvb2dsZWFwaXMuY29tL3N5emJv dC1hc3NldHMvZDJlMjFhNDNlMTFlL3ZtbGludXgtMmQxYmNiYzYueHoKPiA+ID4ga2VybmVsIGlt YWdlOiBodHRwczovL3N0b3JhZ2UuZ29vZ2xlYXBpcy5jb20vc3l6Ym90LWFzc2V0cy80OWUwYjAy OWY5YWYvSW1hZ2UtMmQxYmNiYzYuZ3oueHoKPiA+ID4KPiA+ID4gSU1QT1JUQU5UOiBpZiB5b3Ug Zml4IHRoZSBpc3N1ZSwgcGxlYXNlIGFkZCB0aGUgZm9sbG93aW5nIHRhZyB0byB0aGUgY29tbWl0 Ogo+ID4gPiBSZXBvcnRlZC1ieTogc3l6Ym90KzY0YjBmNjMzMTU5ZmRlMDhlMWYxQHN5emthbGxl ci5hcHBzcG90bWFpbC5jb20KPiA+ID4KPiA+ID4gPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Cj4gPiA+IEJVRzogS0FTQU46 IGludmFsaWQtYWNjZXNzIGluIF9fcGFja2V0X2dldF9zdGF0dXMrMHg3MC8weGUwIG5ldC9wYWNr ZXQvYWZfcGFja2V0LmM6NDM4Cj4gPgo+ID4gVGhlIG9mZmVuZGluZyBsaW5lIGlzIHRoZSBsYXN0 IG9uZSBpbgo+ID4KPiA+ICIKPiA+IHN0YXRpYyBpbnQgX19wYWNrZXRfZ2V0X3N0YXR1cyhjb25z dCBzdHJ1Y3QgcGFja2V0X3NvY2sgKnBvLCB2b2lkICpmcmFtZSkKPiA+IHsKPiA+ICAgICAgICAg dW5pb24gdHBhY2tldF91aGRyIGg7Cj4gPgo+ID4gICAgICAgICBzbXBfcm1iKCk7Cj4gPgo+ID4g ICAgICAgICBoLnJhdyA9IGZyYW1lOwo+ID4gICAgICAgICBzd2l0Y2ggKHBvLT50cF92ZXJzaW9u KSB7Cj4gPiAgICAgICAgIGNhc2UgVFBBQ0tFVF9WMToKPiA+ICAgICAgICAgICAgICAgICBmbHVz aF9kY2FjaGVfcGFnZShwZ3ZfdG9fcGFnZSgmaC5oMS0+dHBfc3RhdHVzKSk7Cj4gPiAgICAgICAg ICAgICAgICAgcmV0dXJuIGguaDEtPnRwX3N0YXR1czsKPiA+ICAgICAgICAgY2FzZSBUUEFDS0VU X1YyOgo+ID4gICAgICAgICAgICAgICAgIGZsdXNoX2RjYWNoZV9wYWdlKHBndl90b19wYWdlKCZo LmgyLT50cF9zdGF0dXMpKTsKPiA+ICIKPiA+Cj4gPiBUaGUgcmVwcm9kdWNlciBpcyB2ZXJ5IHNt YWxsOgo+ID4KPiA+ICIKPiA+IC8vIHNvY2tldChQRl9QQUNLRVQsIFNPQ0tfREdSQU0sIGh0b25z KEVUSF9QX0FMTCk7Cj4gPiByMCA9IHNvY2tldCRwYWNrZXQoMHgxMSwgMHgyLCAweDMwMCkKPiA+ Cj4gPiAvLyBzZXRzb2Nrb3B0IFBBQ0tFVF9SWF9SSU5HIHdpdGggc2FtZSBibG9jayBhbmQgZnJh bWUgc2l6ZXMgYW5kIGNvdW50cwo+ID4gc2V0c29ja29wdCRwYWNrZXRfcnhfcmluZyhyMCwgMHgx MDcsIDB4NSwKPiA+ICYoMHg3ZjAwMDAwMDAwNDApPUByZXEzPXsweDgwMDAsIDB4MjAwLCAweDgw LCAweDIwMDAwfSwgMHgxYykKPiA+Cj4gPiAvLyBleGNlc3NpdmUgbGVuZ3RoLCB0b28gbWFueSBi aXRzIGluIHByb3QsIE1BUF9TSEFSRUQgfCBNQVBfQU5PTllNT1VTCj4gPiBtbWFwKCYoMHg3ZjAw MDA1NjgwMDAvMHgyMDAwKT1uaWwsIDB4MTAwMDAwMCwgMHgyMDU2N2ZmZiwgMHgxMSwgcjAsIDB4 MCkKPiA+ICIKPiA+Cj4gPiBXaGF0IGlzIG9kZCBoZXJlIGlzIHRoYXQgdGhlIHByb2dyYW0gbmV2 ZXIgc2V0cyBwYWNrZXQgdmVyc2lvbgo+ID4gZXhwbGljaXRseSwgYW5kIHRoZSBkZWZhdWx0IGlz IFRQQUNLRVRfVjEuCj4KPiBUaGUgdGVzdCBpcyBtYXJrZWQgYXMgcmVwZWF0Lgo+Cj4gT25lIHBv c3NpYmlsaXR5IGlzIHRoYXQgdGhlcmUgaXMgYSByYWNlIGJldHdlZW4gcGFja2V0IGFycml2YWwg Y2FsbGluZwo+IGZsdXNoX2RjYWNoZV9wYWdlIGFuZCB1c2VyIG1tYXAgc2V0dXAvdGVhcmRvd24u IFRoYXQgd291bGQgZXhoaWJpdCBhcwo+IGZsYWtpbmVzcy4KPgo+IEFSTSBmbHVzaF9kY2FjaGVf cGFnZSBpcyBxdWl0ZSBvdXRzaWRlIG15IG5ldHdvcmtpbmcgY29tZm9ydCB6b25lLgoKVGhlIGFj Y2Vzc2VkIG1lbW9yeSBpcyB1c2luZyBBUk0gTVRFIHRhZ3MuIEl0IGFwcGVhcnMgdGhhdCB0aGUg bWVtb3J5CmlzIGFjY2Vzc2VkIHdpdGggdGhlIHdyb25nIHRhZzoKCiBkb190YWdfY2hlY2tfZmF1 bHQrMHg3OC8weDhjIGFyY2gvYXJtNjQvbW0vZmF1bHQuYzo3OTEKIGRvX21lbV9hYm9ydCsweDQ0 LzB4OTQgYXJjaC9hcm02NC9tbS9mYXVsdC5jOjg2NwogZWwxX2Fib3J0KzB4NDAvMHg2MCBhcmNo L2FybTY0L2tlcm5lbC9lbnRyeS1jb21tb24uYzozNjcKIGVsMWhfNjRfc3luY19oYW5kbGVyKzB4 ZDgvMHhlNCBhcmNoL2FybTY0L2tlcm5lbC9lbnRyeS1jb21tb24uYzo0MjcKIGVsMWhfNjRfc3lu YysweDY0LzB4NjggYXJjaC9hcm02NC9rZXJuZWwvZW50cnkuUzo1ODYKIF9fcGFja2V0X2dldF9z dGF0dXMrMHg3MC8weGUwIG5ldC9wYWNrZXQvYWZfcGFja2V0LmM6NDM4CgpfX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpsaW51eC1hcm0ta2VybmVsIG1haWxp bmcgbGlzdApsaW51eC1hcm0ta2VybmVsQGxpc3RzLmluZnJhZGVhZC5vcmcKaHR0cDovL2xpc3Rz LmluZnJhZGVhZC5vcmcvbWFpbG1hbi9saXN0aW5mby9saW51eC1hcm0ta2VybmVsCg==