Re: [PATCH] virtio: make PCI devices take a virtio_pci module ref

Michael Tokarev
2008-12-05T09:02:30Z

Jiri Slaby wrote:
> On 12/04/2008 01:44 PM, Mark McLoughlin wrote:
>> Nothing takes a ref on virtio_pci, so even if you have
>> devices in use, rmmod will attempt to unload the module.
>
> It unbinds the device properly as any other driver. So what's the problem here?

Here's what we get when rmmod'ing (a zero-refcounted but
in use) virtio_pci (I did it by a chance, cut-n-pasted
the wrong line):

WARNING: at drivers/base/core.c:122 device_release+0x5f/0x70()
Device 'virtio1' does not have a release() function, it is broken and must be fixed.
Modules linked in: ext3 jbd mbcache acpiphp dock pci_hotplug virtio_net virtio_blk virtio_pci(-) virtio_ring virtio

Pid: 361, comm: rmmod Tainted: G S 2.6.27-i686smp #2.6.27.7
[<c012b81f>] warn_slowpath+0x6f/0xa0
[<c0110030>] prepare_set+0x30/0x80
[<c012067e>] __wake_up+0x3e/0x60
[<c01d1d25>] release_sysfs_dirent+0x45/0xb0
...

>> Reported-by: Michael Tokarev <mjt@tls.msk.ru>

It was in my original report to kvm@vger.

Thanks!

/mjt