Commit
89de1669ace055b56f1de1c9f5aca26dd7f17f25 upstream.
The call to del_gendisk follows an non-refcounted gd->queue
pointer. We release the last ref in blk_cleanup_queue. Fixed by
reordering releases accordingly.
Signed-off-by: Daniel Stodden <daniel.stodden@citrix.com>
Signed-off-by: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
Signed-off-by: David Vrabel <david.vrabel@citrix.com>
Signed-off-by: Willy Tarreau <w@1wt.eu>
/* Flush gnttab callback work. Must be done with no locks held. */
flush_scheduled_work();
+ del_gendisk(info->gd);
+
blk_cleanup_queue(info->rq);
info->rq = NULL;
- del_gendisk(info->gd);
-
out:
xenbus_frontend_closed(dev);
}