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 kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id B6CEEC3DA4A for ; Tue, 20 Aug 2024 08:48:02 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 2509F6B007B; Tue, 20 Aug 2024 04:48:02 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 1FFEA6B0082; Tue, 20 Aug 2024 04:48:02 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 0C8456B0083; Tue, 20 Aug 2024 04:48:02 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0012.hostedemail.com [216.40.44.12]) by kanga.kvack.org (Postfix) with ESMTP id E41756B007B for ; Tue, 20 Aug 2024 04:48:01 -0400 (EDT) Received: from smtpin01.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay05.hostedemail.com (Postfix) with ESMTP id 995EC418CC for ; Tue, 20 Aug 2024 08:48:01 +0000 (UTC) X-FDA: 82471996362.01.8422E08 Received: from mail-lj1-f179.google.com (mail-lj1-f179.google.com [209.85.208.179]) by imf10.hostedemail.com (Postfix) with ESMTP id AAE48C0026 for ; Tue, 20 Aug 2024 08:47:59 +0000 (UTC) Authentication-Results: imf10.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=G0bQGrr5; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf10.hostedemail.com: domain of ryncsn@gmail.com designates 209.85.208.179 as permitted sender) smtp.mailfrom=ryncsn@gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1724143616; a=rsa-sha256; cv=none; b=bVdaMidVNqZl8Zoo5VGbUPiU7LtGjK2VAOB+w26b4eTj/UZpKnWynDx3Ct4p1gBEG5bYTl 0CYdpKsYeOxe4BQDr2YFH0RLH4aS5ehR/DRekOe0b5mELWT2vPbX7wyhmQOqsTaUKRw3PN oROeTn4rxQ2R9mhxfdqZi4YgYC/Wq6s= ARC-Authentication-Results: i=1; imf10.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=G0bQGrr5; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf10.hostedemail.com: domain of ryncsn@gmail.com designates 209.85.208.179 as permitted sender) smtp.mailfrom=ryncsn@gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1724143616; h=from:from: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: in-reply-to:in-reply-to:references:references:dkim-signature; bh=qXpflYNT5XpQOIvf3DmgQ5O9cWtK4wyjnX6n23eJHks=; b=8AZZlcM1Unvtxu3M0BzRdSruZR0NzU/dwPx9BWZGulMI1OCrvWuD1VbfzYNGycev38jCIm 6p4FDLwMQBVgW9pbV+K9yFL3EyH2E4OVs8zBWK+MgSmhU0Dbf2w/4GhVKqs/bmh2FC8oSx SN4yyaL9tcJ8GKFvSgZK6oVoMryocrc= Received: by mail-lj1-f179.google.com with SMTP id 38308e7fff4ca-2f15dd0b489so73125171fa.3 for ; Tue, 20 Aug 2024 01:47:59 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1724143678; x=1724748478; darn=kvack.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=qXpflYNT5XpQOIvf3DmgQ5O9cWtK4wyjnX6n23eJHks=; b=G0bQGrr5KGfP3sBWRcizZva/UxictPW84X0zKS/6yzkVWjLpE44Lxd0LQl7MsswdZE j/A9cv+aHxyYQL9CPHMg7UlCiem8JQ+oCqd9yv6hsx3xhsEZhm0zT5FxXNtHYLpl4zTl 0uFJCXGzXgv7EgWiGzocEXRw2oV5nsbO0RbU67cwYg5kzRUg5e+JjDacx9hHhMfNGRQB +r/ot2L3acB3w9J2Eg/DSDXhbNh+cCCUq/N8zM72A8AeF0bnrCKW5GcMOB3QzvTziJk/ 86xxGXJyuLnbRt69ND5esCKPJWxMo3OShvr/XYKVkRVhJ+I2suQCARX0HfQWgZw8evmd kLUw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1724143678; x=1724748478; h=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=qXpflYNT5XpQOIvf3DmgQ5O9cWtK4wyjnX6n23eJHks=; b=ty0ULVGWDrD52aq7OLIdNuuUAreznzMFblSUhvkcpObn/AYB9j4J1yxV7JDuxqwX5k hK5C+hXfWyE7Du82Dzga61mIdopaMfAU+zsCSAlb74pGgg/rymWc7KQPCYHgUJokUfz3 P3zlkhJhUMySFwo8ENS6AfeYI50R65mdRSXck9MHtJgXmPQuA5RFbaHwkgxBFbQxKsWW ALaXUxM5lis4srRQR9IeOyHyS6FrcS8EKK9p9HSBI0htBwSTPPH2qDzLFzSC/UZgcLWr tEXDjqF20FuHdz/jzmeqwE+g/+zBC/lrzZhy/vFWjn+0HlP0X6vQLnW4X3qxnejaIqUw CrMQ== X-Forwarded-Encrypted: i=1; AJvYcCVUTPtiWKPeAe6PahZHhq4nNRJw45HEOkRC6KwiGuuxC4t2hhiQJ3huScN2RW8xLHpomJx4z4bGr2EE3leRawjW+rs= X-Gm-Message-State: AOJu0YyIxabWmmd2Y7B0vR52AKY9xIsUn7TP4mGZ35oTFMSc4kE6Sq3e 7CN9TG5UnKhk3C09H47WIRsl0bGBQrszyHRM08orCx9PEjxpU9VM372MqnwF5Qf4qYgavFaMUnC 5xZflHD6RY2Y2OC6Du+jLIIs6r9Y= X-Google-Smtp-Source: AGHT+IE7iYPj7x4Hx3ouqLLIAKXJcRs4joy4slu2AqtYASi/eHNM4XfQtbLYyKHoRZISSfQiqSLUTi0gUzC4fp+iG8U= X-Received: by 2002:a05:651c:a0a:b0:2f3:cbc3:b093 with SMTP id 38308e7fff4ca-2f3cf4caf48mr61950241fa.43.1724143677342; Tue, 20 Aug 2024 01:47:57 -0700 (PDT) MIME-Version: 1.0 References: <00000000000060cf79061fd24ca8@google.com> In-Reply-To: From: Kairui Song Date: Tue, 20 Aug 2024 16:47:40 +0800 Message-ID: Subject: Re: [syzbot] [mm?] WARNING in zswap_swapoff To: Yosry Ahmed , Barry Song <21cnbao@gmail.com> Cc: syzbot , akpm@linux-foundation.org, chengming.zhou@linux.dev, hannes@cmpxchg.org, linux-kernel@vger.kernel.org, linux-mm@kvack.org, nphamcs@gmail.com, syzkaller-bugs@googlegroups.com, Chris Li , Ying , Ryan Roberts Content-Type: multipart/mixed; boundary="0000000000006e2a9e0620197bb4" X-Rspamd-Server: rspam12 X-Rspamd-Queue-Id: AAE48C0026 X-Stat-Signature: nnjewq5ay5qgptr3ajk5hwrd3gdp3bks X-Rspam-User: X-HE-Tag: 1724143679-415035 X-HE-Meta: U2FsdGVkX19tDIUSD0MrI2lzaD3gCHi/J1TaKxkeP52fqux8nxyJlrM8riGJ9CPV/n12TooR6lHtrpNQwyP66E3Zyzmtmq5xGayLYouX28IcHp+O/rm/F2U6723LjKDXYspk/0G5DN40p05KZfPZh+OOxdfxaG6YvTOT2W9kKgvx6GGXhhqqhzDNfLlNJeJA8mN2CD0MieVCdDQ5aeUFMykYHtSHeE/F9/oiz3ihWoaZq1oey+9YMcNdTpDEyhLVFjVF0NvtsRq7YyoJu98J17bH9W4sV2+6xdoDj5dXdMtZoTL2mr0vibptvkZyKkHCgSDh44klh2PSMA2mtD5EKCBiqsj6/QIlruKTbhEw+JgeWfDGyYMui1/eLMOKgkKxzUi28bjRKAMqKXoCcD3REPRdCrfxP36jrSaMWNFVxkK9XRz7MxNyUm2mB4r0bd3S0LncI1ligPeX7a1hcn6sXu6K0L54pvDZSlRGbeowVjUpMkeC21bgdYVAg5MO4hvdmXnIeO/eCm3ZCkE/Kb5jvEPFgEDDmrS9xayNYmttA1WISX+KanY1grxD0FH0g9M0gdMfBWyPzkjWAlUZRuYToG2h0xxtFAfVf5RTZOAdnRPinEC95Vqu0bnY0l5qBACrtRsQlOqjAwM8XNfujm8v7f39jl1qEtqycNOhjzn15W1OhtmGBwYLKBFI8iqZA2Y7VVphcWqggh+p8FaVWvBESNaTABgEDXMkvbfK4nW1LrzD30PK+4rKAPDuqkW55eZoGLcCh4ttufCOSBV+KkjcD9hKLzg02zlSI/pu3Brl80p+dscEhnerEM42gdavgK3ENNHuefsSc8ZovWTRsxG5RQHF133/+iOZhJbfwCHLStlzQTbaIgarhn5Jw1+lDSR2qF2dGjqpE862lAQ50jAyBHaYYyhjlK1u9RoFr9UeUmOnJQkOw1PwIzrOCb5z9feJA9S0wZXWAJwACxtc3P1 KYfKGfRO q8rUllfA0gseNHLGJvkwEMZZOyMi5AsNyIGe3tQNWdHOnSuQijCjO1eLDNfu7tpXOXutyc2LI6OE++yKVmKyibKdyQLs6sVLdlKIExyCDgb3XCZ2dADhtVxR10EkNZ1bnvn79PIUJr2DV1swTJzzvyjcxyGltAip+yGE5PAqunmWA/wADuQYnXuOZBR8Eqdnvm7hxS+TSSxuDnK8lfFVKXhK4o1/TjBz5wi8DGthbitJ0Tq2dL1O8vVmXzMOt/R4K33WCE+x02CQFbtr1iFHjcBwKfhEGpJYPkUVhFvkM+r5YCSBeW7q+VfNTsZMQwz0IzpBon6ujpovu+CidU6s1zS0UVYewb1w/d0trBbMLvQ9Mw6eRov3V23OCFSLZc9qNllh5YuQSwVaGCQQ3TOPLyzIvtf7hf+05/1G2XQFhcij6rU6fJZm0mMsYojthWP1yPt68MdOz3IUhHI/qz/+U3Pqayvf+8D4xtoLCzDPK6FiSJmq1S1G+6WZAILvnhNbWoNNpWVWxWdGD4qk6jxEqRysKX8y26GikdY3U8fsVFV0D/Qr9QlsxzJCjJIbUX4XOXD8RYFdbvR9IBnmSgZ6Id9TC40Ej06sVsmfGCECrzp/L6B1WXkqv2y0iwD4GeVbKikCi48QB1I+IoGkmY015z4vCfTHWMGa6IJIyC8TumLTNcwZx0VWYhjVczURKU+ZAdny0tQV8AT88wvYIcRACN5ywGfzKUjLESphMPcCsHTFpoaJoXcikm3SbPjvSvTmuRMUEPcMRTKEzAG5cOofvZ9uxzIPCo6r9C3A4jR3qkuUWfm5Ik6Ae9NuWaL96zzMmOdGanXgWdx+3WY5UW58qfanUzRGHZ8PQEnmpa2oEcbVDE0kop35XMCZYeWDJWh98X6iVbhzAH2xVYTW1cKmVF3jnrAe7nYf2rnIzXFbHWKVzZeQN5uQ6ae6wzkpdYj6ZiLPTa8jKgQ9Bt/O4p9CyHkieHPRD eDFNm9J2 YsbCWs/tcQ7Tza2Z7054YfML8h6GZ0HgD4K7ejd0sKFXVlefBcdg1DuUeLNbqdCAFDNZvR5YYbfqerYejSX30O4uJ9+2pAnsTeaNbM0rb75wFsV29SMJDMU6Gh6v4u6B66H6x5b/0AWE/2JmOdjQRA== X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: --0000000000006e2a9e0620197bb4 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Tue, Aug 20, 2024 at 4:13=E2=80=AFAM Yosry Ahmed = wrote: > On Fri, Aug 16, 2024 at 12:52=E2=80=AFPM syzbot > wrote: > > > > Hello, > > > > syzbot found the following issue on: > > > > HEAD commit: 367b5c3d53e5 Add linux-next specific files for 20240816 I can't find this commit, seems this commit is not in linux-next any more? > > git tree: linux-next > > console output: https://syzkaller.appspot.com/x/log.txt?x=3D12489105980= 000 > > kernel config: https://syzkaller.appspot.com/x/.config?x=3D61ba6f3b22e= e5467 > > dashboard link: https://syzkaller.appspot.com/bug?extid=3Dce6029250d7fd= 4d0476d > > compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for D= ebian) 2.40 > > > > Unfortunately, I don't have any reproducer for this issue yet. > > > > Downloadable assets: > > disk image: https://storage.googleapis.com/syzbot-assets/0b1b4e3cad3c/d= isk-367b5c3d.raw.xz > > vmlinux: https://storage.googleapis.com/syzbot-assets/5bb090f7813c/vmli= nux-367b5c3d.xz > > kernel image: https://storage.googleapis.com/syzbot-assets/6674cb0709b1= /bzImage-367b5c3d.xz > > > > IMPORTANT: if you fix the issue, please add the following tag to the co= mmit: > > Reported-by: syzbot+ce6029250d7fd4d0476d@syzkaller.appspotmail.com > > > > ------------[ cut here ]------------ > > WARNING: CPU: 0 PID: 11298 at mm/zswap.c:1700 zswap_swapoff+0x11b/0x2b0= mm/zswap.c:1700 > > Modules linked in: > > CPU: 0 UID: 0 PID: 11298 Comm: swapoff Not tainted 6.11.0-rc3-next-2024= 0816-syzkaller #0 > > Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS= Google 06/27/2024 > > RIP: 0010:zswap_swapoff+0x11b/0x2b0 mm/zswap.c:1700 > > Code: 74 05 e8 78 73 07 00 4b 83 7c 35 00 00 75 15 e8 1b bd 9e ff 48 ff= c5 49 83 c6 50 83 7c 24 0c 17 76 9b eb 24 e8 06 bd 9e ff 90 <0f> 0b 90 eb = e5 48 8b 0c 24 80 e1 07 80 c1 03 38 c1 7c 90 48 8b 3c > > RSP: 0018:ffffc9000302fa38 EFLAGS: 00010293 > > RAX: ffffffff81f4d66a RBX: dffffc0000000000 RCX: ffff88802c19bc00 > > RDX: 0000000000000000 RSI: 0000000000000002 RDI: ffff888015986248 > > RBP: 0000000000000000 R08: ffffffff81f4d620 R09: 1ffffffff1d476ac > > R10: dffffc0000000000 R11: fffffbfff1d476ad R12: dffffc0000000000 > > R13: ffff888015986200 R14: 0000000000000048 R15: 0000000000000002 > > FS: 00007f9e628a5380(0000) GS:ffff8880b9000000(0000) knlGS:00000000000= 00000 > > CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 > > CR2: 0000001b30f15ff8 CR3: 000000006c5f0000 CR4: 00000000003506f0 > > DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 > > DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400 > > Call Trace: > > > > __do_sys_swapoff mm/swapfile.c:2837 [inline] > > __se_sys_swapoff+0x4653/0x4cf0 mm/swapfile.c:2706 > > do_syscall_x64 arch/x86/entry/common.c:52 [inline] > > do_syscall_64+0xf3/0x230 arch/x86/entry/common.c:83 > > entry_SYSCALL_64_after_hwframe+0x77/0x7f > > RIP: 0033:0x7f9e629feb37 > > Code: 73 01 c3 48 8b 0d f1 52 0d 00 f7 d8 64 89 01 48 83 c8 ff c3 66 2e= 0f 1f 84 00 00 00 00 00 0f 1f 44 00 00 b8 a8 00 00 00 0f 05 <48> 3d 01 f0 = ff ff 73 01 c3 48 8b 0d c1 52 0d 00 f7 d8 64 89 01 48 > > RSP: 002b:00007fff17734f68 EFLAGS: 00000246 ORIG_RAX: 00000000000000a8 > > RAX: ffffffffffffffda RBX: 0000000000000000 RCX: 00007f9e629feb37 > > RDX: 00007f9e62a9e7e8 RSI: 00007f9e62b9beed RDI: 0000563090942a20 > > RBP: 0000563090942a20 R08: 0000000000000000 R09: 77872e07ed164f94 > > R10: 000000000000001f R11: 0000000000000246 R12: 00007fff17735188 > > R13: 00005630909422a0 R14: 0000563073724169 R15: 00007f9e62bdda80 > > > > I am hoping syzbot would find a reproducer and bisect this for us. > Meanwhile, from a high-level it looks to me like we are missing a > zswap_invalidate() call in some paths. > > If I have to guess, I would say it's related to the latest mTHP swap > changes, but I am not following closely. Perhaps one of the following > things happened: > > (1) We are not calling zswap_invalidate() in some invalidation paths. > It used to not be called for the cluster freeing path, so maybe we end > up with some order-0 swap entries in a cluster? or maybe there is an > entirely new invalidation path that does not go through > free_swap_slot() for order-0 entries? > > (2) Some higher order swap entries (i.e. a cluster) end up in zswap > somehow. zswap_store() has a warning to cover that though. Maybe > somehow some swap entries are allocated as a cluster, but then pages > are swapped out one-by-one as order-0 (which can go to zswap), but > then we still free the swap entries as a cluster? Hi Yosry, thanks for the report. There are many mTHP related optimizations recently, for this problem I can reproduce this locally. Can confirm the problem is gone for me after reverting: "mm: attempt to batch free swap entries for zap_pte_range()" Hi Barry, If a set of continuous slots are having the same value, they are considered a mTHP and freed, bypassing the slot cache, and causing zswap leak. This didn't happen in put_swap_folio because that function is expecting an actual mTHP folio behind the slots but free_swap_and_cache_nr is simply walking the slots. For the testing, I actually have to disable mTHP, because linux-next will panic with mTHP due to lack of following fixes: https://lore.kernel.org/linux-mm/a4b1b34f-0d8c-490d-ab00-eaedbf3fe780@gmail= .com/ https://lore.kernel.org/linux-mm/403b7f3c-6e5b-4030-ab1c-3198f36e3f73@gmail= .com/ > > I am not closely following the latest changes so I am not sure. CCing > folks who have done work in that area recently. > > I am starting to think maybe it would be more reliable to just call > zswap_invalidate() for all freed swap entries anyway. Would that be > too expensive? We used to do that before the zswap_invalidate() call > was moved by commit 0827a1fb143f ("mm/zswap: invalidate zswap entry > when swap entry free"), and that was before we started using the > xarray (so it was arguably worse than it would be now). > That might be a good idea, I suggest moving zswap_invalidate to swap_range_free and call it for every freed slot. Below patch can be squash into or put before "mm: attempt to batch free swap entries for zap_pte_range()". --0000000000006e2a9e0620197bb4 Content-Type: application/octet-stream; name="0001-mm-swap-sanitize-zswap-invalidating.patch" Content-Disposition: attachment; filename="0001-mm-swap-sanitize-zswap-invalidating.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_m026an5b0 RnJvbSA3ZTA3NzM2ZGViOTU1YjZmZTEzOTBlM2M2Nzc1MWRhNzc3OTZiNjYwIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBLYWlydWkgU29uZyA8a2Fzb25nQHRlbmNlbnQuY29tPgpEYXRl OiBUdWUsIDIwIEF1ZyAyMDI0IDE2OjE5OjQ1ICswODAwClN1YmplY3Q6IFtQQVRDSF0gbW06IHN3 YXA6IHNhbml0aXplIHpzd2FwIGludmFsaWRhdGluZwoKRnJvbTogS2FpcnVpIFNvbmcgPHJ5bmNz bkBnbWFpbC5jb20+CgpaU1dBUCBkb2Vzbid0IHN1cHBvcnQgbVRIUC9USFAgeWV0LCBzbyB3ZSBh cmUgb25seSBpbnZhbGlkYXRpbmcgb3JkZXIgMAplbnRyaWVzLiBCdXQgdGhpbmcgd2lsbCBjaGFu Z2Ugc29vbiwgc28gY2FsbCB0aGUgaW52YWxpZGF0aW9uIGZvciBldmVyeQpzbG90IHRoYXQgYXJl IGZyZWVkLgoKU2lnbmVkLW9mZi1ieTogS2FpcnVpIFNvbmcgPHJ5bmNzbkBnbWFpbC5jb20+ClNp Z25lZC1vZmYtYnk6IEthaXJ1aSBTb25nIDxrYXNvbmdAdGVuY2VudC5jb20+Ci0tLQogbW0vc3dh cF9zbG90cy5jIHwgMyAtLS0KIG1tL3N3YXBmaWxlLmMgICB8IDQgKy0tLQogMiBmaWxlcyBjaGFu Z2VkLCAxIGluc2VydGlvbigrKSwgNiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9tbS9zd2Fw X3Nsb3RzLmMgYi9tbS9zd2FwX3Nsb3RzLmMKaW5kZXggMTNhYjNiNzcxNDA5Li5kN2JiM2NhYTlk NGUgMTAwNjQ0Ci0tLSBhL21tL3N3YXBfc2xvdHMuYworKysgYi9tbS9zd2FwX3Nsb3RzLmMKQEAg LTI3Myw5ICsyNzMsNiBAQCB2b2lkIGZyZWVfc3dhcF9zbG90KHN3cF9lbnRyeV90IGVudHJ5KQog ewogCXN0cnVjdCBzd2FwX3Nsb3RzX2NhY2hlICpjYWNoZTsKIAotCS8qIExhcmdlIGZvbGlvIHN3 YXAgc2xvdCBpcyBub3QgY292ZXJlZC4gKi8KLQl6c3dhcF9pbnZhbGlkYXRlKGVudHJ5KTsKLQog CWNhY2hlID0gcmF3X2NwdV9wdHIoJnN3cF9zbG90cyk7CiAJaWYgKGxpa2VseSh1c2Vfc3dhcF9z bG90X2NhY2hlICYmIGNhY2hlLT5zbG90c19yZXQpKSB7CiAJCXNwaW5fbG9ja19pcnEoJmNhY2hl LT5mcmVlX2xvY2spOwpkaWZmIC0tZ2l0IGEvbW0vc3dhcGZpbGUuYyBiL21tL3N3YXBmaWxlLmMK aW5kZXggZjk0N2Y0ZGQzMWE5Li4zMWNhOGIxNWE4ZGEgMTAwNjQ0Ci0tLSBhL21tL3N3YXBmaWxl LmMKKysrIGIvbW0vc3dhcGZpbGUuYwpAQCAtMjQyLDkgKzI0Miw2IEBAIHN0YXRpYyBpbnQgX190 cnlfdG9fcmVjbGFpbV9zd2FwKHN0cnVjdCBzd2FwX2luZm9fc3RydWN0ICpzaSwKIAlmb2xpb19z ZXRfZGlydHkoZm9saW8pOwogCiAJc3Bpbl9sb2NrKCZzaS0+bG9jayk7Ci0JLyogT25seSBzaW5w bGUgcGFnZSBmb2xpbyBjYW4gYmUgYmFja2VkIGJ5IHpzd2FwICovCi0JaWYgKG5yX3BhZ2VzID09 IDEpCi0JCXpzd2FwX2ludmFsaWRhdGUoZW50cnkpOwogCXN3YXBfZW50cnlfcmFuZ2VfZnJlZShz aSwgZW50cnksIG5yX3BhZ2VzKTsKIAlzcGluX3VubG9jaygmc2ktPmxvY2spOwogCXJldCA9IG5y X3BhZ2VzOwpAQCAtOTU2LDYgKzk1Myw3IEBAIHN0YXRpYyB2b2lkIHN3YXBfcmFuZ2VfZnJlZShz dHJ1Y3Qgc3dhcF9pbmZvX3N0cnVjdCAqc2ksIHVuc2lnbmVkIGxvbmcgb2Zmc2V0LAogCWVsc2UK IAkJc3dhcF9zbG90X2ZyZWVfbm90aWZ5ID0gTlVMTDsKIAl3aGlsZSAob2Zmc2V0IDw9IGVuZCkg eworCQl6c3dhcF9pbnZhbGlkYXRlKHN3cF9lbnRyeShzaS0+dHlwZSwgb2Zmc2V0KSk7CiAJCWFy Y2hfc3dhcF9pbnZhbGlkYXRlX3BhZ2Uoc2ktPnR5cGUsIG9mZnNldCk7CiAJCWlmIChzd2FwX3Ns b3RfZnJlZV9ub3RpZnkpCiAJCQlzd2FwX3Nsb3RfZnJlZV9ub3RpZnkoc2ktPmJkZXYsIG9mZnNl dCk7Ci0tIAoyLjQ1LjIKCg== --0000000000006e2a9e0620197bb4--