[PATCH v1 1/2] staging: greybus: audio: fix NULL dereference in gb_audio_manager_get_module()
From: Hardik Phalet
Date: Fri Feb 20 2026 - 00:44:40 EST
Empty MessageFrom 3b496a0daa8cbbbe50a7a09e6daf7bb4d8e6e9e5 Mon Sep 17 00:00:00 2001
From: Hardik Phalet <hardik.phalet@xxxxx>
Date: Fri, 20 Feb 2026 10:41:49 +0530
Subject: [PATCH v1 1/2] staging: greybus: audio: fix NULL dereference in
gb_audio_manager_get_module()
gb_audio_manager_get_module() calls gb_audio_manager_get_locked(), which
can return NULL when the requested id does not exist. The returned
pointer is dereferenced unconditionally via kobject_get(), leading to a
NULL pointer dereference.
Only take a kobject reference when the module is found.
Signed-off-by: Hardik Phalet <hardik.phalet@xxxxx>
---
drivers/staging/greybus/audio_manager.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/drivers/staging/greybus/audio_manager.c b/drivers/staging/greybus/audio_manager.c
index 27ca5f796c5f..1da8804e61ca 100644
--- a/drivers/staging/greybus/audio_manager.c
+++ b/drivers/staging/greybus/audio_manager.c
@@ -111,7 +111,8 @@ struct gb_audio_manager_module *gb_audio_manager_get_module(int id)
down_read(&modules_rwsem);
module = gb_audio_manager_get_locked(id);
- kobject_get(&module->kobj);
+ if (module)
+ kobject_get(&module->kobj);
up_read(&modules_rwsem);
return module;
}
--
2.53.0