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 B898DE7717B for ; Sat, 7 Dec 2024 19:30:53 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 0D0B88D001D; Sat, 7 Dec 2024 14:30:53 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 0804D8D0015; Sat, 7 Dec 2024 14:30:53 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id E8A658D001D; Sat, 7 Dec 2024 14:30:52 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0010.hostedemail.com [216.40.44.10]) by kanga.kvack.org (Postfix) with ESMTP id CA4C88D0015 for ; Sat, 7 Dec 2024 14:30:52 -0500 (EST) Received: from smtpin13.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay10.hostedemail.com (Postfix) with ESMTP id 79DA1C0139 for ; Sat, 7 Dec 2024 19:30:52 +0000 (UTC) X-FDA: 82869154830.13.029DB28 Received: from mail-pl1-f176.google.com (mail-pl1-f176.google.com [209.85.214.176]) by imf28.hostedemail.com (Postfix) with ESMTP id DC02AC0014 for ; Sat, 7 Dec 2024 19:30:28 +0000 (UTC) Authentication-Results: imf28.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b="SkrGlI/B"; dmarc=pass (policy=reject) header.from=google.com; spf=pass (imf28.hostedemail.com: domain of yuzhao@google.com designates 209.85.214.176 as permitted sender) smtp.mailfrom=yuzhao@google.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1733599842; 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=sJ3AriieDFC/KNsLogDoYyW1Ut0XorELbLlY0y1fh8w=; b=ISzWdOSn519Df1xQQLb8EAvT+aEPeaCy3CIHM6U6Id0ameLRgRBRUm6/Ji2AIE5b3qiUWc bijUnGC7NQGPMufGv2it9AHULAAUKT2Al7naOp8AmQgcsVCQDC+hVVWOokLsztM2dLjd06 Sc3SS3OjmX9bwZGosPUPNJtK3YJp7kU= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1733599842; a=rsa-sha256; cv=none; b=hynMSy+nAp3sVU+iezY7rkaJREe/gLcnSGfhPOW9dG3rmZG7Y3kv0qkP1YQ2ZIemVj1orV S7UEDSX+Obe4saxtv6diBRTKnGJMN8Ur48GJGeT0NcHERaeiomMlRVSoUbSqfwJ35i9X4J RqDOPCvb1BCvVizKlVaQSjtIlg1iYU0= ARC-Authentication-Results: i=1; imf28.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b="SkrGlI/B"; dmarc=pass (policy=reject) header.from=google.com; spf=pass (imf28.hostedemail.com: domain of yuzhao@google.com designates 209.85.214.176 as permitted sender) smtp.mailfrom=yuzhao@google.com Received: by mail-pl1-f176.google.com with SMTP id d9443c01a7336-21561af95c3so26476085ad.3 for ; Sat, 07 Dec 2024 11:30:50 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1733599849; x=1734204649; darn=kvack.org; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to; bh=sJ3AriieDFC/KNsLogDoYyW1Ut0XorELbLlY0y1fh8w=; b=SkrGlI/BdiByjOLbMlHUFINeq3JHiSTdGIjDehindvBXHlOnCHBkeeQ1YMbjqR6HHp zh2QkF603iJcN2WLBhbC+Nb2FoO0MzRGwHryJnrCz1R6JvzcoKODoI1ddwnZ79+N4YXg w4cP+X6R2JNiyxrvrgwBugx1ecs/RWNwxG7J6jYdar93ks9F/C4asmZuBujsoe72IKY6 R+L4AGnrinSPx4GPR+LINyOf154PK7d5mxokv+SDDjuiGyNXtF8LA+DiXIUiou+6RwHp H/ciiimgh8vLhv4h3nQW4hunPN8yQJIhfSnPd2Cm10AO9KreZ9P9nmuL5kDsclwWzPPT W8rA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1733599849; x=1734204649; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=sJ3AriieDFC/KNsLogDoYyW1Ut0XorELbLlY0y1fh8w=; b=UF12B/fSum4YJMG515OhDj8hJSsiN+LR+9M8nAov05TxvAlkBr8UzYp/uBGoJOjGG/ t3Prt4RiTcMja05R/SKQ52TYrCW0pcib9/PVxcvHY9jFX6RiWEMQ0af6uS7/uuFxChGe eu+1Ct4sbZGPDWlPAJqcz/sAoM/XrG0OYcQfFU7N/2adGlclCmKgbXdcDe9QyvENv74q FRm51dSnwBflO4mhye3jlu8MPozvTrRxLa7UrSkUSS9eYEAPPfhS9iqSXFRzQpj//cKI HcMOxwK0KoWhpvzPMaocA/ZbmF4E6P5q41kX4lYJPe77UwzoEqeYbHWLL4rKnBic3Dzi mAmA== X-Forwarded-Encrypted: i=1; AJvYcCVMZWQgyk52E5OvhtfSNWd6ax/kPMd3jXsG/jnjopMQRlQZ/aKgY/4vGrGPYqyQ5Hb69ni882HJMg==@kvack.org X-Gm-Message-State: AOJu0Yzk94vzlfji9a6VSiIqVXYqlpu2BIDwR3gslPVPx90M8SAl/ecm G7HM3w3aO2jIO8QAhsjn31TvhGTJGJnawdHkhEK7mfqi6DXxT9RHmAtJ37JXeA== X-Gm-Gg: ASbGncvb1dMzBcJU6QKy/QDH5+5jHsTTxeTxmXjhjCpsT6u/4/B2qWQCu9KZ+iGhJdt MWj6eYeKqzdamlhwH2owOkwBVwqQUDC13C28ca6fm3mz/HWNbexpWNZb9HnHmJw6shV3m9pxg/G UabdK/GzfA6wMdWPuqwReDhxvlsPxzhEUYOm/Nm0flmVJMb3n0eVGRAS9ld0qY3OlLqemou+Hix nraZQbVjUh5bjNyaRLH1M43G3ksDvFE3af8srKgF0L6LgjGbC9HTrBFvc9iOOMH3dccma8rVw/a 89iW X-Google-Smtp-Source: AGHT+IFZ5M9FL6gCR/DI1hKM4Xow7ROSGcnN4HIlFzNXPVtBw2MEhcCl4rJo0touOIVBUQyafX/vGw== X-Received: by 2002:a17:902:f684:b0:216:34e5:6e49 with SMTP id d9443c01a7336-21634e58f45mr17129725ad.57.1733599848856; Sat, 07 Dec 2024 11:30:48 -0800 (PST) Received: from google.com ([2a00:79e0:2e28:6:c5e3:4c27:49a5:9726]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-21633b090a4sm9550445ad.112.2024.12.07.11.30.46 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 07 Dec 2024 11:30:47 -0800 (PST) Date: Sat, 7 Dec 2024 12:30:41 -0700 From: Yu Zhao To: syzbot Cc: akpm@linux-foundation.org, kaleshsingh@google.com, linux-kernel@vger.kernel.org, linux-mm@kvack.org, syzkaller-bugs@googlegroups.com Subject: Re: [syzbot] [mm?] WARNING in lru_gen_clear_refs Message-ID: References: <67549eca.050a0220.2477f.001b.GAE@google.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <67549eca.050a0220.2477f.001b.GAE@google.com> X-Stat-Signature: 1mrem86se4j9npw6apkek9yeexqd358z X-Rspamd-Queue-Id: DC02AC0014 X-Rspam-User: X-Rspamd-Server: rspam01 X-HE-Tag: 1733599828-334045 X-HE-Meta: U2FsdGVkX1+zAfQPF9TJxs0DFYWFh2C1vQw1Te7cklrrxr10WATh2e4pbKGTsZ127i1HMrggyFHbX7jdPW9J/SLU7cUptM6mqbxGYnP3RsJSy4gQ1WIyTWMABtngvNMA+F9YhopDk3UvsGl7ysfgH5+pGWc8zA0tYaWkA+R+oFJmmgc/2G3SQPgvOVFhQLKVI7+cGeHkqnmyi5yWuvaJsyLg5mqb8VyFyVEZw55w7JZW9hFXkjj26BdD6H4/2aX/w48XvBPnoMUmJICbQiy3I+r0au0HzO3zV6dmSJEV0s0ISzFBqOT4rDXQsC1AlqE7n2q0D8vR7iJvQ5xe/JGvww9XBMu5IG5Sfd63kY9SZQinlNuCyxvP6nJh0pfPnkia/R3lE+gmXL7H+851r5Cx/y+7hUwhxmhVQ5t15W89EH/yFCOyi8q7259HFwhAiR+QUy1OE7BjqmWzbwXFVDtvNofFvNZINTjl5NgnIEH4huVaJdA/vEOKbOw1SCFS3mGkomHYmurb1UXRYCSFoY96v+jSFlu2Y0liAFcooiyME0Bqme6NBDv7GX2bYNT7Jue4xBboe+v5m+T7VfD0La4mYQG/JQZzYWmCPc5CSqDDrQTqlWSfZZ0HnGgjNBeA/0b4gEA3jnZtfauSZtURt2e8Rx25/3Xh/C7c5a9GRZFB3ZXvTFa8fm0rrg3M5bnXmQJR25PJhH0Y9hZKMU/635BHHrBDT+eeU4VzsuSCnuvvzIlxKBUSabZP3sxZKjkE5gs/nV2KJGmIe81jRw1ZxoP/JLtTGTb3DgzbYXvQmKKYHXtWihoaLhjoQ8VaWt+G50tpNmVNLwj8gcxdyDf8Qh9Pj9NZ4fBtDrKK9Ct+sN0qRJuMiVoy5Irik7NmKUrQInUkyopKKa1H0qacrNHneprnlDksz2F748yyv5C/3rC6h0jzGw1LhVPPaDIPyEva0zfl7n/NEb2UgoQqbF2Tvjr GoyvsjCA 8BJ2ZCMvAHQH+H7KdbzuOAgTsLh3ies6i26/fu1g0zvmHosZDUGY8SOnFAi0h2LO4ygHanh+o6FiHHAGRZr4N4dyb0Uaq/BlHkL002TDCpjoSFuiEuA/E0Ddf3rEawdG2dmaSgOVW3WjBeUaUy4uvn4r0bkFyR4M4iWse06iyXhFe5gf1MgUDdRShTxhbISaI+15AYGW99h96DcA31Rz6RRWA9KEOoZgpAW/TQ9hNdcuBK6pyBY0OyyNxe2XcW91tVSNlidWczOA1lZTbf3bZ/vw3BEms6deWpqlhoFmbYMdijJJ3VBw2Y84e7MGeWwhm4ApxnffaZsiueNhgzrcbNdwTJieg5VCLDXjl/ql0Fc8wGuHQks0lwKh27zNLN4frxGLuG7jhNRbFWeGkIbB1c9aBu28QAjDzQGhjD7uk6NAID6MivyrJf8Z0so1eARJwxDkvg+qIqaiZp6l6ch6W12uTbJ2v3QEZjt8+jzksQz9lH4ZiUb3f29ajmagf56mjekxXTtz70gCnn5d8vIZr8AHGK9w+6Rn4FQag9G65R+9WeDzPBI69LfvHkJAxjpF7/vQM0cgiOespcXmTHovDldUuXqJ/kcHu+i8erXD/zf84jRGcWwxc3EmBAqp3UX0wqVXMqR3bpZr8XhY9PWmBI/eavbLcaAAeaa1FLo4bjk0Xsst14ftQTNF6bHpAP1MNo6HYnFEOXLQL6nPZLkN17LKCATHN5JzLTg7y2OSl/RZFk0tLpbfkU7uvSnzVjGVPnKE1kKR9ZXj52FCE1t+Aq1/2lAF7fuduHiJ7JpEk5CNDWxqrfj6wp5/9a0Y20KqxDNMMY9LIqqDauBA0J9umJp3F0fkXAfCuirNyDxSKNj+6pBDRZljntV/QmBC6sZqLpuyqPuoKTZnCrAFLDzwNZmnH9FF2ih6buBR2CHMrX4d3xlO1xTIgj2FKFz4NgavBHSXDYOQZwbvApwZV/Gw5b2Uv6JfA NwmtzXx7 4wRXE8b3C5Fr3FxgElXISkOb0h+D4HuUYBtfGUuJFy5DTYIVUyghM5ljKdE0Wu3WWDgb/6NltEPk+s3hnQrIm7GQPfkUFOSht1eOTd/Zcy/nXO9NBpLna//8NSi0K+7H3WIWKQTz1xy6Q98NS7YqEJ7alxwoSnOV163MbOF3v6IPDxlxCIH3hZLWqnrmIm5Ik81XuUHe5mvD6LEUA1F2kgJLogR040QZMdOwQg0bj+FLI2a4zWyFkA== 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: On Sat, Dec 07, 2024 at 11:15:22AM -0800, syzbot wrote: > Hello, > > syzbot found the following issue on: > > HEAD commit: af2ea8ab7a54 Add linux-next specific files for 20241205 > git tree: linux-next > console+strace: https://syzkaller.appspot.com/x/log.txt?x=1210e8df980000 > kernel config: https://syzkaller.appspot.com/x/.config?x=76f158395f6f15fd > dashboard link: https://syzkaller.appspot.com/bug?extid=67a21f2b4c8e9e650adf > compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40 > syz repro: https://syzkaller.appspot.com/x/repro.syz?x=111050f8580000 > C reproducer: https://syzkaller.appspot.com/x/repro.c?x=136fade8580000 > > Downloadable assets: > disk image: https://storage.googleapis.com/syzbot-assets/8af0861258fa/disk-af2ea8ab.raw.xz > vmlinux: https://storage.googleapis.com/syzbot-assets/ffb38cf7a344/vmlinux-af2ea8ab.xz > kernel image: https://storage.googleapis.com/syzbot-assets/6fbd2e50358a/bzImage-af2ea8ab.xz > > The issue was bisected to: > > commit 51ac493f56fa00b052be4fbc94ac91f057ebc2e7 > Author: Yu Zhao > Date: Mon Dec 2 03:28:19 2024 +0000 > > mm/mglru: optimize deactivation > > bisection log: https://syzkaller.appspot.com/x/bisect.txt?x=141418df980000 > final oops: https://syzkaller.appspot.com/x/report.txt?x=161418df980000 > console output: https://syzkaller.appspot.com/x/log.txt?x=121418df980000 > > IMPORTANT: if you fix the issue, please add the following tag to the commit: > Reported-by: syzbot+67a21f2b4c8e9e650adf@syzkaller.appspotmail.com > Fixes: 51ac493f56fa ("mm/mglru: optimize deactivation") > > __kernel_write_iter+0x42a/0x940 fs/read_write.c:612 > __kernel_write fs/read_write.c:632 [inline] > kernel_write+0x214/0x330 fs/read_write.c:653 > process_sysctl_arg+0x3f7/0x650 fs/proc/proc_sysctl.c:1683 > parse_one kernel/params.c:153 [inline] > parse_args+0x623/0xdc0 kernel/params.c:186 > do_sysctl_args+0xeb/0x180 fs/proc/proc_sysctl.c:1715 > kernel_init+0x80/0x2b0 init/main.c:1489 > ret_from_fork+0x4b/0x80 arch/x86/kernel/process.c:147 > page_owner free stack trace missing > ------------[ cut here ]------------ > WARNING: CPU: 0 PID: 5828 at ./include/linux/memcontrol.h:730 folio_lruvec include/linux/memcontrol.h:730 [inline] > WARNING: CPU: 0 PID: 5828 at ./include/linux/memcontrol.h:730 lru_gen_clear_refs+0x498/0x520 mm/swap.c:410 > Modules linked in: > CPU: 0 UID: 0 PID: 5828 Comm: syz-executor425 Not tainted 6.13.0-rc1-next-20241205-syzkaller #0 > Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 09/13/2024 > RIP: 0010:folio_lruvec include/linux/memcontrol.h:730 [inline] > RIP: 0010:lru_gen_clear_refs+0x498/0x520 mm/swap.c:410 > Code: 66 ff ff ff e8 99 dc c2 ff e9 92 fe ff ff e8 8f dc c2 ff 4c 89 e7 48 c7 c6 20 c9 13 8c e8 20 95 0c 00 c6 05 4c 86 27 0e 01 90 <0f> 0b 90 e9 7b fc ff ff 89 d9 80 e1 07 80 c1 03 38 c1 0f 8c 43 fd > RSP: 0018:ffffc90003787460 EFLAGS: 00010246 > RAX: dc5da43f42521400 RBX: 0000000000000000 RCX: ffffc90003787003 > RDX: 0000000000000002 RSI: ffffffff8c0aa440 RDI: ffffffff8c5fbe80 > RBP: ffffc90003787530 R08: ffffffff9019d9b7 R09: 1ffffffff2033b36 > R10: dffffc0000000000 R11: fffffbfff2033b37 R12: ffffea00006a8000 > R13: 1ffffd40000d5000 R14: 00fff00000000058 R15: 0000000000000000 > FS: 0000555587a6b380(0000) GS:ffff8880b8600000(0000) knlGS:0000000000000000 > CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 > CR2: 0000000020000040 CR3: 000000007213e000 CR4: 00000000003526f0 > DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 > DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400 > Call Trace: > > deactivate_file_folio+0x99/0x100 mm/swap.c:679 > mapping_try_invalidate+0x28b/0x550 mm/truncate.c:489 > drop_pagecache_sb+0x1ab/0x260 fs/drop_caches.c:40 > iterate_supers+0xc6/0x190 fs/super.c:934 > drop_caches_sysctl_handler+0x8c/0x160 fs/drop_caches.c:64 > proc_sys_call_handler+0x5ec/0x920 fs/proc/proc_sysctl.c:601 > do_iter_readv_writev+0x600/0x880 > vfs_writev+0x376/0xba0 fs/read_write.c:1050 > do_writev+0x1b6/0x360 fs/read_write.c:1096 > 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:0x7f625e20b329 > Code: 48 83 c4 28 c3 e8 37 17 00 00 0f 1f 80 00 00 00 00 48 89 f8 48 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48 c7 c1 b8 ff ff ff f7 d8 64 89 01 48 > RSP: 002b:00007ffc4d77ac58 EFLAGS: 00000246 ORIG_RAX: 0000000000000014 > RAX: ffffffffffffffda RBX: 00007ffc4d77ae28 RCX: 00007f625e20b329 > RDX: 0000000000000001 RSI: 00000000200000c0 RDI: 0000000000000003 > RBP: 00007f625e27e610 R08: 0000000000000000 R09: 00007ffc4d77ae28 > R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000001 > R13: 00007ffc4d77ae18 R14: 0000000000000001 R15: 0000000000000001 > > > > --- > This report is generated by a bot. It may contain errors. > See https://goo.gl/tpsmEJ for more information about syzbot. > syzbot engineers can be reached at syzkaller@googlegroups.com. > > syzbot will keep track of this issue. See: > https://goo.gl/tpsmEJ#status for how to communicate with syzbot. > For information about bisection process see: https://goo.gl/tpsmEJ#bisection > > If the report is already addressed, let syzbot know by replying with: > #syz fix: exact-commit-title > > If you want syzbot to run the reproducer, reply with: > #syz test: git://repo/address.git branch-or-commit-hash > If you attach or paste a git patch, syzbot will apply it before testing. #syz test: git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm.git mm-unstable diff --git a/mm/swap.c b/mm/swap.c index 320b959b74c6..062c8565b899 100644 --- a/mm/swap.c +++ b/mm/swap.c @@ -384,7 +384,7 @@ static void lru_gen_inc_refs(struct folio *folio) { unsigned long new_flags, old_flags = READ_ONCE(folio->flags); - if (folio_test_unevictable(folio)) + if (!folio_test_lru(folio) || folio_test_unevictable(folio)) return; /* see the comment on LRU_REFS_FLAGS */ @@ -405,14 +405,17 @@ static void lru_gen_inc_refs(struct folio *folio) static bool lru_gen_clear_refs(struct folio *folio) { - int gen = folio_lru_gen(folio); + struct lru_gen_folio *lrugen; int type = folio_is_file_lru(folio); - struct lru_gen_folio *lrugen = &folio_lruvec(folio)->lrugen; + + if (!folio_test_lru(folio) || folio_test_unevictable(folio)) + return true; set_mask_bits(&folio->flags, LRU_REFS_FLAGS | BIT(PG_workingset), 0); + lrugen = &folio_lruvec(folio)->lrugen; /* whether can do without shuffling under the LRU lock */ - return gen == lru_gen_from_seq(READ_ONCE(lrugen->min_seq[type])); + return folio_lru_gen(folio) == lru_gen_from_seq(READ_ONCE(lrugen->min_seq[type])); } #else /* !CONFIG_LRU_GEN */