From: Vaibhav Agarwal <vaibhav.agarwal@linaro.org>
Date: Tue, 17 May 2016 16:59:08 +0000 (+0530)
Subject: greybus: audio: gb_manager: Use valid argument while removing ida allocated id.
X-Git-Url: https://git.stricted.de/?a=commitdiff_plain;h=ac00154a7c6a8f3b2a98c1cf3cef893af2b0abac;p=GitHub%2Fmoto-9609%2Fandroid_kernel_motorola_exynos9610.git

greybus: audio: gb_manager: Use valid argument while removing ida allocated id.

module->id is used as an argument to ida_simple_remove(). Since module
is already dereferenced, module->id might contain invalid data. So fix
this.

Fixes: da4cc2d0b066 ("audio:gb_manager: Use proper locking around kobject_xxx")
Signed-off-by: Vaibhav Agarwal <vaibhav.agarwal@linaro.org>
Reviewed-by: Mark Greer <mgreer@animalcreek.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
---

diff --git a/drivers/staging/greybus/audio_manager.c b/drivers/staging/greybus/audio_manager.c
index 9def014cd47c..aa6508b44fab 100644
--- a/drivers/staging/greybus/audio_manager.c
+++ b/drivers/staging/greybus/audio_manager.c
@@ -76,7 +76,7 @@ int gb_audio_manager_remove(int id)
 	list_del(&module->list);
 	kobject_put(&module->kobj);
 	up_write(&modules_rwsem);
-	ida_simple_remove(&module_id, module->id);
+	ida_simple_remove(&module_id, id);
 	return 0;
 }
 EXPORT_SYMBOL_GPL(gb_audio_manager_remove);