summaryrefslogtreecommitdiff
path: root/drivers/base
diff options
context:
space:
mode:
authorKrishna Reddy <vdumpa@nvidia.com>2013-10-08 22:20:56 -0700
committerKrishna Reddy <vdumpa@nvidia.com>2013-10-13 15:13:25 -0700
commit93b7b634092bc5d23af14c880866b3ac2e26f7d4 (patch)
tree823d3eddbf83afecb9df81d322356f34f9e7aa98 /drivers/base
parent5c09d61145230cfdf47fc3f5f831a52a27a2bb44 (diff)
base: dma-coherent: fix overflow issue
fix overflow issue during coherent memory free. Bug 1375907 Change-Id: Ib7164508acf9dd399d1028bd07c5b532c205aa02 Signed-off-by: Krishna Reddy <vdumpa@nvidia.com> Reviewed-on: http://git-master/r/283737 (cherry picked from commit 8cd3e197e00cb4402f0b6d01aa3ea7412baaf58d) Reviewed-on: http://git-master/r/294259 Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: Vandana Salve <vsalve@nvidia.com>
Diffstat (limited to 'drivers/base')
-rw-r--r--drivers/base/dma-coherent.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/base/dma-coherent.c b/drivers/base/dma-coherent.c
index 7e4d53183b4a..8ca472af251b 100644
--- a/drivers/base/dma-coherent.c
+++ b/drivers/base/dma-coherent.c
@@ -190,8 +190,8 @@ int dma_release_from_coherent(struct device *dev, int order, void *vaddr)
else
mem_addr = mem->virt_base;
- if (mem && vaddr >= mem_addr && vaddr <
- (mem_addr + (mem->size << PAGE_SHIFT))) {
+ if (mem && vaddr >= mem_addr &&
+ vaddr - mem_addr < mem->size << PAGE_SHIFT) {
int page = (vaddr - mem_addr) >> PAGE_SHIFT;
bitmap_release_region(mem->bitmap, page, order);