Re: [PATCH] nvdimm: nvdimm_bus_register: Avoid adding device to the unregistered bus

From: lizhijian@xxxxxxxxxxx
Date: Mon Mar 20 2023 - 23:20:46 EST




On 21/03/2023 10:38, Dan Williams wrote:
> lizhijian@xxxxxxxxxxx wrote:
> [..]
>>> Now I do think it would be a good idea to fail device_add() if the bus
>>> is not registered,
>>
>> BTW, below line 369: device_add() didn't fail in practical.
>>
>
> I think that's ok because the device gets added, but never probed due to
> this part of that commit I referenced:

Very thanks for your explanation.

>
> @@ -503,20 +517,21 @@ int bus_add_device(struct device *dev)
> */
> void bus_probe_device(struct device *dev)
> {
> - struct bus_type *bus = dev->bus;
> + struct subsys_private *sp = bus_to_subsys(dev->bus);
> struct subsys_interface *sif;
>
> - if (!bus)
> + if (!sp)
> return;
>
>
> ...so it does what you want which is disable the libnvdimm subsystem
> from binding to any devices without crashing.

Yes, it's fine enough to me.