On Thu, Oct 3, 2024 at 3:14 PM Prabhakar <prabhakar.csengg@xxxxxxxxx> wrote: > From: Lad Prabhakar <prabhakar.mahadev-lad.rj@xxxxxxxxxxxxxx> > > 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`. > > Signed-off-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@xxxxxxxxxxxxxx> Neat! Took me an aha-erlebnis to realize why it didn't crash immediately when accessing label->str, but it just returns the address relative to the zero base... Reviewed-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Gr{oetje,eeting}s, Geert -- Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@xxxxxxxxxxxxxx In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that. -- Linus Torvalds