[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <CAMRc=MeM_ys7_Rk2=yhEVL6pe1bWQXqS8r_Y7P-SMQ_cTCMebA@mail.gmail.com>
Date: Wed, 14 Feb 2024 16:46:25 +0100
From: Bartosz Golaszewski <brgl@...ev.pl>
To: Bjorn Andersson <andersson@...nel.org>
Cc: Konrad Dybcio <konrad.dybcio@...aro.org>, Rob Herring <robh@...nel.org>,
Krzysztof Kozlowski <krzysztof.kozlowski+dt@...aro.org>, Conor Dooley <conor+dt@...nel.org>,
Marcel Holtmann <marcel@...tmann.org>, Luiz Augusto von Dentz <luiz.dentz@...il.com>,
Bjorn Helgaas <bhelgaas@...gle.com>, Neil Armstrong <neil.armstrong@...aro.org>,
Alex Elder <elder@...aro.org>, Srini Kandagatla <srinivas.kandagatla@...aro.org>,
Greg Kroah-Hartman <gregkh@...uxfoundation.org>, Arnd Bergmann <arnd@...db.de>,
Abel Vesa <abel.vesa@...aro.org>, Manivannan Sadhasivam <mani@...nel.org>, Lukas Wunner <lukas@...ner.de>,
linux-arm-msm@...r.kernel.org, devicetree@...r.kernel.org,
linux-kernel@...r.kernel.org, linux-bluetooth@...r.kernel.org,
linux-pci@...r.kernel.org,
Bartosz Golaszewski <bartosz.golaszewski@...aro.org>
Subject: Re: [RFC 8/9] PCI/pwrctl: add PCI power control core code
On Fri, Feb 2, 2024 at 4:53 AM Bjorn Andersson <andersson@...nel.org> wrote:
>
[snip]
>
> > + break;
> > + case BUS_NOTIFY_BOUND_DRIVER:
> > + pwrctl->link = device_link_add(dev, pwrctl->dev,
> > + DL_FLAG_AUTOREMOVE_CONSUMER);
> > + if (!pwrctl->link)
> > + dev_err(pwrctl->dev, "Failed to add device link\n");
> > + break;
> > + case BUS_NOTIFY_UNBOUND_DRIVER:
> > + device_link_del(pwrctl->link);
>
> This might however become a NULL-pointer dereference, if dev was bound
> to its driver before the pci_pwrctl_notify() was registered for the
> pwrctl and then the PCI device is unbound.
>
Right. And it also makes me think that right after registering with
the notifier, we should iterate over the PCI bus devices and see if
the relevant one is already there.
> This would also happen if device_link_add() failed when the PCI device
> was bound...
>
Right.
Bart
[snip]
Powered by blists - more mailing lists