]> git.baikalelectronics.ru Git - kernel.git/commit
dmapool: fix overflow condition in pool_find_page()
authorRobin Murphy <robin.murphy@arm.com>
Thu, 1 Oct 2015 22:37:19 +0000 (15:37 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Fri, 2 Oct 2015 01:42:35 +0000 (21:42 -0400)
commit997ba0cfa0ff408764605295d92564a824f51e81
treeca76fb3382ada58d059dae22fb60f18b7437c8d4
parent954129d61e04f577136ffe5cb4e5a41b78685358
dmapool: fix overflow condition in pool_find_page()

If a DMA pool lies at the very top of the dma_addr_t range (as may
happen with an IOMMU involved), the calculated end address of the pool
wraps around to zero, and page lookup always fails.

Tweak the relevant calculation to be overflow-proof.

Signed-off-by: Robin Murphy <robin.murphy@arm.com>
Cc: Arnd Bergmann <arnd@arndb.de>
Cc: Marek Szyprowski <m.szyprowski@samsung.com>
Cc: Sumit Semwal <sumit.semwal@linaro.org>
Cc: Sakari Ailus <sakari.ailus@iki.fi>
Cc: Russell King <rmk+kernel@arm.linux.org.uk>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
mm/dmapool.c