Messages in this thread | | | From | Hans de Goede <> | Subject | aacraid code passes GFP_DMA32 to kmalloc this will not work | Date | Thu, 29 Mar 2018 16:51:28 +0200 |
| |
Hi All,
Since I made the same mistake myself I've done a quick grep for GFP_DMA32 in the kernel and drivers/scsi/aacraid/commctrl.c came up as a result of this grep, it does:
p = kmalloc(sg_count[i], GFP_KERNEL|GFP_DMA32);
But kmalloc always returns memory from the normal memory-zone, if you need memory from a specific memory-zone like the DMA32 zone, you must use the dma allocation functions (which from a quick glance at the code seems appropriate here) or directly call alloc_page or __get_free_page.
Regards,
Hans
| |