Re: [PATCH v1 1/1] ACPI: scan: Use unique number for instance_no
From: "Rafael J. Wysocki" <rafael@kernel.org>
Date: 2021-03-19 18:45:58
Also in:
lkml
From: "Rafael J. Wysocki" <rafael@kernel.org>
Date: 2021-03-19 18:45:58
Also in:
lkml
On Fri, Mar 19, 2021 at 7:06 PM Andy Shevchenko [off-list ref] wrote:
On Fri, Mar 19, 2021 at 06:00:38PM +0100, Rafael J. Wysocki wrote:quoted
On Fri, Mar 12, 2021 at 5:02 PM Andy Shevchenko [off-list ref] wrote:quoted
Current mechanism of incrementing and decrementing plain integer to get a next free instance_no when creating an ACPI device is fragile. In case of hot plug event or namespace removal of the device instances with the low numbers the plain integer counter can't cover the gaps and become desynchronized with real state of affairs. If during next hot plug event or namespace injection the new instances of the devices need to be instantiated, the counter may mistakenly point to the existing instance_no and kernel will complain: "sysfs: cannot create duplicate filename '/bus/acpi/devices/XXXX1234:02'"This is a slightly convoluted way of stating that there is a bug in acpi_device_del().Any suggestion how to massage the above?
Why don't you simply say something like "The decrementation of acpi_device_bus_id->instance_no in acpi_device_del() is incorrect, because it may cause a duplicate instance number to be allocated next time a device with the same acpi_device_bus_id is added."