ACPI: utils: Fix reference counting in for_each_acpi_dev_match()
Currently it's possible to iterate over the dangling pointer in case the device suddenly disappears. This may happen becase callers put it at the end of a loop. Instead, let's move that call inside acpi_dev_get_next_match_dev(). Fixes:803abec64e("media: ipu3-cio2: Add cio2-bridge to ipu3-cio2 driver") Fixes:bf263f64e8("media: ACPI / bus: Add acpi_dev_get_next_match_dev() and helper macro") Fixes:edbd1bc495("efi/dev-path-parser: Switch to use for_each_acpi_dev_match()") Signed-off-by: Andy Shevchenko <andy.shevchenko@gmail.com> Reviewed-by: Daniel Scally <djrscally@gmail.com> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
This commit is contained in:
committed by
Rafael J. Wysocki
parent
2734d6c1b1
commit
71f6428332
@@ -34,7 +34,6 @@ static long __init parse_acpi_path(const struct efi_dev_path *node,
|
||||
break;
|
||||
if (!adev->pnp.unique_id && node->acpi.uid == 0)
|
||||
break;
|
||||
acpi_dev_put(adev);
|
||||
}
|
||||
if (!adev)
|
||||
return -ENODEV;
|
||||
|
||||
Reference in New Issue
Block a user