From 465314f8030ce16e996cbe0bc74dffe569d6cc74 Mon Sep 17 00:00:00 2001 From: Zhen Kong Date: Thu, 1 Jun 2017 15:06:00 -0700 Subject: [PATCH] qseecom: fix listener unregistration issue When listener unregister thread wakes up due to some system signals, but not because ioctl_cnt <=1, it should return directly, instead of continuing to remove listener list entry, which will lead kernel panic when another listener receive thread accesses this freed entry. Change-Id: I6ff97c56867d008232d7c50b22b372b0856c8dff Signed-off-by: Zhen Kong --- drivers/misc/qseecom.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/misc/qseecom.c b/drivers/misc/qseecom.c index 1c7cc917faa6..7d09f22d3bc6 100644 --- a/drivers/misc/qseecom.c +++ b/drivers/misc/qseecom.c @@ -1257,7 +1257,7 @@ static int qseecom_unregister_listener(struct qseecom_dev_handle *data) atomic_read(&data->ioctl_count) <= 1)) { pr_err("Interrupted from abort\n"); ret = -ERESTARTSYS; - break; + return ret; } }