2014-10-21 09:38:11

by Jingchang Lu

[permalink] [raw]
Subject: [PATCH] serial: of-serial: fix uninitialized kmalloc variable

The info pointer points to an uninitialized kmalloced space.
If a device doesn't have clk property, then info->clk may
have unpredicated value and cause call trace. So use kzalloc
to make sure it is NULL initialized.

Signed-off-by: Jingchang Lu <[email protected]>
---
drivers/tty/serial/of_serial.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/tty/serial/of_serial.c b/drivers/tty/serial/of_serial.c
index 8bc2563..56982da4 100644
--- a/drivers/tty/serial/of_serial.c
+++ b/drivers/tty/serial/of_serial.c
@@ -158,7 +158,7 @@ static int of_platform_serial_probe(struct platform_device *ofdev)
if (of_find_property(ofdev->dev.of_node, "used-by-rtas", NULL))
return -EBUSY;

- info = kmalloc(sizeof(*info), GFP_KERNEL);
+ info = kzalloc(sizeof(*info), GFP_KERNEL);
if (info == NULL)
return -ENOMEM;

--
1.8.0


2014-10-21 10:11:15

by Arnd Bergmann

[permalink] [raw]
Subject: Re: [PATCH] serial: of-serial: fix uninitialized kmalloc variable

On Tuesday 21 October 2014 16:50:21 Jingchang Lu wrote:
> The info pointer points to an uninitialized kmalloced space.
> If a device doesn't have clk property, then info->clk may
> have unpredicated value and cause call trace. So use kzalloc
> to make sure it is NULL initialized.
>
> Signed-off-by: Jingchang Lu <[email protected]>
>

Acked-by: Arnd Bergmann <[email protected]