diff options
| author | Hans de Goede <[email protected]> | 2024-12-09 22:05:19 +0000 |
|---|---|---|
| committer | Ilpo Järvinen <[email protected]> | 2024-12-10 13:41:20 +0000 |
| commit | cd2fd6eab480dfc247b737cf7a3d6b009c4d0f1c (patch) | |
| tree | 5304684d95ad328b63bdc6ca413b4f8d0af72084 /drivers/platform/x86/intel/int3472/discrete.c | |
| parent | platform/x86: intel: int0002_vgpio: Make the irqchip immutable (diff) | |
| download | kernel-cd2fd6eab480dfc247b737cf7a3d6b009c4d0f1c.tar.gz kernel-cd2fd6eab480dfc247b737cf7a3d6b009c4d0f1c.zip | |
platform/x86: int3472: Check for adev == NULL
Not all devices have an ACPI companion fwnode, so adev might be NULL. This
can e.g. (theoretically) happen when a user manually binds one of
the int3472 drivers to another i2c/platform device through sysfs.
Add a check for adev not being set and return -ENODEV in that case to
avoid a possible NULL pointer deref in skl_int3472_get_acpi_buffer().
Signed-off-by: Hans de Goede <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Reviewed-by: Ilpo Järvinen <[email protected]>
Signed-off-by: Ilpo Järvinen <[email protected]>
Diffstat (limited to 'drivers/platform/x86/intel/int3472/discrete.c')
| -rw-r--r-- | drivers/platform/x86/intel/int3472/discrete.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/platform/x86/intel/int3472/discrete.c b/drivers/platform/x86/intel/int3472/discrete.c index d881b2cfcdfc..09fff213b091 100644 --- a/drivers/platform/x86/intel/int3472/discrete.c +++ b/drivers/platform/x86/intel/int3472/discrete.c @@ -336,6 +336,9 @@ static int skl_int3472_discrete_probe(struct platform_device *pdev) struct int3472_cldb cldb; int ret; + if (!adev) + return -ENODEV; + ret = skl_int3472_fill_cldb(adev, &cldb); if (ret) { dev_err(&pdev->dev, "Couldn't fill CLDB structure\n"); |
