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

From: Michael Tokarev
Date: Fri Dec 05 2008 - 04:02:33 EST


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@xxxxxxxxxx>

It was in my original report to kvm@vger.

Thanks!

/mjt
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/