gaoxu
ff10cd3e9b
dma-remap: use kvmalloc_array/kvfree for larger dma memory remap
...
[ Upstream commit 51ff97d54f02b4444dfc42e380ac4c058e12d5dd ]
If dma_direct_alloc() alloc memory in size of 64MB, the inner function
dma_common_contiguous_remap() will allocate 128KB memory by invoking
the function kmalloc_array(). and the kmalloc_array seems to fail to try to
allocate 128KB mem.
Call trace:
[14977.928623] qcrosvm: page allocation failure: order:5, mode:0x40cc0
[14977.928638] dump_backtrace.cfi_jt+0x0/0x8
[14977.928647] dump_stack_lvl+0x80/0xb8
[14977.928652] warn_alloc+0x164/0x200
[14977.928657] __alloc_pages_slowpath+0x9f0/0xb4c
[14977.928660] __alloc_pages+0x21c/0x39c
[14977.928662] kmalloc_order+0x48/0x108
[14977.928666] kmalloc_order_trace+0x34/0x154
[14977.928668] __kmalloc+0x548/0x7e4
[14977.928673] dma_direct_alloc+0x11c/0x4f8
[14977.928678] dma_alloc_attrs+0xf4/0x138
[14977.928680] gh_vm_ioctl_set_fw_name+0x3c4/0x610 [gunyah]
[14977.928698] gh_vm_ioctl+0x90/0x14c [gunyah]
[14977.928705] __arm64_sys_ioctl+0x184/0x210
work around by doing kvmalloc_array instead.
Signed-off-by: Gao Xu <gaoxu2@hihonor.com>
Reviewed-by: Suren Baghdasaryan <surenb@google.com>
Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2023-08-26 14:23:22 +02:00
..
2021-08-19 09:02:39 +02:00
2020-11-27 10:33:42 +01:00
2022-06-22 14:21:55 +02:00
2021-10-18 12:46:45 +02:00
2022-06-29 09:03:31 +02:00
2022-04-20 09:34:21 +02:00
2021-08-09 17:13:06 +02:00
2021-09-03 10:34:44 -07:00
2020-12-22 13:19:43 -08:00
2021-04-02 16:41:08 +02:00
2022-04-27 14:38:50 +02:00
2021-07-16 11:30:26 +02:00
2022-01-27 11:03:00 +01:00
2023-08-26 14:23:22 +02:00
2022-10-05 10:39:40 +02:00