In dma_cache_maint_page(), if offset is larger than PAGE_SIZE, len becomes PAGE_SIZE - offset. If size is smaller than PAGE_SIZE - offset, next calcuation of left cause overflow. Signed-off-by: KyongHo Cho <pullip.cho@xxxxxxxxxxx> --- arch/arm/mm/dma-mapping.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/arch/arm/mm/dma-mapping.c b/arch/arm/mm/dma-mapping.c index 1aa664a..14f53b6 100644 --- a/arch/arm/mm/dma-mapping.c +++ b/arch/arm/mm/dma-mapping.c @@ -517,7 +517,7 @@ static void dma_cache_maint_page(struct page *page, unsigned long offset, page += offset / PAGE_SIZE; offset %= PAGE_SIZE; } - len = PAGE_SIZE - offset; + len = min_t(size_t, PAGE_SIZE - offset, len); } vaddr = kmap_high_get(page); if (vaddr) { -- 1.7.1 -- To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html