[PATCH] drm/gma500: Fix possible null pointer dereference on sender

Colin King colin.king at canonical.com
Thu Sep 15 14:55:47 UTC 2016


From: Colin Ian King <colin.king at canonical.com>

There is a null pointer sanity check on sender after sender is earlier
dereferenced on the intialization of drm_device dev. Move this
dereference to after sender is sanity checked to avoid the null
pointer dereference.  Issue found with static analysis using CoverityScan.

Signed-off-by: Colin Ian King <colin.king at canonical.com>
---
 drivers/gpu/drm/gma500/mdfld_dsi_pkg_sender.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/gma500/mdfld_dsi_pkg_sender.c b/drivers/gpu/drm/gma500/mdfld_dsi_pkg_sender.c
index 1616af2..37b1030 100644
--- a/drivers/gpu/drm/gma500/mdfld_dsi_pkg_sender.c
+++ b/drivers/gpu/drm/gma500/mdfld_dsi_pkg_sender.c
@@ -520,7 +520,7 @@ static int __read_panel_data(struct mdfld_dsi_pkg_sender *sender, u8 data_type,
 			u8 *data, u16 len, u32 *data_out, u16 len_out, bool hs)
 {
 	unsigned long flags;
-	struct drm_device *dev = sender->dev;
+	struct drm_device *dev;
 	int i;
 	u32 gen_data_reg;
 	int retry = MDFLD_DSI_READ_MAX_COUNT;
@@ -538,6 +538,7 @@ static int __read_panel_data(struct mdfld_dsi_pkg_sender *sender, u8 data_type,
 	 */
 	spin_lock_irqsave(&sender->lock, flags);
 
+	dev = sender->dev;
 	REG_WRITE(sender->mipi_intr_stat_reg, BIT(29));
 
 	if ((REG_READ(sender->mipi_intr_stat_reg) & BIT(29)))
-- 
2.9.3



More information about the dri-devel mailing list