[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAJNGr6v1GL=ZzgGar7NCjCGVBaAO7YVYU7bBhUt3T4T-DAnUAw@mail.gmail.com>
Date: Mon, 19 May 2025 13:19:04 +0800
From: Guoyu Yin <y04609127@...il.com>
To: akpm@...ux-foundation.org
Cc: linux-mm@...ck.org, linux-kernel@...r.kernel.org,
dave.hansen@...ux.intel.com, luto@...nel.org, peterz@...radead.org,
tglx@...utronix.de, mingo@...hat.com, bp@...en8.de, x86@...nel.org,
hpa@...or.com
Subject: [BUG] RCU Detected Stall in sys_process_vm_writev
Hi,
I discovered a kernel crash using the Syzkaller framework, described
as "INFO: rcu detected stall in sys_process_vm_writev". This issue
occurs during the execution of the sys_process_vm_writev system call,
where RCU detects a stall on CPU 0.
>From the dmesg log, CPU 3 is stuck trying to acquire a spinlock in the
pgd_free function (arch/x86/mm/pgtable.c:490), leading to the RCU
stall. This is likely caused by spinlock contention triggered by the
page pinning and unpinning logic in sys_process_vm_writev under high
load or abnormal conditions.
I recommend reviewing the page pinning (pin_user_pages_remote) and
unpinning (unpin_user_pages_dirty_lock) logic in
process_vm_rw_single_vec (mm/process_vm_access.c) to ensure it does
not cause prolonged spinlock blocking due to scheduling delays or
resource contention.
This can be reproduced on:
HEAD commit:
fac04efc5c793dccbd07e2d59af9f90b7fc0dca4
report: https://pastebin.com/raw/v7xV4BdD
console output : https://pastebin.com/raw/GfJLqkpf
kernel config: https://pastebin.com/raw/zrj9jd1V
C reproducer : https://pastebin.com/raw/8Mm5f2kh
Best regards,
Guoyu
Powered by blists - more mailing lists