diff options
author | Ishwarya Balaji Gururajan <igururajan@nvidia.com> | 2014-07-01 18:04:32 -0700 |
---|---|---|
committer | Emad Mir <emir@nvidia.com> | 2014-07-03 10:41:47 -0700 |
commit | 18b5248fb736012b9553e5d68bb6327b164e54e7 (patch) | |
tree | 6c4a38b8768199fd9c9a750c507dbe013aa50b37 /drivers/video | |
parent | c7ed2def2b13fb3af95ed778e353dc902f5ab47e (diff) |
nvmap: add null pointer check in __nvmap_sg_table
Possible null pointer derefernce occurs when
nvmap_pages return NULL. Add null pointer check after
nvmap_pages call to prevent null pointer dereference in
sg_alloc_table_from_pages
bug 1516222
Change-Id: I7aa06f8b3e8c0846c496f62ad49f753d21bc9102
Signed-off-by: Ishwarya Balaji Gururajan <igururajan@nvidia.com>
Reviewed-on: http://git-master/r/433389
Reviewed-by: Automatic_Commit_Validation_User
Reviewed-by: Krishna Reddy <vdumpa@nvidia.com>
Reviewed-by: Sri Krishna Chowdary <schowdary@nvidia.com>
GVS: Gerrit_Virtual_Submit
Reviewed-by: Thomas Cherry <tcherry@nvidia.com>
Tested-by: Sri Krishna Chowdary <schowdary@nvidia.com>
Diffstat (limited to 'drivers/video')
-rw-r--r-- | drivers/video/tegra/nvmap/nvmap.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/video/tegra/nvmap/nvmap.c b/drivers/video/tegra/nvmap/nvmap.c index f0f16d88ef43..16eeeb2638d5 100644 --- a/drivers/video/tegra/nvmap/nvmap.c +++ b/drivers/video/tegra/nvmap/nvmap.c @@ -458,6 +458,10 @@ struct sg_table *__nvmap_sg_table(struct nvmap_client *client, sg_set_buf(sgt->sgl, phys_to_virt(handle_phys(h)), h->size); } else { pages = nvmap_pages(h->pgalloc.pages, npages); + if (!pages) { + err = -ENOMEM; + goto err; + } err = sg_alloc_table_from_pages(sgt, pages, npages, 0, h->size, GFP_KERNEL); nvmap_altfree(pages, npages * sizeof(*pages)); |