From 587917bd0bb8c758a146adb954f3611ce858b7d5 Mon Sep 17 00:00:00 2001 From: Gopikrishna Mogasati Date: Thu, 10 Nov 2016 20:03:46 +0530 Subject: [PATCH] diag: Null pointer check to avoid kernel panic When accessing diag master table we need a check for null pointer while iterating over the circular list. Without this check there is a possibility of kernel panic. CRs-Fixed: 1087738 Change-Id: I73ee708f2df6e1cd6b56fc40296ede490824f194 Signed-off-by: Gopikrishna Mogasati --- drivers/char/diag/diagchar_core.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/drivers/char/diag/diagchar_core.c b/drivers/char/diag/diagchar_core.c index 9d0955289796..34f975685095 100644 --- a/drivers/char/diag/diagchar_core.c +++ b/drivers/char/diag/diagchar_core.c @@ -702,6 +702,11 @@ struct diag_cmd_reg_entry_t *diag_cmd_search( list_for_each_safe(start, temp, &driver->cmd_reg_list) { item = list_entry(start, struct diag_cmd_reg_t, link); + if (item == NULL || &item->entry == NULL) { + pr_err("diag: In %s, unable to search command\n", + __func__); + return NULL; + } temp_entry = &item->entry; if (temp_entry->cmd_code == entry->cmd_code && temp_entry->subsys_id == entry->subsys_id &&