OSDN Git Service

arm: dma-mapping: fix data types to hold size_t
authorShiraz Hashim <shashim@codeaurora.org>
Sun, 21 Feb 2016 07:15:34 +0000 (12:45 +0530)
committerKyle Yan <kyan@codeaurora.org>
Wed, 1 Jun 2016 22:25:54 +0000 (15:25 -0700)
size_t type data should not be held under variable of type
int, as this can truncate large values especially on a
64bit system. Fix it.

Change-Id: I5ad1ab321738772a99920e3fa287bda266cb05ed
Signed-off-by: Shiraz Hashim <shashim@codeaurora.org>
arch/arm/mm/dma-mapping.c
arch/arm64/mm/dma-mapping.c

index 231cd6a..94d9792 100644 (file)
@@ -1230,8 +1230,8 @@ static struct page **__iommu_alloc_buffer(struct device *dev, size_t size,
                                          gfp_t gfp, struct dma_attrs *attrs)
 {
        struct page **pages;
-       int count = size >> PAGE_SHIFT;
-       int array_size = count * sizeof(struct page *);
+       size_t count = size >> PAGE_SHIFT;
+       size_t array_size = count * sizeof(struct page *);
        int i = 0;
 
        if (array_size <= PAGE_SIZE)
index 760874c..c2819df 100644 (file)
@@ -1207,8 +1207,8 @@ static struct page **__iommu_alloc_buffer(struct device *dev, size_t size,
                                          gfp_t gfp, struct dma_attrs *attrs)
 {
        struct page **pages;
-       int count = size >> PAGE_SHIFT;
-       int array_size = count * sizeof(struct page *);
+       size_t count = size >> PAGE_SHIFT;
+       size_t array_size = count * sizeof(struct page *);
        int i = 0;
 
        if (array_size <= PAGE_SIZE)
@@ -1398,8 +1398,8 @@ static void *__iommu_alloc_atomic(struct device *dev, size_t size,
 {
        struct page *page;
        struct page **pages;
-       int count = size >> PAGE_SHIFT;
-       int array_size = count * sizeof(struct page *);
+       size_t count = size >> PAGE_SHIFT;
+       size_t array_size = count * sizeof(struct page *);
        int i;
        void *addr;