* [PATCH v2 0/2] staging: greybus: audio: small fixes
@ 2026-02-20 6:30 Hardik Phalet
2026-02-20 6:30 ` [PATCH v2 1/2] staging: greybus: audio: fix NULL dereference in gb_audio_manager_get_module() Hardik Phalet
2026-02-20 6:30 ` [PATCH v2 2/2] staging: greybus: audio: drop stale TODO in module release Hardik Phalet
0 siblings, 2 replies; 6+ messages in thread
From: Hardik Phalet @ 2026-02-20 6:30 UTC (permalink / raw)
To: Johan Hovold, Alex Elder, Greg Kroah-Hartman
Cc: Vaibhav Agarwal, Mark Greer, greybus-dev, linux-staging,
linux-kernel, Hardik Phalet
Changes in v2:
- Resent using git-send-email (previous submission had incorrect formatting).
- No code changes.
This series contains two small fixes for the Greybus audio manager:
1) Fix a NULL dereference in gb_audio_manager_get_module().
2) Drop a stale TODO in the module release callback.
Both are correctness / cleanup fixes with no functional change beyond preventing crashes.
Thanks,
Hardik
Hardik Phalet (2):
staging: greybus: audio: fix NULL dereference in
gb_audio_manager_get_module()
staging: greybus: audio: drop stale TODO in module release
drivers/staging/greybus/audio_manager.c | 3 ++-
drivers/staging/greybus/audio_manager_module.c | 1 -
2 files changed, 2 insertions(+), 2 deletions(-)
--
2.53.0
^ permalink raw reply [flat|nested] 6+ messages in thread* [PATCH v2 1/2] staging: greybus: audio: fix NULL dereference in gb_audio_manager_get_module() 2026-02-20 6:30 [PATCH v2 0/2] staging: greybus: audio: small fixes Hardik Phalet @ 2026-02-20 6:30 ` Hardik Phalet 2026-02-20 8:08 ` Dan Carpenter 2026-02-20 6:30 ` [PATCH v2 2/2] staging: greybus: audio: drop stale TODO in module release Hardik Phalet 1 sibling, 1 reply; 6+ messages in thread From: Hardik Phalet @ 2026-02-20 6:30 UTC (permalink / raw) To: Johan Hovold, Alex Elder, Greg Kroah-Hartman Cc: Vaibhav Agarwal, Mark Greer, greybus-dev, linux-staging, linux-kernel, Hardik Phalet 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@pm.me> --- 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 ^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [PATCH v2 1/2] staging: greybus: audio: fix NULL dereference in gb_audio_manager_get_module() 2026-02-20 6:30 ` [PATCH v2 1/2] staging: greybus: audio: fix NULL dereference in gb_audio_manager_get_module() Hardik Phalet @ 2026-02-20 8:08 ` Dan Carpenter 2026-02-20 10:09 ` Hardik Phalet 0 siblings, 1 reply; 6+ messages in thread From: Dan Carpenter @ 2026-02-20 8:08 UTC (permalink / raw) To: Hardik Phalet Cc: Johan Hovold, Alex Elder, Greg Kroah-Hartman, Vaibhav Agarwal, Mark Greer, greybus-dev, linux-staging, linux-kernel On Fri, Feb 20, 2026 at 06:30:10AM +0000, Hardik Phalet wrote: > 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@pm.me> > --- > 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) I don't think this gb_audio_manager_get_module() function is ever called. If it is then we need a Fixes tag. regards, dan carpenter ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH v2 1/2] staging: greybus: audio: fix NULL dereference in gb_audio_manager_get_module() 2026-02-20 8:08 ` Dan Carpenter @ 2026-02-20 10:09 ` Hardik Phalet 2026-02-23 13:54 ` Greg Kroah-Hartman 0 siblings, 1 reply; 6+ messages in thread From: Hardik Phalet @ 2026-02-20 10:09 UTC (permalink / raw) To: Dan Carpenter, Hardik Phalet Cc: Johan Hovold, Alex Elder, Greg Kroah-Hartman, Vaibhav Agarwal, Mark Greer, greybus-dev, linux-staging, linux-kernel On Fri Feb 20, 2026 at 1:38 PM IST, Dan Carpenter wrote: > On Fri, Feb 20, 2026 at 06:30:10AM +0000, Hardik Phalet wrote: >> 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@pm.me> >> --- >> 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) > > I don't think this gb_audio_manager_get_module() function is ever > called. If it is then we need a Fixes tag. > > regards, > dan carpenter Thanks for pointing that out. I double-checked and could not find any in-tree callers for gb_audio_manager_get_module(), so this appears to be dead code and the NULL dereference is not reachable today. Would you prefer that I drop this fix, or should I follow up with a cleanup patch? Regards, Hardik Phalet ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH v2 1/2] staging: greybus: audio: fix NULL dereference in gb_audio_manager_get_module() 2026-02-20 10:09 ` Hardik Phalet @ 2026-02-23 13:54 ` Greg Kroah-Hartman 0 siblings, 0 replies; 6+ messages in thread From: Greg Kroah-Hartman @ 2026-02-23 13:54 UTC (permalink / raw) To: Hardik Phalet Cc: Dan Carpenter, Johan Hovold, Alex Elder, Vaibhav Agarwal, Mark Greer, greybus-dev, linux-staging, linux-kernel On Fri, Feb 20, 2026 at 10:09:33AM +0000, Hardik Phalet wrote: > On Fri Feb 20, 2026 at 1:38 PM IST, Dan Carpenter wrote: > > On Fri, Feb 20, 2026 at 06:30:10AM +0000, Hardik Phalet wrote: > >> 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@pm.me> > >> --- > >> 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) > > > > I don't think this gb_audio_manager_get_module() function is ever > > called. If it is then we need a Fixes tag. > > > > regards, > > dan carpenter > > Thanks for pointing that out. > > I double-checked and could not find any in-tree callers for > gb_audio_manager_get_module(), so this appears to be dead code and the > NULL dereference is not reachable today. > > Would you prefer that I drop this fix, or should I follow up with a > cleanup patch? Redo the series and just remove the unused functions entirely. thanks, greg k-h ^ permalink raw reply [flat|nested] 6+ messages in thread
* [PATCH v2 2/2] staging: greybus: audio: drop stale TODO in module release 2026-02-20 6:30 [PATCH v2 0/2] staging: greybus: audio: small fixes Hardik Phalet 2026-02-20 6:30 ` [PATCH v2 1/2] staging: greybus: audio: fix NULL dereference in gb_audio_manager_get_module() Hardik Phalet @ 2026-02-20 6:30 ` Hardik Phalet 1 sibling, 0 replies; 6+ messages in thread From: Hardik Phalet @ 2026-02-20 6:30 UTC (permalink / raw) To: Johan Hovold, Alex Elder, Greg Kroah-Hartman Cc: Vaibhav Agarwal, Mark Greer, greybus-dev, linux-staging, linux-kernel, Hardik Phalet Modules are removed from modules_list in gb_audio_manager_remove() and gb_audio_manager_remove_all() before kobject_put(). The TODO suggesting list deletion in the kobject release callback is stale and misleading. Signed-off-by: Hardik Phalet <hardik.phalet@pm.me> --- drivers/staging/greybus/audio_manager_module.c | 1 - 1 file changed, 1 deletion(-) diff --git a/drivers/staging/greybus/audio_manager_module.c b/drivers/staging/greybus/audio_manager_module.c index 4a4dfb42f50f..b1dd3da9f57c 100644 --- a/drivers/staging/greybus/audio_manager_module.c +++ b/drivers/staging/greybus/audio_manager_module.c @@ -69,7 +69,6 @@ static void gb_audio_module_release(struct kobject *kobj) struct gb_audio_manager_module *module = to_gb_audio_module(kobj); pr_info("Destroying audio module #%d\n", module->id); - /* TODO -> delete from list */ kfree(module); } -- 2.53.0 ^ permalink raw reply related [flat|nested] 6+ messages in thread
end of thread, other threads:[~2026-02-23 13:54 UTC | newest] Thread overview: 6+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2026-02-20 6:30 [PATCH v2 0/2] staging: greybus: audio: small fixes Hardik Phalet 2026-02-20 6:30 ` [PATCH v2 1/2] staging: greybus: audio: fix NULL dereference in gb_audio_manager_get_module() Hardik Phalet 2026-02-20 8:08 ` Dan Carpenter 2026-02-20 10:09 ` Hardik Phalet 2026-02-23 13:54 ` Greg Kroah-Hartman 2026-02-20 6:30 ` [PATCH v2 2/2] staging: greybus: audio: drop stale TODO in module release Hardik Phalet
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox