public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [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

* [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

* 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

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