Commit 3913fd5e authored by Dan Carpenter's avatar Dan Carpenter Committed by Grant Likely

gpio: potential null dereference

Smatch found a potential null dereference in gpio_setup_irq().  The
"pdesc" variable is allocated with idr_find() that can return NULL.  If
gpio_setup_irq() is called with 0 as gpio_flags and "pdesc" is null, it
would OOPs here.
Signed-off-by: default avatarDan Carpenter <error27@gmail.com>
Cc: David Brownell <david-b@pacbell.net>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarGrant Likely <grant.likely@secretlab.ca>
parent 01bf0b64
...@@ -416,7 +416,8 @@ static int gpio_setup_irq(struct gpio_desc *desc, struct device *dev, ...@@ -416,7 +416,8 @@ static int gpio_setup_irq(struct gpio_desc *desc, struct device *dev,
return 0; return 0;
free_sd: free_sd:
sysfs_put(pdesc->value_sd); if (pdesc)
sysfs_put(pdesc->value_sd);
free_id: free_id:
idr_remove(&pdesc_idr, id); idr_remove(&pdesc_idr, id);
desc->flags &= GPIO_FLAGS_MASK; desc->flags &= GPIO_FLAGS_MASK;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment