]> git.dujemihanovic.xyz Git - linux.git/commit
gpiolib: Fix potential NULL pointer dereference in gpiod_get_label()
authorLad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com>
Thu, 3 Oct 2024 13:13:51 +0000 (14:13 +0100)
committerBartosz Golaszewski <bartosz.golaszewski@linaro.org>
Thu, 3 Oct 2024 18:51:47 +0000 (20:51 +0200)
commit7b99b5ab885993bff010ebcd93be5e511c56e28a
tree1869d60c88daa01144bcb408a570266bfb2e1fe1
parent5a431e50e9d4189800be1607eef9deaf95959fc3
gpiolib: Fix potential NULL pointer dereference in gpiod_get_label()

In `gpiod_get_label()`, it is possible that `srcu_dereference_check()` may
return a NULL pointer, leading to a scenario where `label->str` is accessed
without verifying if `label` itself is NULL.

This patch adds a proper NULL check for `label` before accessing
`label->str`. The check for `label->str != NULL` is removed because
`label->str` can never be NULL if `label` is not NULL.

This fixes the issue where the label name was being printed as `(efault)`
when dumping the sysfs GPIO file when `label == NULL`.

Fixes: 5a646e03e956 ("gpiolib: Return label, if set, for IRQ only line")
Fixes: a86d27693066 ("gpiolib: fix the speed of descriptor label setting with SRCU")
Signed-off-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com>
Link: https://lore.kernel.org/r/20241003131351.472015-1-prabhakar.mahadev-lad.rj@bp.renesas.com
Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
drivers/gpio/gpiolib.c