OSDN Git Service

msm: secure_buffer: Fix possible NULL pointer dereference
authorSusheel Khiani <skhiani@codeaurora.org>
Mon, 11 Apr 2016 12:32:43 +0000 (18:02 +0530)
committerKyle Yan <kyan@codeaurora.org>
Wed, 1 Jun 2016 22:26:08 +0000 (15:26 -0700)
Presently we were passing NULL dma_handle while
making dma_alloc_coherent call. This is an issue
as alloc function would try to populate handle
value with dma address and would end up getting
NULL pointer error. Fix this.

Change-Id: I38ebb9bbae2d6e1e1311fe438b3c8fc3f65e5692
Signed-off-by: Susheel Khiani <skhiani@codeaurora.org>
drivers/soc/qcom/secure_buffer.c

index af4f572..c01c225 100644 (file)
@@ -402,12 +402,13 @@ bool msm_secure_v2_is_supported(void)
 static int __init alloc_secure_shared_memory(void)
 {
        int ret = 0;
+       dma_addr_t dma_handle;
 
        qcom_secure_mem = kzalloc(QCOM_SECURE_MEM_SIZE, GFP_KERNEL);
        if (!qcom_secure_mem) {
                /* Fallback to CMA-DMA memory */
                qcom_secure_mem = dma_alloc_coherent(NULL, QCOM_SECURE_MEM_SIZE,
-                                               NULL, GFP_KERNEL);
+                                               &dma_handle, GFP_KERNEL);
                if (!qcom_secure_mem) {
                        pr_err("Couldn't allocate memory for secure use-cases. hyp_assign_table will not work\n");
                        return -ENOMEM;