mirror of
https://github.com/SCST-project/scst.git
synced 2026-05-21 04:31:26 +00:00
Fixes possible crash if sgv pools destroyed too early.
Reported by Smadar Gonen <smadar.gn@gmail.com> git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@955 d57e44dd-8a1f-0410-8b47-8ef2f437770f
This commit is contained in:
@@ -3094,8 +3094,8 @@ static int dev_user_release(struct inode *inode, struct file *file)
|
||||
scst_unregister_virtual_device(dev->virt_id);
|
||||
scst_unregister_virtual_dev_driver(&dev->devtype);
|
||||
|
||||
sgv_pool_del(dev->pool_clust);
|
||||
sgv_pool_del(dev->pool);
|
||||
sgv_pool_flush(dev->pool_clust);
|
||||
sgv_pool_flush(dev->pool);
|
||||
|
||||
TRACE_DBG("Unregistering finished (dev %p)", dev);
|
||||
|
||||
@@ -3106,6 +3106,9 @@ static int dev_user_release(struct inode *inode, struct file *file)
|
||||
|
||||
wait_for_completion(&dev->cleanup_cmpl);
|
||||
|
||||
sgv_pool_del(dev->pool_clust);
|
||||
sgv_pool_del(dev->pool);
|
||||
|
||||
up_write(&dev->dev_rwsem); /* to make the debug check happy */
|
||||
|
||||
TRACE_DBG("Releasing completed (dev %p)", dev);
|
||||
|
||||
Reference in New Issue
Block a user