From: Yosry Ahmed <yosryahmed@google.com>
To: syzbot <syzbot+9319a4268a640e26b72b@syzkaller.appspotmail.com>
Cc: akpm@linux-foundation.org, cgroups@vger.kernel.org,
hannes@cmpxchg.org, linux-kernel@vger.kernel.org,
linux-mm@kvack.org, mhocko@kernel.org, muchun.song@linux.dev,
roman.gushchin@linux.dev, shakeel.butt@linux.dev,
syzkaller-bugs@googlegroups.com, yuzhao@google.com
Subject: Re: [syzbot] [mm?] [cgroups?] WARNING in __mod_memcg_lruvec_state
Date: Mon, 6 May 2024 14:11:57 +0000 [thread overview]
Message-ID: <ZjjlLcjHuQoV-7gh@google.com> (raw)
In-Reply-To: <0000000000001b9d500617c8b23c@google.com>
On Mon, May 06, 2024 at 06:03:29AM -0700, syzbot wrote:
> syzbot has found a reproducer for the following issue on:
>
> HEAD commit: 2b84edefcad1 Add linux-next specific files for 20240506
> git tree: linux-next
> console+strace: https://syzkaller.appspot.com/x/log.txt?x=1164931f180000
> kernel config: https://syzkaller.appspot.com/x/.config?x=b499929e4aaba1af
> dashboard link: https://syzkaller.appspot.com/bug?extid=9319a4268a640e26b72b
> 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=123d5d1f180000
> C reproducer: https://syzkaller.appspot.com/x/repro.c?x=16527450980000
>
> Downloadable assets:
> disk image: https://storage.googleapis.com/syzbot-assets/6a22cf95ee14/disk-2b84edef.raw.xz
> vmlinux: https://storage.googleapis.com/syzbot-assets/f5c45b515282/vmlinux-2b84edef.xz
> kernel image: https://storage.googleapis.com/syzbot-assets/9bf98258a662/bzImage-2b84edef.xz
>
> IMPORTANT: if you fix the issue, please add the following tag to the commit:
> Reported-by: syzbot+9319a4268a640e26b72b@syzkaller.appspotmail.com
>
> ------------[ cut here ]------------
> __mod_memcg_lruvec_state: missing stat item 25
> WARNING: CPU: 0 PID: 5091 at mm/memcontrol.c:999 __mod_memcg_lruvec_state+0x18c/0x430 mm/memcontrol.c:999
This doesn't seem to be the same issue as the original one syzbot
reported. It's the same function but a different warning. I am not sure
how to tell syzbot that.
Anyway, this warning is the one newly introduced by Shakeel. It is
firing because NR_SHMEM_PMDMAPPED and/or NR_FILE_PMDMAPPED are being
updated using __lruvec_stat_mod_folio(), which also updates the memcg
stats. However, these stats are not exported per-memcg.
I think the following should fix it.
#syz test
diff --git a/mm/rmap.c b/mm/rmap.c
index 12be4241474ab..d3a26ea4dbae2 100644
--- a/mm/rmap.c
+++ b/mm/rmap.c
@@ -1441,7 +1441,7 @@ static __always_inline void __folio_add_file_rmap(struct folio *folio,
nr = __folio_add_rmap(folio, page, nr_pages, level, &nr_pmdmapped);
if (nr_pmdmapped)
- __lruvec_stat_mod_folio(folio, folio_test_swapbacked(folio) ?
+ __mod_node_page_state(folio, folio_test_swapbacked(folio) ?
NR_SHMEM_PMDMAPPED : NR_FILE_PMDMAPPED, nr_pmdmapped);
if (nr)
__lruvec_stat_mod_folio(folio, NR_FILE_MAPPED, nr);
> Modules linked in:
> CPU: 0 PID: 5091 Comm: syz-executor374 Not tainted 6.9.0-rc7-next-20240506-syzkaller #0
> Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 03/27/2024
> RIP: 0010:__mod_memcg_lruvec_state+0x18c/0x430 mm/memcontrol.c:999
> Code: ad 35 94 0d 00 0f 85 a4 01 00 00 c6 05 a0 35 94 0d 01 90 48 c7 c7 80 53 d7 8b 48 c7 c6 54 27 b8 8d 44 89 fa e8 55 f1 54 ff 90 <0f> 0b 90 90 e9 7c 01 00 00 4c 8d 7c 24 60 4c 89 fb 48 c1 eb 03 42
> RSP: 0018:ffffc9000338f1e0 EFLAGS: 00010246
> RAX: 38a0635190e19e00 RBX: ffffffff8fad3cb9 RCX: ffff8880221f0000
> RDX: 0000000000000000 RSI: 0000000000000000 RDI: 0000000000000000
> RBP: ffffc9000338f2c0 R08: ffffffff815846c2 R09: fffffbfff1c3995c
> R10: dffffc0000000000 R11: fffffbfff1c3995c R12: 0000000000000200
> R13: dffffc0000000000 R14: 1ffff92000671e40 R15: 0000000000000019
> FS: 00005555900be380(0000) GS:ffff8880b9400000(0000) knlGS:0000000000000000
> CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
> CR2: 000000000061cca0 CR3: 0000000075f1c000 CR4: 00000000003506f0
> DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
> DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
> Call Trace:
> <TASK>
> __mod_lruvec_state mm/memcontrol.c:1055 [inline]
> __lruvec_stat_mod_folio+0x1a4/0x300 mm/memcontrol.c:1075
> __folio_add_file_rmap mm/rmap.c:1444 [inline]
> folio_add_file_rmap_pmd+0x29c/0x700 mm/rmap.c:1485
> do_set_pmd+0x767/0xc40 mm/memory.c:4650
> set_huge_pmd+0x28a/0x710 mm/khugepaged.c:1452
> collapse_pte_mapped_thp+0x5c7/0x10b0 mm/khugepaged.c:1655
> madvise_collapse+0x661/0xcc0 mm/khugepaged.c:2762
> madvise_vma_behavior mm/madvise.c:1094 [inline]
> madvise_walk_vmas mm/madvise.c:1268 [inline]
> do_madvise+0xc5f/0x44d0 mm/madvise.c:1464
> __do_sys_madvise mm/madvise.c:1481 [inline]
> __se_sys_madvise mm/madvise.c:1479 [inline]
> __x64_sys_madvise+0xa6/0xc0 mm/madvise.c:1479
> do_syscall_x64 arch/x86/entry/common.c:52 [inline]
> do_syscall_64+0xf5/0x240 arch/x86/entry/common.c:83
> entry_SYSCALL_64_after_hwframe+0x77/0x7f
> RIP: 0033:0x7f1421be72a9
> 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:00007fffb7f38b78 EFLAGS: 00000246 ORIG_RAX: 000000000000001c
> RAX: ffffffffffffffda RBX: 00007fffb7f38d58 RCX: 00007f1421be72a9
> RDX: 0000000000000019 RSI: 0000000000800018 RDI: 0000000020000000
> RBP: 00007f1421c5a610 R08: 0000000000000000 R09: 0000000000000000
> R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000001
> R13: 00007fffb7f38d48 R14: 0000000000000001 R15: 0000000000000001
> </TASK>
>
>
> ---
> 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.
next prev parent reply other threads:[~2024-05-06 14:12 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-04-02 8:03 [syzbot] [cgroups?] [mm?] WARNING in __mod_memcg_lruvec_state syzbot
2024-04-04 1:07 ` Andrew Morton
2024-04-04 23:36 ` Yosry Ahmed
2024-04-05 1:44 ` Yu Zhao
2024-04-05 4:47 ` Yosry Ahmed
2024-04-14 4:43 ` Shakeel Butt
2024-05-06 13:03 ` [syzbot] [mm?] [cgroups?] " syzbot
2024-05-06 14:11 ` Yosry Ahmed [this message]
2024-05-06 15:59 ` Shakeel Butt
2024-05-06 16:12 ` Yosry Ahmed
2024-05-06 16:13 ` 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=ZjjlLcjHuQoV-7gh@google.com \
--to=yosryahmed@google.com \
--cc=akpm@linux-foundation.org \
--cc=cgroups@vger.kernel.org \
--cc=hannes@cmpxchg.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=mhocko@kernel.org \
--cc=muchun.song@linux.dev \
--cc=roman.gushchin@linux.dev \
--cc=shakeel.butt@linux.dev \
--cc=syzbot+9319a4268a640e26b72b@syzkaller.appspotmail.com \
--cc=syzkaller-bugs@googlegroups.com \
--cc=yuzhao@google.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.