mailbox: arm_mhuv2: Skip calling kfree() with invalid pointer
authorViresh Kumar <viresh.kumar@linaro.org>
Mon, 22 Feb 2021 07:18:06 +0000 (12:48 +0530)
committerJassi Brar <jaswinder.singh@linaro.org>
Mon, 22 Feb 2021 19:34:27 +0000 (13:34 -0600)
It is possible that 'data' passed to kfree() is set to a error value
instead of allocated space. Make sure it doesn't get called with invalid
pointer.

Fixes: 5a6338cce9f4 ("mailbox: arm_mhuv2: Add driver")
Cc: v5.11 <stable@vger.kernel.org> # v5.11
Reported-by: kernel test robot <lkp@intel.com>
Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
Signed-off-by: Jassi Brar <jaswinder.singh@linaro.org>
drivers/mailbox/arm_mhuv2.c

index cdfb193..d997f8e 100644 (file)
@@ -699,7 +699,9 @@ static irqreturn_t mhuv2_receiver_interrupt(int irq, void *arg)
                ret = IRQ_HANDLED;
        }
 
-       kfree(data);
+       if (!IS_ERR(data))
+               kfree(data);
+
        return ret;
 }