From 59bea78942d68342a1362b5c31f64310fc7ece64 Mon Sep 17 00:00:00 2001 From: Swetha Chikkaboraiah Date: Wed, 20 Sep 2017 12:42:45 +0530 Subject: [PATCH] soc: qcom: pil: NULL check before pil_memset_io In existing implementation if vmap fails device panics for NULL pointer access while doing pil_memset_io. Instead check for the NULL pointer. Change-Id: I1b9fd084a8c168b70f6e01134e4122445e4873b4 Signed-off-by: Swetha Chikkaboraiah --- drivers/soc/qcom/peripheral-loader.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/drivers/soc/qcom/peripheral-loader.c b/drivers/soc/qcom/peripheral-loader.c index d82c36480159..6e153500f639 100644 --- a/drivers/soc/qcom/peripheral-loader.c +++ b/drivers/soc/qcom/peripheral-loader.c @@ -722,6 +722,12 @@ static void pil_clear_segment(struct pil_desc *desc) /* Clear memory so that unauthorized ELF code is not left behind */ buf = desc->map_fw_mem(priv->region_start, (priv->region_end - priv->region_start), map_data); + + if (!buf) { + pil_err(desc, "Failed to map memory\n"); + return; + } + pil_memset_io(buf, 0, (priv->region_end - priv->region_start)); desc->unmap_fw_mem(buf, (priv->region_end - priv->region_start), map_data);