Message ID | 4ab2f59f-45c1-76a2-94da-3331e8ec4e35@omp.ru (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | pinctrl: at91-pio4: drop useless check in atmel_conf_pin_config_dbg_show() | expand |
On Wed, Aug 2, 2023 at 10:47 PM Sergey Shtylyov <s.shtylyov@omp.ru> wrote: > In atmel_conf_pin_config_dbg_show(), checking atmel_pioctrl->pins[pin_id] > against being NULL doesn't make any sense as it gets derefenced first and > the driver's probe() method immediately returns -ENOMEM when devm_kzalloc() > returns NULL for any atmel_pioctrl->pins[] element anyway, thus failing to > register the device... > > Found by Linux Verification Center (linuxtesting.org) with the Svace static > analysis tool. > > Signed-off-by: Sergey Shtylyov <s.shtylyov@omp.ru> Patch applied! Yours, Linus Walleij
Index: linux-pinctrl/drivers/pinctrl/pinctrl-at91-pio4.c =================================================================== --- linux-pinctrl.orig/drivers/pinctrl/pinctrl-at91-pio4.c +++ linux-pinctrl/drivers/pinctrl/pinctrl-at91-pio4.c @@ -939,10 +939,9 @@ static void atmel_conf_pin_config_dbg_sh if (!atmel_pioctrl->pins[pin_id]->device) return; - if (atmel_pioctrl->pins[pin_id]) - seq_printf(s, " (%s, ioset %u) ", - atmel_pioctrl->pins[pin_id]->device, - atmel_pioctrl->pins[pin_id]->ioset); + seq_printf(s, " (%s, ioset %u) ", + atmel_pioctrl->pins[pin_id]->device, + atmel_pioctrl->pins[pin_id]->ioset); conf = atmel_pin_config_read(pctldev, pin_id); if (conf & ATMEL_PIO_PUEN_MASK)
In atmel_conf_pin_config_dbg_show(), checking atmel_pioctrl->pins[pin_id] against being NULL doesn't make any sense as it gets derefenced first and the driver's probe() method immediately returns -ENOMEM when devm_kzalloc() returns NULL for any atmel_pioctrl->pins[] element anyway, thus failing to register the device... Found by Linux Verification Center (linuxtesting.org) with the Svace static analysis tool. Signed-off-by: Sergey Shtylyov <s.shtylyov@omp.ru> --- The patch is against the 'devel' branch of Linus W.'s 'linux-pinctrl.git' repo. drivers/pinctrl/pinctrl-at91-pio4.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-)