Re: [PATCH v2 1/2] xen/xenbus: reference count registered modules

From: Jan Beulich
Date: Fri Nov 29 2019 - 11:00:55 EST


On 29.11.2019 14:43, Paul Durrant wrote:
> To prevent a module being removed whilst attached to a frontend, and

Why only frontend?

> hence xenbus calling into potentially invalid text, take a reference on
> the module before calling the probe() method (dropping it if unsuccessful)
> and drop the reference after returning from the remove() method.
>
> NOTE: This allows the ad-hoc reference counting in xen-netback to be
> removed. This will be done in a subsequent patch.
>
> Suggested-by: Jan Beulich <jbeulich@xxxxxxxx>
> Signed-off-by: Paul Durrant <pdurrant@xxxxxxxxxx>
>
> --- a/drivers/xen/xenbus/xenbus_probe.c
> +++ b/drivers/xen/xenbus/xenbus_probe.c
> @@ -232,9 +232,11 @@ int xenbus_dev_probe(struct device *_dev)
> return err;
> }
>
> + __module_get(drv->driver.owner);

I guess you really want try_module_get() and deal with it returning
false.

Jan