From: Johan Hovold <johan@kernel.org>
To: Jon Hunter <jonathanh@nvidia.com>,
"Rafael J. Wysocki" <rjw@rjwysocki.net>
Cc: Linux PM <linux-pm@vger.kernel.org>,
LKML <linux-kernel@vger.kernel.org>,
Alan Stern <stern@rowland.harvard.edu>,
Bjorn Helgaas <helgaas@kernel.org>,
Linux PCI <linux-pci@vger.kernel.org>,
Ulf Hansson <ulf.hansson@linaro.org>,
Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>,
Kevin Xie <kevin.xie@starfivetech.com>,
"linux-tegra@vger.kernel.org" <linux-tegra@vger.kernel.org>
Subject: Re: [PATCH v1] PM: sleep: core: Synchronize runtime PM status of parents and children
Date: Fri, 7 Feb 2025 15:45:32 +0100 [thread overview]
Message-ID: <Z6YcjFBWAVVVANf2@hovoldconsulting.com> (raw)
In-Reply-To: <Z6YPpbRF_U0TxAbf@hovoldconsulting.com>
On Fri, Feb 07, 2025 at 02:50:29PM +0100, Johan Hovold wrote:
> Yeah, I hit something like this yesterday as well and did confirm that
> reverting this commit makes the problem go away. Haven't had time to dig
> much further.
>
> [ 110.522368] Unable to handle kernel NULL pointer dereference at virtual address 0000000000000000
> [ 110.855238] Call trace:
> [ 110.857861] simple_pm_bus_runtime_suspend+0x14/0x48 (P)
> [ 110.863425] pm_generic_runtime_suspend+0x2c/0x44
> [ 110.868362] pm_runtime_force_suspend+0x54/0x100
> [ 110.873217] dpm_run_callback+0xb4/0x228
> [ 110.877347] device_suspend_noirq+0x70/0x2a8
> [ 110.881844] dpm_noirq_suspend_devices+0xe0/0x230
> [ 110.886778] dpm_suspend_noirq+0x24/0x98
> [ 110.890904] suspend_devices_and_enter+0x368/0x678
> [ 110.895941] pm_suspend+0x1b4/0x348
> [ 110.899627] state_store+0x8c/0xfc
> [ 110.903228] kobj_attr_store+0x18/0x2c
> [ 110.907195] sysfs_kf_write+0x4c/0x78
> [ 110.911074] kernfs_fop_write_iter+0x120/0x1b4
> [ 110.915735] vfs_write+0x2ac/0x358
> [ 110.919352] ksys_write+0x68/0xfc
> [ 110.922873] __arm64_sys_write+0x1c/0x28
> [ 110.927002] invoke_syscall+0x48/0x110
> [ 110.930969] el0_svc_common.constprop.0+0x40/0xe0
> [ 110.935907] do_el0_svc+0x1c/0x28
> [ 110.939427] el0_svc+0x48/0x114
> [ 110.942769] el0t_64_sync_handler+0xc8/0xcc
> [ 110.947180] el0t_64_sync+0x198/0x19c
> [ 110.951059] Code: a9be7bfd 910003fd a90153f3 f9403c00 (f9400014)
> [ 110.957428] ---[ end trace 0000000000000000 ]---
Ok, so the driver data is never set and runtime PM is never enabled for
this simple bus device, which uses pm_runtime_force_suspend() for system
sleep.
This used to work as the runtime PM state was left at 'suspended', which
makes pm_runtime_force_suspend() return early, but now we can end up
with a call to the driver runtime PM ops that dereference the NULL
driver data.
Johan
next prev parent reply other threads:[~2025-02-07 14:45 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-01-28 19:24 [PATCH v1] PM: sleep: core: Synchronize runtime PM status of parents and children Rafael J. Wysocki
2025-01-29 8:31 ` Johan Hovold
2025-01-29 11:52 ` Ulf Hansson
2025-01-29 15:55 ` Rafael J. Wysocki
2025-01-29 16:42 ` Ulf Hansson
2025-01-29 16:58 ` Rafael J. Wysocki
2025-01-30 11:11 ` Ulf Hansson
2025-01-30 13:19 ` Rafael J. Wysocki
2025-01-31 10:01 ` Ulf Hansson
2025-02-01 12:35 ` Rafael J. Wysocki
2025-02-03 12:12 ` Ulf Hansson
2025-02-07 13:38 ` Jon Hunter
2025-02-07 13:50 ` Johan Hovold
2025-02-07 14:45 ` Johan Hovold [this message]
2025-02-07 15:41 ` Rafael J. Wysocki
2025-02-07 16:06 ` Johan Hovold
2025-02-07 16:26 ` Johan Hovold
2025-02-07 18:14 ` Rafael J. Wysocki
2025-02-08 12:10 ` Rafael J. Wysocki
2025-02-08 16:42 ` Johan Hovold
2025-02-08 17:43 ` Rafael J. Wysocki
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=Z6YcjFBWAVVVANf2@hovoldconsulting.com \
--to=johan@kernel.org \
--cc=helgaas@kernel.org \
--cc=jonathanh@nvidia.com \
--cc=kevin.xie@starfivetech.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pci@vger.kernel.org \
--cc=linux-pm@vger.kernel.org \
--cc=linux-tegra@vger.kernel.org \
--cc=manivannan.sadhasivam@linaro.org \
--cc=rjw@rjwysocki.net \
--cc=stern@rowland.harvard.edu \
--cc=ulf.hansson@linaro.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.