Re: [PATCH v1] tpm_crb: Check ACPI_COMPANION() against NULL during probe
From: Rafael J. Wysocki
Date: Mon Jun 08 2026 - 13:37:31 EST
On Tue, May 19, 2026 at 11:01 PM Rafael J. Wysocki <rafael@xxxxxxxxxx> wrote:
>
> On Sat, May 16, 2026 at 3:15 AM Jarkko Sakkinen <jarkko@xxxxxxxxxx> wrote:
> >
> > On Tue, May 12, 2026 at 06:16:23PM +0200, Rafael J. Wysocki wrote:
> > > From: "Rafael J. Wysocki" <rafael.j.wysocki@xxxxxxxxx>
> > >
> > > Every platform driver can be forced to match a device that doesn't match
> > > its list of device IDs because of device_match_driver_override(), so
> > > platform drivers that rely on the existence of a device's ACPI companion
> > > object need to verify its presence.
> > >
> > > Accordingly, add a requisite ACPI_COMPANION() check against NULL to the
> > > tpm_crb driver.
> > >
> > > Fixes: 48fe2cddc85c ("tpm_crb: Convert ACPI driver to a platform one")
> > > Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx>
> > > ---
> > > drivers/char/tpm/tpm_crb.c | 6 +++++-
> > > 1 file changed, 5 insertions(+), 1 deletion(-)
> > >
> > > --- a/drivers/char/tpm/tpm_crb.c
> > > +++ b/drivers/char/tpm/tpm_crb.c
> > > @@ -786,8 +786,8 @@ static int crb_map_pluton(struct device
> > > static int crb_acpi_probe(struct platform_device *pdev)
> > > {
> > > struct device *dev = &pdev->dev;
> > > - struct acpi_device *device = ACPI_COMPANION(dev);
> > > struct acpi_table_tpm2 *buf;
> > > + struct acpi_device *device;
> > > struct crb_priv *priv;
> > > struct tpm_chip *chip;
> > > struct tpm2_crb_smc *crb_smc;
> > > @@ -797,6 +797,10 @@ static int crb_acpi_probe(struct platfor
> > > u32 sm;
> > > int rc;
> > >
> > > + device = ACPI_COMPANION(dev);
> > > + if (!device)
> > > + return -ENODEV;
> > > +
> > > status = acpi_get_table(ACPI_SIG_TPM2, 1,
> > > (struct acpi_table_header **) &buf);
> > > if (ACPI_FAILURE(status) || buf->header.length < sizeof(*buf)) {
> > >
> > >
> > >
> >
> > Reviewed-by: Jarkko Sakkinen <jarkko@xxxxxxxxxx>
>
> Thanks!
>
> So do you want me to pick up this one?
I took the silence as consent and picked it up. If you'd rather route
it differently, please let me know.
Thanks!