OSDN Git Service

msm: ipa: dynamic memory leak fix
authorMichael Adisumarta <madisuma@codeaurora.org>
Thu, 2 Nov 2017 01:16:48 +0000 (18:16 -0700)
committerGerrit - the friendly Code Review server <code-review@localhost>
Tue, 28 Nov 2017 13:07:39 +0000 (05:07 -0800)
This is a fix for dynamic memory leak seen with incorrectly
allocating memory of a different size than with intended
size.

Change-Id: I821442ee6728ea90ceab7644e194f4e06369333a
Acked-by: Jyothi Jayanthi <jyothij@qti.qualcomm.com>
Signed-off-by: Michael Adisumarta <madisuma@codeaurora.org>
drivers/platform/msm/ipa/ipa_v3/ipa_uc_wdi.c

index d3837a0..b92c08d 100644 (file)
@@ -618,8 +618,9 @@ static void ipa_save_uc_smmu_mapping_pa(int res_idx, phys_addr_t pa,
                unsigned long iova, size_t len)
 {
        IPADBG("--res_idx=%d pa=0x%pa iova=0x%lx sz=0x%zx\n", res_idx,
-                       &pa, iova, len);
-       wdi_res[res_idx].res = kzalloc(sizeof(struct ipa_wdi_res), GFP_KERNEL);
+               &pa, iova, len);
+       wdi_res[res_idx].res = kzalloc(sizeof(*wdi_res[res_idx].res),
+               GFP_KERNEL);
        if (!wdi_res[res_idx].res)
                BUG();
        wdi_res[res_idx].nents = 1;
@@ -645,7 +646,8 @@ static void ipa_save_uc_smmu_mapping_sgt(int res_idx, struct sg_table *sgt,
                return;
        }
 
-       wdi_res[res_idx].res = kcalloc(sgt->nents, sizeof(struct ipa_wdi_res),
+       wdi_res[res_idx].res = kcalloc(sgt->nents,
+               sizeof(*wdi_res[res_idx].res),
                        GFP_KERNEL);
        if (!wdi_res[res_idx].res)
                BUG();