diff options
author | Keerthy <j-keerthy@ti.com> | 2017-07-31 00:31:36 -0400 |
---|---|---|
committer | Arnd Bergmann <arnd@arndb.de> | 2017-08-21 03:19:50 -0400 |
commit | 4459398b6d9e3055ced5de9820364b3bdd79ac25 (patch) | |
tree | 0abf5181b2fe16ecd19229382d61f5d413dcf48c | |
parent | 4dd6a9973b8aaffac4bf37c5bb70e8eae5a7afb4 (diff) |
soc: ti: knav: Add a NULL pointer check for kdev in knav_pool_create
knav_pool_create is an exported function. In the event of a call
before knav_queue_probe, we encounter a NULL pointer dereference
in the following line. Hence return -EPROBE_DEFER to the caller till
the kdev pointer is non-NULL.
Signed-off-by: Keerthy <j-keerthy@ti.com>
Acked-by: Santosh Shilimkar <santosh.shilimkar@oracle.com>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
-rw-r--r-- | drivers/soc/ti/knav_qmss_queue.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/soc/ti/knav_qmss_queue.c b/drivers/soc/ti/knav_qmss_queue.c index 279e7c5551dd..39225de9d7f1 100644 --- a/drivers/soc/ti/knav_qmss_queue.c +++ b/drivers/soc/ti/knav_qmss_queue.c | |||
@@ -745,6 +745,9 @@ void *knav_pool_create(const char *name, | |||
745 | bool slot_found; | 745 | bool slot_found; |
746 | int ret; | 746 | int ret; |
747 | 747 | ||
748 | if (!kdev) | ||
749 | return ERR_PTR(-EPROBE_DEFER); | ||
750 | |||
748 | if (!kdev->dev) | 751 | if (!kdev->dev) |
749 | return ERR_PTR(-ENODEV); | 752 | return ERR_PTR(-ENODEV); |
750 | 753 | ||