Re: [PATCH] virtio-mmio: fix device release warning on module unload
From: Johan Hovold
Date: Mon Apr 27 2026 - 11:07:11 EST
On Mon, Apr 27, 2026 at 12:16:47PM +0800, Jason Wang wrote:
> On Fri, Apr 24, 2026 at 6:48 PM Johan Hovold <johan@xxxxxxxxxx> wrote:
> >
> > Driver core expects devices to be allocated dynamically and complains
> > loudly when a device that lacks a release function is freed.
> >
> > Use __root_device_register() to allocate and register the root device
> > instead of open coding using a static device.
> > -static struct device vm_cmdline_parent = {
> > - .init_name = "virtio-mmio-cmdline",
> > -};
> > +static struct device *vm_cmdline_parent;
>
> vm_cmdline_get() is the .get callback for the device module parameter.
> It is invoked when userspace reads
> /sys/module/virtio_mmio/parameters/device. This function uses
> vm_cmdline_parent unconditionally, without checking whether the device
> has been registered. This would cause NULL pointer dereference.
Indeed, Sashiko flagged this as well. Just sent a v2 here:
https://lore.kernel.org/r/20260427143710.14702-1-johan@xxxxxxxxxx
Johan