mirror of
https://github.com/torvalds/linux.git
synced 2024-11-27 14:41:39 +00:00
[media] videobuf2-dma-sg: fix possible memory leak
Fix the return when 'buf->pages' allocation error. Signed-off-by: Geyslan G. Bem <geyslan@gmail.com> Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
This commit is contained in:
parent
a5e3d743cb
commit
64c832a4f7
@ -178,7 +178,7 @@ static void *vb2_dma_sg_get_userptr(void *alloc_ctx, unsigned long vaddr,
|
||||
buf->pages = kzalloc(buf->num_pages * sizeof(struct page *),
|
||||
GFP_KERNEL);
|
||||
if (!buf->pages)
|
||||
return NULL;
|
||||
goto userptr_fail_alloc_pages;
|
||||
|
||||
num_pages_from_user = get_user_pages(current, current->mm,
|
||||
vaddr & PAGE_MASK,
|
||||
@ -204,6 +204,7 @@ userptr_fail_get_user_pages:
|
||||
while (--num_pages_from_user >= 0)
|
||||
put_page(buf->pages[num_pages_from_user]);
|
||||
kfree(buf->pages);
|
||||
userptr_fail_alloc_pages:
|
||||
kfree(buf);
|
||||
return NULL;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user