diff mbox series

[v2] video: fbdev: Check for null res pointer

Message ID 20211220081132.883709-1-jiasheng@iscas.ac.cn
State Superseded
Headers show
Series [v2] video: fbdev: Check for null res pointer | expand

Commit Message

Jiasheng Jiang Dec. 20, 2021, 8:11 a.m. UTC
The return value of platform_get_resource() needs to be checked.
To avoid use of error pointer in case that there is no suitable resource.

Fixes: f7018c213502 ("video: move fbdev to drivers/video/fbdev")
Signed-off-by: Jiasheng Jiang <jiasheng@iscas.ac.cn>
---
Changelog:

v1 -> v2

*Change 1. Correct the commit message.
---
 drivers/video/fbdev/imxfb.c | 2 ++
 1 file changed, 2 insertions(+)

Comments

Geert Uytterhoeven Dec. 20, 2021, 8:29 a.m. UTC | #1
Hi Jiasheng,

On Mon, Dec 20, 2021 at 9:19 AM Jiasheng Jiang <jiasheng@iscas.ac.cn> wrote:
> The return value of platform_get_resource() needs to be checked.
> To avoid use of error pointer in case that there is no suitable resource.

Thanks for your patch!

> Fixes: f7018c213502 ("video: move fbdev to drivers/video/fbdev")

That can't be the real introducer of the "bug"...

> Signed-off-by: Jiasheng Jiang <jiasheng@iscas.ac.cn>

> --- a/drivers/video/fbdev/imxfb.c
> +++ b/drivers/video/fbdev/imxfb.c
> @@ -1083,6 +1083,8 @@ static int imxfb_remove(struct platform_device *pdev)
>         struct resource *res;
>
>         res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
> +       if (!res)
> +               return -EINVAL;

This cannot happen, as imxfb_remove() can only be called if
imxfb_probe() succeeded.  imxfb_probe() does check the result of
platform_get_resource(), and fails if the resource was not found.

Gr{oetje,eeting}s,

                        Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org

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
diff mbox series

Patch

diff --git a/drivers/video/fbdev/imxfb.c b/drivers/video/fbdev/imxfb.c
index ad598257ab38..68288756ffff 100644
--- a/drivers/video/fbdev/imxfb.c
+++ b/drivers/video/fbdev/imxfb.c
@@ -1083,6 +1083,8 @@  static int imxfb_remove(struct platform_device *pdev)
 	struct resource *res;
 
 	res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
+	if (!res)
+		return -EINVAL;
 
 	imxfb_disable_controller(fbi);