All of lore.kernel.org
 help / color / mirror / Atom feed
From: Yu Zhao <yuzhao@google.com>
To: syzbot <syzbot+67a21f2b4c8e9e650adf@syzkaller.appspotmail.com>
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
Date: Sat, 7 Dec 2024 12:30:41 -0700	[thread overview]
Message-ID: <Z1SiYXv7zgdh0lnj@google.com> (raw)
In-Reply-To: <67549eca.050a0220.2477f.001b.GAE@google.com>

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 <yuzhao@google.com>
> 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:
>  <TASK>
>  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
>  </TASK>
> 
> 
> ---
> 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 */


  reply	other threads:[~2024-12-07 19:30 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-12-07 19:15 [syzbot] [mm?] WARNING in lru_gen_clear_refs syzbot
2024-12-07 19:30 ` Yu Zhao [this message]
2024-12-07 21:19   ` syzbot

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=Z1SiYXv7zgdh0lnj@google.com \
    --to=yuzhao@google.com \
    --cc=akpm@linux-foundation.org \
    --cc=kaleshsingh@google.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=syzbot+67a21f2b4c8e9e650adf@syzkaller.appspotmail.com \
    --cc=syzkaller-bugs@googlegroups.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.