From: Catalin Marinas <catalin.marinas@arm.com>
To: syzbot <syzbot@kernel.org>
Cc: syzkaller-bugs@googlegroups.com,
Uladzislau Zhauniarovich <uladzislau.zhauniarovich@gmail.com>,
linux-arm-kernel@lists.infradead.org,
Will Deacon <will@kernel.org>,
Peter Zijlstra <peterz@infradead.org>,
ada.coupriediaz@arm.com, linux-kernel@vger.kernel.org,
mark.rutland@arm.com, ruanjinjie@huawei.com,
syzbot@lists.linux.dev, vladimir.murzin@arm.com
Subject: Re: [PATCH] arm64: suspend: Only track cpuidle context for idle tasks
Date: Fri, 6 Nov 2026 18:16:27 +0000 [thread overview]
Message-ID: <au4Ze0u6L91ve4u7@arm.com> (raw)
In-Reply-To: <c49d0138-9e6d-40d4-b46c-518240685bf1@mail.kernel.org>
On Thu, Nov 05, 2026 at 08:19:45PM +0000, syzbot wrote:
> From: Uladzislau Zhauniarovich <uladzislau.zhauniarovich@gmail.com>
>
> Commit 19235e472798 ("cpuidle, arm64: Fix the ARM64 cpuidle logic") moved
> the calls to ct_cpuidle_enter() and ct_cpuidle_exit() into cpu_suspend() so
> that arm64 cpuidle could keep RCU watching longer and manage context
> tracking internally. However, cpu_suspend() is called not only by cpuidle
> via psci_cpu_suspend_enter() (which runs in the context of the idle task),
> but also during system suspend via psci_system_suspend_enter() (which runs
> in the context of the task initiating suspend, such as a process writing to
> /sys/power/state).
>
> When entering system suspend, current is a non-idle task. Calling
> ct_cpuidle_enter() invokes ct_kernel_exit() from kernel space (!user) on a
> non-idle task. With CONFIG_RCU_EQS_DEBUG enabled, this violates context
> tracking invariants and triggers a warning:
>
> WARNING: kernel/context_tracking.c:120 at ct_kernel_exit+0x1b4/0x1f4
> kernel/context_tracking.c:118
> Call trace:
> ct_kernel_exit+0x1b4/0x1f4 kernel/context_tracking.c:118
> ct_idle_enter+0x20/0x34 kernel/context_tracking.c:299
> ct_cpuidle_enter include/linux/cpuidle.h:134 [inline]
> cpu_suspend+0x264/0x474 arch/arm64/kernel/suspend.c:136
> psci_system_suspend_enter+0x4c/0x80 drivers/firmware/psci/psci.c:544
> suspend_enter kernel/power/suspend.c:468 [inline]
> suspend_devices_and_enter+0x88c/0xd0c kernel/power/suspend.c:533
> enter_state kernel/power/suspend.c:618 [inline]
> pm_suspend+0x498/0x698 kernel/power/suspend.c:644
> state_store+0x14c/0x1fc kernel/power/main.c:819
> kobj_attr_store+0x6c/0x90 lib/kobject.c:842
> sysfs_kf_write+0xe0/0x108 fs/sysfs/file.c:145
> kernfs_fop_write_iter+0x260/0x3b8 fs/kernfs/file.c:345
> vfs_write+0x51c/0xa0c fs/read_write.c:687
> ksys_write+0x12c/0x228 fs/read_write.c:739
>
> A corresponding warning is subsequently triggered in ct_kernel_enter() via
> ct_cpuidle_exit() upon resume.
>
> Fix this by checking is_idle_task(current) in cpu_suspend() and only
> invoking ct_cpuidle_enter() and ct_cpuidle_exit() when executing in the
> context of an idle task.
>
> Fixes: 19235e472798 ("cpuidle, arm64: Fix the ARM64 cpuidle logic")
> Assisted-by: Gemini:gemini-3.8-flash Gemini:gemini-3.1-pro-preview syzbot
> Reported-by: syzbot+79883955da3a62652a80@syzkaller.appspotmail.com
> Closes: https://syzkaller.appspot.com/bug?extid=79883955da3a62652a80
> Link: https://syzkaller.appspot.com/ai_job?id=5359e16f-013b-4850-9cbc-ddfb3bac95e5
> Signed-off-by: Uladzislau Zhauniarovich <uladzislau.zhauniarovich@gmail.com>
The patch looks fine to me but the authorship is confusing. It was sent
by a bot, also generated by a bot. Uladzislau tested the earlier RFC
(thanks!) and syzbot decided to make him author while dropping the
Tested-by. The original tested-by:
https://lore.kernel.org/all/3e92ccb0-2952-4317-af4c-45457c15efae@gmail.com/
I don't think #syz upstream should automatically translate to
Signed-off-by.
What do we even do with such bot-generated fixes (which may be correct,
so can't be entirely ignored)?
--
Catalin
WARNING: multiple messages have this Message-ID (diff)
From: Catalin Marinas <catalin.marinas@arm.com>
To: syzbot <syzbot@kernel.org>
Cc: mark.rutland@arm.com, syzbot@lists.linux.dev,
Uladzislau Zhauniarovich <uladzislau.zhauniarovich@gmail.com>,
ruanjinjie@huawei.com, syzkaller-bugs@googlegroups.com,
linux-kernel@vger.kernel.org,
Peter Zijlstra <peterz@infradead.org>,
vladimir.murzin@arm.com, Will Deacon <will@kernel.org>,
linux-arm-kernel@lists.infradead.org
Subject: Re: [PATCH] arm64: suspend: Only track cpuidle context for idle tasks
Date: Fri, 6 Nov 2026 18:16:27 +0000 [thread overview]
Message-ID: <au4Ze0u6L91ve4u7@arm.com> (raw)
In-Reply-To: <c49d0138-9e6d-40d4-b46c-518240685bf1@mail.kernel.org>
On Thu, Nov 05, 2026 at 08:19:45PM +0000, syzbot wrote:
> From: Uladzislau Zhauniarovich <uladzislau.zhauniarovich@gmail.com>
>
> Commit 19235e472798 ("cpuidle, arm64: Fix the ARM64 cpuidle logic") moved
> the calls to ct_cpuidle_enter() and ct_cpuidle_exit() into cpu_suspend() so
> that arm64 cpuidle could keep RCU watching longer and manage context
> tracking internally. However, cpu_suspend() is called not only by cpuidle
> via psci_cpu_suspend_enter() (which runs in the context of the idle task),
> but also during system suspend via psci_system_suspend_enter() (which runs
> in the context of the task initiating suspend, such as a process writing to
> /sys/power/state).
>
> When entering system suspend, current is a non-idle task. Calling
> ct_cpuidle_enter() invokes ct_kernel_exit() from kernel space (!user) on a
> non-idle task. With CONFIG_RCU_EQS_DEBUG enabled, this violates context
> tracking invariants and triggers a warning:
>
> WARNING: kernel/context_tracking.c:120 at ct_kernel_exit+0x1b4/0x1f4
> kernel/context_tracking.c:118
> Call trace:
> ct_kernel_exit+0x1b4/0x1f4 kernel/context_tracking.c:118
> ct_idle_enter+0x20/0x34 kernel/context_tracking.c:299
> ct_cpuidle_enter include/linux/cpuidle.h:134 [inline]
> cpu_suspend+0x264/0x474 arch/arm64/kernel/suspend.c:136
> psci_system_suspend_enter+0x4c/0x80 drivers/firmware/psci/psci.c:544
> suspend_enter kernel/power/suspend.c:468 [inline]
> suspend_devices_and_enter+0x88c/0xd0c kernel/power/suspend.c:533
> enter_state kernel/power/suspend.c:618 [inline]
> pm_suspend+0x498/0x698 kernel/power/suspend.c:644
> state_store+0x14c/0x1fc kernel/power/main.c:819
> kobj_attr_store+0x6c/0x90 lib/kobject.c:842
> sysfs_kf_write+0xe0/0x108 fs/sysfs/file.c:145
> kernfs_fop_write_iter+0x260/0x3b8 fs/kernfs/file.c:345
> vfs_write+0x51c/0xa0c fs/read_write.c:687
> ksys_write+0x12c/0x228 fs/read_write.c:739
>
> A corresponding warning is subsequently triggered in ct_kernel_enter() via
> ct_cpuidle_exit() upon resume.
>
> Fix this by checking is_idle_task(current) in cpu_suspend() and only
> invoking ct_cpuidle_enter() and ct_cpuidle_exit() when executing in the
> context of an idle task.
>
> Fixes: 19235e472798 ("cpuidle, arm64: Fix the ARM64 cpuidle logic")
> Assisted-by: Gemini:gemini-3.8-flash Gemini:gemini-3.1-pro-preview syzbot
> Reported-by: syzbot+79883955da3a62652a80@syzkaller.appspotmail.com
> Closes: https://syzkaller.appspot.com/bug?extid=79883955da3a62652a80
> Link: https://syzkaller.appspot.com/ai_job?id=5359e16f-013b-4850-9cbc-ddfb3bac95e5
> Signed-off-by: Uladzislau Zhauniarovich <uladzislau.zhauniarovich@gmail.com>
The patch looks fine to me but the authorship is confusing. It was sent
by a bot, also generated by a bot. Uladzislau tested the earlier RFC
(thanks!) and syzbot decided to make him author while dropping the
Tested-by. The original tested-by:
https://lore.kernel.org/all/3e92ccb0-2952-4317-af4c-45457c15efae@gmail.com/
I don't think #syz upstream should automatically translate to
Signed-off-by.
What do we even do with such bot-generated fixes (which may be correct,
so can't be entirely ignored)?
--
Catalin
next prev parent reply other threads:[~2026-11-06 18:16 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-11-05 20:19 [PATCH] arm64: suspend: Only track cpuidle context for idle tasks syzbot
2026-11-05 20:19 ` syzbot
2026-11-06 18:16 ` Catalin Marinas [this message]
2026-11-06 18:16 ` Catalin Marinas
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=au4Ze0u6L91ve4u7@arm.com \
--to=catalin.marinas@arm.com \
--cc=ada.coupriediaz@arm.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mark.rutland@arm.com \
--cc=peterz@infradead.org \
--cc=ruanjinjie@huawei.com \
--cc=syzbot@kernel.org \
--cc=syzbot@lists.linux.dev \
--cc=syzkaller-bugs@googlegroups.com \
--cc=uladzislau.zhauniarovich@gmail.com \
--cc=vladimir.murzin@arm.com \
--cc=will@kernel.org \
/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.