aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/target/target_core_user.c8
1 files changed, 3 insertions, 5 deletions
diff --git a/drivers/target/target_core_user.c b/drivers/target/target_core_user.c
index 396c2fa1ec22..4eeeaaf3796b 100644
--- a/drivers/target/target_core_user.c
+++ b/drivers/target/target_core_user.c
@@ -1633,7 +1633,7 @@ static void tcmu_dev_kref_release(struct kref *kref)
1633 WARN_ON(!all_expired); 1633 WARN_ON(!all_expired);
1634 1634
1635 tcmu_blocks_release(&udev->data_blocks, 0, udev->dbi_max + 1); 1635 tcmu_blocks_release(&udev->data_blocks, 0, udev->dbi_max + 1);
1636 kfree(udev->data_bitmap); 1636 bitmap_free(udev->data_bitmap);
1637 mutex_unlock(&udev->cmdr_lock); 1637 mutex_unlock(&udev->cmdr_lock);
1638 1638
1639 call_rcu(&dev->rcu_head, tcmu_dev_call_rcu); 1639 call_rcu(&dev->rcu_head, tcmu_dev_call_rcu);
@@ -1841,9 +1841,7 @@ static int tcmu_configure_device(struct se_device *dev)
1841 info = &udev->uio_info; 1841 info = &udev->uio_info;
1842 1842
1843 mutex_lock(&udev->cmdr_lock); 1843 mutex_lock(&udev->cmdr_lock);
1844 udev->data_bitmap = kcalloc(BITS_TO_LONGS(udev->max_blocks), 1844 udev->data_bitmap = bitmap_zalloc(udev->max_blocks, GFP_KERNEL);
1845 sizeof(unsigned long),
1846 GFP_KERNEL);
1847 mutex_unlock(&udev->cmdr_lock); 1845 mutex_unlock(&udev->cmdr_lock);
1848 if (!udev->data_bitmap) { 1846 if (!udev->data_bitmap) {
1849 ret = -ENOMEM; 1847 ret = -ENOMEM;
@@ -1930,7 +1928,7 @@ err_register:
1930 vfree(udev->mb_addr); 1928 vfree(udev->mb_addr);
1931 udev->mb_addr = NULL; 1929 udev->mb_addr = NULL;
1932err_vzalloc: 1930err_vzalloc:
1933 kfree(udev->data_bitmap); 1931 bitmap_free(udev->data_bitmap);
1934 udev->data_bitmap = NULL; 1932 udev->data_bitmap = NULL;
1935err_bitmap_alloc: 1933err_bitmap_alloc:
1936 kfree(info->name); 1934 kfree(info->name);