xen-blkback: prevent premature module unload
authorPaul Durrant <pdurrant@amazon.com>
Tue, 10 Dec 2019 14:53:05 +0000 (14:53 +0000)
committerJuergen Gross <jgross@suse.com>
Fri, 13 Dec 2019 07:34:06 +0000 (08:34 +0100)
commitfa2ac657f9783f0891b2935490afe9a7fd29d3fa
tree0aa8c9c49904c2b31db2d5e05f5e29cdb2b80779
parent14855954f63608c5622d5eaa964d3872ce5c5514
xen-blkback: prevent premature module unload

Objects allocated by xen_blkif_alloc come from the 'blkif_cache' kmem
cache. This cache is destoyed when xen-blkif is unloaded so it is
necessary to wait for the deferred free routine used for such objects to
complete. This necessity was missed in commit 14855954f636 "xen-blkback:
allow module to be cleanly unloaded". This patch fixes the problem by
taking/releasing extra module references in xen_blkif_alloc/free()
respectively.

Signed-off-by: Paul Durrant <pdurrant@amazon.com>
Reviewed-by: Roger Pau Monné <roger.pau@citrix.com>
Signed-off-by: Juergen Gross <jgross@suse.com>
drivers/block/xen-blkback/xenbus.c