* [PATCH 1/3] [POWERPC] of_serial: Fix possible null dereference.
@ 2008-03-20 14:43 John Linn
2008-03-20 23:58 ` Grant Likely
0 siblings, 1 reply; 3+ messages in thread
From: John Linn @ 2008-03-20 14:43 UTC (permalink / raw)
To: linuxppc-dev; +Cc: John Linn
From: Stephen Neuendorffer <stephen.neuendorffer@xilinx.com>
The of_serial driver queries the current-speed property and attempts
to use it to register the custom_divisor property of the uart_port.
However, if current-speed is not set, then this code will dereference
a bad pointer. The fix is to only set custom_divisor when a
current-speed property appears in the device tree.
Signed-off-by: Stephen Neuendorffer <stephen.neuendorffer@xilinx.com>
Signed-off-by: John Linn <john.linn@xilinx.com>
---
drivers/serial/of_serial.c | 4 +++-
1 files changed, 3 insertions(+), 1 deletions(-)
diff --git a/drivers/serial/of_serial.c b/drivers/serial/of_serial.c
index a64d858..2efb892 100644
--- a/drivers/serial/of_serial.c
+++ b/drivers/serial/of_serial.c
@@ -56,7 +56,9 @@ static int __devinit of_platform_serial_setup(struct of_device *ofdev,
port->flags = UPF_SHARE_IRQ | UPF_BOOT_AUTOCONF | UPF_IOREMAP
| UPF_FIXED_PORT;
port->dev = &ofdev->dev;
- port->custom_divisor = *clk / (16 * (*spd));
+ /* If current-speed was set, then try not to change it. */
+ if (spd)
+ port->custom_divisor = *clk / (16 * (*spd));
return 0;
}
--
1.5.2.1
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [PATCH 1/3] [POWERPC] of_serial: Fix possible null dereference.
2008-03-20 14:43 [PATCH 1/3] [POWERPC] of_serial: Fix possible null dereference John Linn
@ 2008-03-20 23:58 ` Grant Likely
2008-03-21 1:41 ` Josh Boyer
0 siblings, 1 reply; 3+ messages in thread
From: Grant Likely @ 2008-03-20 23:58 UTC (permalink / raw)
To: John Linn, Josh Boyer, Arnd Bergmann; +Cc: linuxppc-dev
On Thu, Mar 20, 2008 at 8:43 AM, John Linn <john.linn@xilinx.com> wrote:
> From: Stephen Neuendorffer <stephen.neuendorffer@xilinx.com>
>
> The of_serial driver queries the current-speed property and attempts
> to use it to register the custom_divisor property of the uart_port.
> However, if current-speed is not set, then this code will dereference
> a bad pointer. The fix is to only set custom_divisor when a
> current-speed property appears in the device tree.
>
> Signed-off-by: Stephen Neuendorffer <stephen.neuendorffer@xilinx.com>
> Signed-off-by: John Linn <john.linn@xilinx.com>
This looks correct and appropriate to me.
Acked-by: Grant Likely <grant.likely@secretlab.ca>
Josh/Arnd, could either of you pick this up?
Cheers,
g.
> ---
> drivers/serial/of_serial.c | 4 +++-
> 1 files changed, 3 insertions(+), 1 deletions(-)
>
> diff --git a/drivers/serial/of_serial.c b/drivers/serial/of_serial.c
> index a64d858..2efb892 100644
> --- a/drivers/serial/of_serial.c
> +++ b/drivers/serial/of_serial.c
> @@ -56,7 +56,9 @@ static int __devinit of_platform_serial_setup(struct of_device *ofdev,
> port->flags = UPF_SHARE_IRQ | UPF_BOOT_AUTOCONF | UPF_IOREMAP
> | UPF_FIXED_PORT;
> port->dev = &ofdev->dev;
> - port->custom_divisor = *clk / (16 * (*spd));
> + /* If current-speed was set, then try not to change it. */
> + if (spd)
> + port->custom_divisor = *clk / (16 * (*spd));
>
> return 0;
> }
> --
> 1.5.2.1
>
>
>
> _______________________________________________
> Linuxppc-dev mailing list
> Linuxppc-dev@ozlabs.org
> https://ozlabs.org/mailman/listinfo/linuxppc-dev
>
--
Grant Likely, B.Sc., P.Eng.
Secret Lab Technologies Ltd.
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH 1/3] [POWERPC] of_serial: Fix possible null dereference.
2008-03-20 23:58 ` Grant Likely
@ 2008-03-21 1:41 ` Josh Boyer
0 siblings, 0 replies; 3+ messages in thread
From: Josh Boyer @ 2008-03-21 1:41 UTC (permalink / raw)
To: Grant Likely; +Cc: linuxppc-dev, John Linn, Arnd Bergmann
On Thu, 20 Mar 2008 17:58:07 -0600
"Grant Likely" <grant.likely@secretlab.ca> wrote:
> On Thu, Mar 20, 2008 at 8:43 AM, John Linn <john.linn@xilinx.com> wrote:
> > From: Stephen Neuendorffer <stephen.neuendorffer@xilinx.com>
> >
> > The of_serial driver queries the current-speed property and attempts
> > to use it to register the custom_divisor property of the uart_port.
> > However, if current-speed is not set, then this code will dereference
> > a bad pointer. The fix is to only set custom_divisor when a
> > current-speed property appears in the device tree.
> >
> > Signed-off-by: Stephen Neuendorffer <stephen.neuendorffer@xilinx.com>
> > Signed-off-by: John Linn <john.linn@xilinx.com>
>
> This looks correct and appropriate to me.
>
> Acked-by: Grant Likely <grant.likely@secretlab.ca>
Agreed.
Acked-by: Josh Boyer <jwboyer@linux.vnet.ibm.com>
> Josh/Arnd, could either of you pick this up?
Arnd, can you send this on to Andrew? Or if you are busy I can.
josh
> > ---
> > drivers/serial/of_serial.c | 4 +++-
> > 1 files changed, 3 insertions(+), 1 deletions(-)
> >
> > diff --git a/drivers/serial/of_serial.c b/drivers/serial/of_serial.c
> > index a64d858..2efb892 100644
> > --- a/drivers/serial/of_serial.c
> > +++ b/drivers/serial/of_serial.c
> > @@ -56,7 +56,9 @@ static int __devinit of_platform_serial_setup(struct of_device *ofdev,
> > port->flags = UPF_SHARE_IRQ | UPF_BOOT_AUTOCONF | UPF_IOREMAP
> > | UPF_FIXED_PORT;
> > port->dev = &ofdev->dev;
> > - port->custom_divisor = *clk / (16 * (*spd));
> > + /* If current-speed was set, then try not to change it. */
> > + if (spd)
> > + port->custom_divisor = *clk / (16 * (*spd));
> >
> > return 0;
> > }
> > --
> > 1.5.2.1
> >
> >
> >
> > _______________________________________________
> > Linuxppc-dev mailing list
> > Linuxppc-dev@ozlabs.org
> > https://ozlabs.org/mailman/listinfo/linuxppc-dev
> >
>
>
>
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2008-03-21 1:42 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-03-20 14:43 [PATCH 1/3] [POWERPC] of_serial: Fix possible null dereference John Linn
2008-03-20 23:58 ` Grant Likely
2008-03-21 1:41 ` Josh Boyer
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).