diff options
| -rw-r--r-- | drivers/misc/habanalabs/memory.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/drivers/misc/habanalabs/memory.c b/drivers/misc/habanalabs/memory.c index 4f8c968e441a..ce1fda40a8b8 100644 --- a/drivers/misc/habanalabs/memory.c +++ b/drivers/misc/habanalabs/memory.c | |||
| @@ -93,7 +93,7 @@ static int alloc_device_memory(struct hl_ctx *ctx, struct hl_mem_in *args, | |||
| 93 | phys_pg_pack->flags = args->flags; | 93 | phys_pg_pack->flags = args->flags; |
| 94 | phys_pg_pack->contiguous = contiguous; | 94 | phys_pg_pack->contiguous = contiguous; |
| 95 | 95 | ||
| 96 | phys_pg_pack->pages = kcalloc(num_pgs, sizeof(u64), GFP_KERNEL); | 96 | phys_pg_pack->pages = kvmalloc_array(num_pgs, sizeof(u64), GFP_KERNEL); |
| 97 | if (!phys_pg_pack->pages) { | 97 | if (!phys_pg_pack->pages) { |
| 98 | rc = -ENOMEM; | 98 | rc = -ENOMEM; |
| 99 | goto pages_arr_err; | 99 | goto pages_arr_err; |
| @@ -148,7 +148,7 @@ page_err: | |||
| 148 | gen_pool_free(vm->dram_pg_pool, phys_pg_pack->pages[i], | 148 | gen_pool_free(vm->dram_pg_pool, phys_pg_pack->pages[i], |
| 149 | page_size); | 149 | page_size); |
| 150 | 150 | ||
| 151 | kfree(phys_pg_pack->pages); | 151 | kvfree(phys_pg_pack->pages); |
| 152 | pages_arr_err: | 152 | pages_arr_err: |
| 153 | kfree(phys_pg_pack); | 153 | kfree(phys_pg_pack); |
| 154 | pages_pack_err: | 154 | pages_pack_err: |
| @@ -288,7 +288,7 @@ static void free_phys_pg_pack(struct hl_device *hdev, | |||
| 288 | } | 288 | } |
| 289 | } | 289 | } |
| 290 | 290 | ||
| 291 | kfree(phys_pg_pack->pages); | 291 | kvfree(phys_pg_pack->pages); |
| 292 | kfree(phys_pg_pack); | 292 | kfree(phys_pg_pack); |
| 293 | } | 293 | } |
| 294 | 294 | ||
| @@ -692,7 +692,8 @@ static int init_phys_pg_pack_from_userptr(struct hl_ctx *ctx, | |||
| 692 | 692 | ||
| 693 | page_mask = ~(((u64) page_size) - 1); | 693 | page_mask = ~(((u64) page_size) - 1); |
| 694 | 694 | ||
| 695 | phys_pg_pack->pages = kcalloc(total_npages, sizeof(u64), GFP_KERNEL); | 695 | phys_pg_pack->pages = kvmalloc_array(total_npages, sizeof(u64), |
| 696 | GFP_KERNEL); | ||
| 696 | if (!phys_pg_pack->pages) { | 697 | if (!phys_pg_pack->pages) { |
| 697 | rc = -ENOMEM; | 698 | rc = -ENOMEM; |
| 698 | goto page_pack_arr_mem_err; | 699 | goto page_pack_arr_mem_err; |
