]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
staging: greybus: lights: avoid NULL deref
authorChaitanya Mishra <chaitanyamishra.ai@gmail.com>
Thu, 8 Jan 2026 15:12:54 +0000 (20:42 +0530)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sun, 11 Jan 2026 12:55:33 +0000 (13:55 +0100)
commitefcffd9a6ad8d190651498d5eda53bfc7cf683a7
treef40fc6513e8d7922d29dcc51a3390e6ed2c63568
parent36a795e7eed3a8ba7afcb8eed248efb5e0962697
staging: greybus: lights: avoid NULL deref

gb_lights_light_config() stores channel_count before allocating the
channels array. If kcalloc() fails, gb_lights_release() iterates the
non-zero count and dereferences light->channels, which is NULL.

Allocate channels first and only then publish channels_count so the
cleanup path can't walk a NULL pointer.

Fixes: 2870b52bae4c ("greybus: lights: add lights implementation")
Link: https://lore.kernel.org/all/20260108103700.15384-1-chaitanyamishra.ai@gmail.com/
Reviewed-by: Rui Miguel Silva <rui.silva@linaro.org>
Signed-off-by: Chaitanya Mishra <chaitanyamishra.ai@gmail.com>
Link: https://patch.msgid.link/20260108151254.81553-1-chaitanyamishra.ai@gmail.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/greybus/light.c