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

Jarkko Sakkinen <[email protected]>
Newsgroups org.kernel.vger.linux-integrity,org.kernel.vger.linux-acpi,org.kernel.vger.linux-kernel
Message-ID <[email protected]>
On Tue, May 12, 2026 at 06:16:23PM +0200, Rafael J. Wysocki wrote:
> From: "Rafael J. Wysocki" <[email protected]>
> 
> 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 <[email protected]>
> ---
>  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 <[email protected]>

Thank you.

BR, Jarkko
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.