Hi, > > > - kfree(vbuf->data_buf); > > > + kvfree(vbuf->data_buf); > > > > if (is_vmalloc_addr(vbuf->data_buf)) ... > > > > needed here I gues? > > > > kvfree() handles vmalloc/kmalloc/kvmalloc internally by doing that check. Ok. > - videobuf_vmalloc_to_sg in drivers/media/v4l2-core/videobuf-dma-sg.c, > assumes contiguous array of scatterlist and that the buffer being converted > is page aligned Well, vmalloc memory _is_ page aligned. sg_alloc_table_from_pages() does alot of what you need, you just need a small loop around vmalloc_to_page() create a struct page array beforehand. Completely different approach: use get_user_pages() and don't copy the execbuffer at all. cheers, Gerd _______________________________________________ Virtualization mailing list Virtualization@xxxxxxxxxxxxxxxxxxxxxxxxxx https://lists.linuxfoundation.org/mailman/listinfo/virtualization