RE: [PATCH 1/3 v4] drivers/bus: Added Freescale Management Complex APIs

From: Stuart Yoder
Date: Mon Dec 01 2014 - 17:28:47 EST




> -----Original Message-----
> From: Alexander Graf [mailto:agraf@xxxxxxx]
> Sent: Thursday, November 27, 2014 8:30 AM
> To: Rivera Jose-B46482; gregkh@xxxxxxxxxxxxxxxxxxx; arnd@xxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx
> Cc: Yoder Stuart-B08248; Phillips Kim-R1AAHA; Wood Scott-B07421; Hamciuc Bogdan-BHAMCIU1; Marginean
> Alexandru-R89243; Thorpe Geoff-R01361; Sharma Bhupesh-B45370; Erez Nir-RM30794; Schmitt Richard-B43082
> Subject: Re: [PATCH 1/3 v4] drivers/bus: Added Freescale Management Complex APIs
>
>
>
> On 13.11.14 18:54, J. German Rivera wrote:
> > APIs to access the Management Complex (MC) hardware
> > module of Freescale LS2 SoCs. This patch includes
> > APIs to check the MC firmware version and to manipulate
> > DPRC objects in the MC.
> >
> > Signed-off-by: J. German Rivera <German.Rivera@xxxxxxxxxxxxx>
> > Signed-off-by: Stuart Yoder <stuart.yoder@xxxxxxxxxxxxx>
>
> [...]
>
> > +/*
> > + * Object descriptor, returned from dprc_get_obj()
> > + */
> > +struct dprc_obj_desc {
> > + /* Type of object: NULL terminated string */
> > + char type[16];
>
> I don't see where it actually gets NULL terminated - all 16 bytes come
> directly from the device.
>
> While it's probably ok to trust it, I think we'd still be safer off if
> we just make this a char[17] array to always have our NULL terminating
> string. That way we're guaranteed we'll never run over our memory
> boundaries.

The device is supposed to guarantee that the string is null
terminated...so there will never be valid chars in the 16th
character. So, what about just forcing type[15] = '\0'?

I think that would be better than making it a char[17].

Stuart
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/