提交 3913fd5e 编写于 作者: D Dan Carpenter 提交者: 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: NDan Carpenter <error27@gmail.com>
Cc: David Brownell <david-b@pacbell.net>
Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: NGrant Likely <grant.likely@secretlab.ca>
上级 01bf0b64
...@@ -416,6 +416,7 @@ static int gpio_setup_irq(struct gpio_desc *desc, struct device *dev, ...@@ -416,6 +416,7 @@ static int gpio_setup_irq(struct gpio_desc *desc, struct device *dev,
return 0; return 0;
free_sd: free_sd:
if (pdesc)
sysfs_put(pdesc->value_sd); sysfs_put(pdesc->value_sd);
free_id: free_id:
idr_remove(&pdesc_idr, id); idr_remove(&pdesc_idr, id);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册