mirror of
https://github.com/torvalds/linux.git
synced 2024-11-12 07:01:57 +00:00
target/iblock: Fix double bioset_integrity_free bug
This patch fixes a double free bug during IBLOCK backend shutdown
where bioset_integrity_free() was incorrectly called ahead of
bioset_free(), who is already making the same call directly.
This bug was introduced with commit ecebbf6cc
, and will end up
triggering a general protection fault in iblock_free_device()
Reviewed-by: Sagi Grimberg <sagig@mellanox.com>
Cc: Martin K. Petersen <martin.petersen@oracle.com>
Cc: Or Gerlitz <ogerlitz@mellanox.com>
Cc: Quinn Tran <quinn.tran@qlogic.com>
Cc: Giridhar Malavali <giridhar.malavali@qlogic.com>
Cc: <stable@vger.kernel.org> #3.14+
Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
This commit is contained in:
parent
a1e1774c6d
commit
d84287bcfe
@ -203,10 +203,9 @@ static void iblock_free_device(struct se_device *dev)
|
||||
|
||||
if (ib_dev->ibd_bd != NULL)
|
||||
blkdev_put(ib_dev->ibd_bd, FMODE_WRITE|FMODE_READ|FMODE_EXCL);
|
||||
if (ib_dev->ibd_bio_set != NULL) {
|
||||
bioset_integrity_free(ib_dev->ibd_bio_set);
|
||||
if (ib_dev->ibd_bio_set != NULL)
|
||||
bioset_free(ib_dev->ibd_bio_set);
|
||||
}
|
||||
|
||||
kfree(ib_dev);
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user