summaryrefslogtreecommitdiff
path: root/drivers/video
diff options
context:
space:
mode:
authorIshwarya Balaji Gururajan <igururajan@nvidia.com>2014-07-01 18:04:32 -0700
committerEmad Mir <emir@nvidia.com>2014-07-03 10:41:47 -0700
commit18b5248fb736012b9553e5d68bb6327b164e54e7 (patch)
tree6c4a38b8768199fd9c9a750c507dbe013aa50b37 /drivers/video
parentc7ed2def2b13fb3af95ed778e353dc902f5ab47e (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.c4
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));