Re: [PATCH v1] tpm_crb: Check ACPI_COMPANION() against NULL during probe

From: Jarkko Sakkinen

Date: Fri May 15 2026 - 21:15:05 EST


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>

Thank you.

BR, Jarkko