On Sun, Jan 15, 2017 at 12:54 PM, Greg KH <greg@xxxxxxxxx> wrote: > On Sun, Jan 15, 2017 at 12:17:40PM +0200, Ran Shalit wrote: >> Hello, >> >> I've seen some modules where it is tested if virtual address is 0, and >> if yes, it is acted as if it is an error. >> But can't virtual address be zero too ? >> >> For example, in the following module: >> https://github.com/khilman/omap-test-dmatest/blob/master/main.c >> it is checked the returned value of dma_alloc_coherent as following: >> >> dma_test[i].src_buf = (unsigned long) dma_alloc_coherent(NULL, >> buf_size (dma_addr_t *)&dma_test[i].src_buf_phys, GFP_KERNEL | >> GFP_DMA); >> if (!dma_test[i].src_buf) { >> printk("dmatest_init(): get_zeroed_page() failed.\n"); >> r = -ENOMEM; >> goto cleanup; >> } >> >> As you can see , when dma_alloc_coherent returns 0 , it is acted as >> if it is an error. > > Yes, if dma_alloc_coherent returns NULL, an error happened and the > memory could not be allocated. > > In-kernel memory pointers will never be NULL if they are valid. > > Hope this helps, Thank you very much, Ran > > greg k-h _______________________________________________ Kernelnewbies mailing list Kernelnewbies@xxxxxxxxxxxxxxxxx https://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies