All of lore.kernel.org
 help / color / mirror / Atom feed
From: syzbot <syzbot@syzkaller.appspotmail.com>
To: syzbot@lists.linux.dev
Cc: syzbot <syzbot+ci49bb3ed471ef5f9f@syzkaller.appspotmail.com>,
	 bingfangguo@tencent.com
Subject: Forwarded: Re: [Internet][syzbot ci] Re: memcg: fix dying memcg pinned by swapped out shmem pages
Date: Thu, 13 Aug 2026 10:02:45 -0700	[thread overview]
Message-ID: <6a7df8b5.0d56fcf3.329e18.0242.GAE@google.com> (raw)
In-Reply-To: <tencent_1FCEE4176DA14E9707E8F3F3@qq.com>

For archival purposes, forwarding an incoming command email to
syzbot@lists.linux.dev.

***

Subject: Re: [Internet][syzbot ci] Re: memcg: fix dying memcg pinned by swapped out shmem pages
Author: bingfangguo@tencent.com

#syz test



                    syzbot ci<syzbot+ci49bb3ed471ef5f9f@syzkaller.appspotmail.com&gt;&nbsp;在 2026年8月13日 周四 21:26 写道:

syzbot ci has tested the following series

[v1] memcg: fix dying memcg pinned by swapped out shmem pages
https://lore.kernel.org/all/20260813-memcgid-objcg-v1-0-83d21c685b77@tencent.com
* [PATCH RFC 1/5] memcg: move memcg private ID refcount to objcg
* [PATCH RFC 2/5] memcg: get stable memcg first before getting memcgid reference
* [PATCH RFC 3/5] memcg: remove retry logic in mem_cgroup_private_id_get_online
* [PATCH RFC 4/5] memcg: add a helper to get online memcg from memcgid
* [PATCH RFC 5/5] memcg: filter out reparented memcgs got using memcgid

and found the following issue:
WARNING: refcount bug in __mem_cgroup_uncharge_swap

Full report is available here:
https://ci.syzbot.org/series/3a8a2a5f-8b6d-4abf-954e-a1a18ee62748

***

WARNING: refcount bug in __mem_cgroup_uncharge_swap

tree:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; linux-next
URL:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; https://kernel.googlesource.com/pub/scm/linux/kernel/git/next/linux-next
base:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 288058d8db5d35623228d84f48d9bea3707d5c85
arch:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; amd64
compiler:&nbsp; Debian clang version 22.1.8 (++20260613092233+e80beda6e255-1~exp1~20260613092250.77), Debian LLD 22.1.8
config:&nbsp;&nbsp;&nbsp; https://ci.syzbot.org/builds/35dac6f6-b44a-4ea8-9adf-2cdda5584e45/config
syz repro: https://ci.syzbot.org/findings/6e117c0b-d6e2-44a6-8e35-161cb33f2aff/syz_repro

------------[ cut here ]------------
refcount_t: underflow; use-after-free.
WARNING: lib/refcount.c:28 at refcount_warn_saturate+0xb2/0x110 lib/refcount.c:28, CPU#0: syz.2.19/5863
Modules linked in:
CPU: 0 UID: 0 PID: 5863 Comm: syz.2.19 Not tainted syzkaller #0 PREEMPT(full) 
Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.2-debian-1.16.2-1 04/01/2014
RIP: 0010:refcount_warn_saturate+0xb2/0x110 lib/refcount.c:28
Code: 64 84 8e 0b 67 48 0f b9 3a eb 4a e8 58 fa f2 fc 48 8d 3d 61 84 8e 0b 67 48 0f b9 3a eb 37 e8 45 fa f2 fc 48 8d 3d 5e 84 8e 0b <67&gt; 48 0f b9 3a eb 24 e8 32 fa f2 fc 48 8d 3d 5b 84 8e 0b 67 48 0f
RSP: 0018:ffffc90003bbf1d0 EFLAGS: 00010293
RAX: ffffffff84d3ed9b RBX: 0000000000000003 RCX: ffff8881bdf58000
RDX: 0000000000000000 RSI: ffffffff8f363380 RDI: ffffffff90627200
RBP: 1ffffffff20ae968 R08: ffff8881bdf58000 R09: 0000000000000005
R10: 0000000000000004 R11: 0000000000000000 R12: ffff8881026f8000
R13: ffff88810a914100 R14: ffff88810a914134 R15: 1ffff110204df009
FS:&nbsp; 00007fe2ee63d6c0(0000) GS:ffff88818d960000(0000) knlGS:0000000000000000
CS:&nbsp; 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 000056066247f0b8 CR3: 000000000e946000 CR4: 00000000000006f0
Call Trace:
&nbsp;<TASK&gt;
&nbsp;mem_cgroup_take_from_private_id mm/memcontrol.c:4049 [inline]
&nbsp;__mem_cgroup_uncharge_swap+0x204/0x2a0 mm/memcontrol.c:5707
&nbsp;mem_cgroup_uncharge_swap include/linux/swap.h:520 [inline]
&nbsp;__swap_cluster_free_entries+0x735/0xc50 mm/swapfile.c:1955
&nbsp;swap_put_entries_cluster+0x3b1/0x4b0 mm/swapfile.c:1629
&nbsp;swap_put_entries_direct+0x137/0x210 mm/swapfile.c:2139
&nbsp;zap_nonpresent_ptes mm/memory.c:1838 [inline]
&nbsp;do_zap_pte_range mm/memory.c:1905 [inline]
&nbsp;zap_pte_range mm/memory.c:2003 [inline]
&nbsp;zap_pmd_range mm/memory.c:2089 [inline]
&nbsp;zap_pud_range mm/memory.c:2117 [inline]
&nbsp;zap_p4d_range mm/memory.c:2138 [inline]
&nbsp;__zap_vma_range+0x1d9d/0x4f10 mm/memory.c:2178
&nbsp;unmap_vmas+0x390/0x550 mm/memory.c:2247
&nbsp;exit_mmap+0x293/0x9f0 mm/mmap.c:1315
&nbsp;__mmput+0x118/0x420 kernel/fork.c:1187
&nbsp;exit_mm+0x221/0x2d0 kernel/exit.c:615
&nbsp;do_exit+0x6cd/0x2360 kernel/exit.c:997
&nbsp;do_group_exit+0x22d/0x2f0 kernel/exit.c:1152
&nbsp;get_signal+0x121b/0x12c0 kernel/signal.c:3046
&nbsp;arch_do_signal_or_restart+0xbb/0x860 arch/x86/kernel/signal.c:337
&nbsp;__exit_to_user_mode_loop kernel/entry/common.c:66 [inline]
&nbsp;exit_to_user_mode_loop+0x104/0x730 kernel/entry/common.c:101
&nbsp;__exit_to_user_mode_prepare include/linux/irq-entry-common.h:207 [inline]
&nbsp;syscall_exit_to_user_mode_prepare include/linux/irq-entry-common.h:230 [inline]
&nbsp;syscall_exit_to_user_mode include/linux/entry-common.h:318 [inline]
&nbsp;do_syscall_64+0x353/0x580 arch/x86/entry/syscall_64.c:100
&nbsp;entry_SYSCALL_64_after_hwframe+0x77/0x7f
RIP: 0033:0x7fe2ed79e0d9
Code: Unable to access opcode bytes at 0x7fe2ed79e0af.
RSP: 002b:00007fe2ee63d0e8 EFLAGS: 00000246 ORIG_RAX: 00000000000000ca
RAX: fffffffffffffe00 RBX: 00007fe2eda25fa8 RCX: 00007fe2ed79e0d9
RDX: 0000000000000000 RSI: 0000000000000080 RDI: 00007fe2eda25fa8
RBP: 00007fe2eda25fa0 R08: 0000000000000000 R09: 0000000000000000
R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000000
R13: 00007fe2eda26038 R14: 00007fff0bed41b0 R15: 00007fff0bed4298
&nbsp;</TASK&gt;
----------------
Code disassembly (best guess):
&nbsp;&nbsp; 0:	64 84 8e 0b 67 48 0f 	test&nbsp;&nbsp; %cl,%fs:0xf48670b(%rsi)
&nbsp;&nbsp; 7:	b9 3a eb 4a e8&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 	mov&nbsp;&nbsp;&nbsp; $0xe84aeb3a,%ecx
&nbsp;&nbsp; c:	58&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 	pop&nbsp;&nbsp;&nbsp; %rax
&nbsp;&nbsp; d:	fa&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 	cli
&nbsp;&nbsp; e:	f2 fc&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 	repnz cld
&nbsp; 10:	48 8d 3d 61 84 8e 0b 	lea&nbsp;&nbsp;&nbsp; 0xb8e8461(%rip),%rdi&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # 0xb8e8478
&nbsp; 17:	67 48 0f b9 3a&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 	ud1&nbsp;&nbsp;&nbsp; (%edx),%rdi
&nbsp; 1c:	eb 37&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 	jmp&nbsp;&nbsp;&nbsp; 0x55
&nbsp; 1e:	e8 45 fa f2 fc&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 	call&nbsp;&nbsp; 0xfcf2fa68
&nbsp; 23:	48 8d 3d 5e 84 8e 0b 	lea&nbsp;&nbsp;&nbsp; 0xb8e845e(%rip),%rdi&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # 0xb8e8488
* 2a:	67 48 0f b9 3a&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 	ud1&nbsp;&nbsp;&nbsp; (%edx),%rdi <-- trapping instruction
&nbsp; 2f:	eb 24&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 	jmp&nbsp;&nbsp;&nbsp; 0x55
&nbsp; 31:	e8 32 fa f2 fc&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 	call&nbsp;&nbsp; 0xfcf2fa68
&nbsp; 36:	48 8d 3d 5b 84 8e 0b 	lea&nbsp;&nbsp;&nbsp; 0xb8e845b(%rip),%rdi&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # 0xb8e8498
&nbsp; 3d:	67&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 	addr32
&nbsp; 3e:	48&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 	rex.W
&nbsp; 3f:	0f&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 	.byte 0xf


***

If these findings have caused you to resend the series or submit a
separate fix, please add the following tag to your commit message:
&nbsp; Tested-by: syzbot@syzkaller.appspotmail.com

---
This report is generated by a bot. It may contain errors.
syzbot ci engineers can be reached at syzkaller@googlegroups.com.

To test a fix for this bug, please reply with `#syz test`
(on a separate line) and attach the patch to the email.

Notes:
- The patch will be applied on top of the tested series (as an
&nbsp; incremental fix).
- To test a new version of the whole series, please send it directly
&nbsp; to syzbot@lists.linux.dev.
- Arguments like custom git repos and branches are not supported.

       reply	other threads:[~2026-08-13 17:02 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <tencent_1FCEE4176DA14E9707E8F3F3@qq.com>
2026-08-13 17:02 ` syzbot [this message]
2026-08-13 17:04   ` Forwarded: Re: [Internet][syzbot ci] Re: memcg: fix dying memcg pinned by swapped out shmem pages syzbot ci

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=6a7df8b5.0d56fcf3.329e18.0242.GAE@google.com \
    --to=syzbot@syzkaller.appspotmail.com \
    --cc=bingfangguo@tencent.com \
    --cc=syzbot+ci49bb3ed471ef5f9f@syzkaller.appspotmail.com \
    --cc=syzbot@lists.linux.dev \
    /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.