Re: [PATCH] nubus: switch to dynamic root device

From: Johan Hovold

Date: Mon Apr 27 2026 - 11:41:11 EST


On Sat, Apr 25, 2026 at 02:07:10PM +1000, Finn Thain wrote:
> On Fri, 24 Apr 2026, Johan Hovold wrote:
>
> > Driver core expects devices to be dynamically allocated and will, for
> > example, complain loudly if a device that lacks a release function is
> > ever freed.
> >
>
> Yes, in drivers/base/core.c, there is a warning in device_release().
>
> WARN(1, KERN_ERR "Device '%s' does not have a release()
> function, it is broken and must be fixed. See
> Documentation/core-api/kobject.rst.\n",
>
> But there's no way for the refcount for the nubus parent device to reach
> zero that I can see. Did I miss something?

It will if registration ever fails (e.g. due to fault injection or name
collision):

err = device_register(&nubus_parent);
if (err) {
put_device(&nubus_parent);
return err;
}

Johan