[edk2-devel] [edk2-platforms][PATCH 1/1] Platform/RPi: Prevent buffer over-read when the command line is empty

Leif Lindholm leif.lindholm at linaro.org
Thu Nov 7 17:27:22 UTC 2019


On Thu, Nov 07, 2019 at 05:05:20PM +0000, Pete Batard wrote:
> Hi Leif,
> 
> On 2019.11.07 16:21, Leif Lindholm wrote:
> > Patch looks good, but the term "command line" is a bit confusing.
> > 
> > I assume we're talking about whatever way parameters are passed from
> > pre-edk2 firmware to edk2, right?
> 
> Yes. This is basically what the Raspberry Pi VideoCore bootcode digests and
> passes as boot arguments to the ARM boot loader (i.e. our TF-A + EFI
> firmware executable). It contains options that the user may have set in
> their 'config.txt' as well as other data.

Sure.

> > Is there a more precise term for this?
> 
> Would "boot arguments" or "external boot arguments" work for you? Or if you
> prefer "(external) boot parameters" should be applicable too.

Either would be fine - I was just hoping there might be a recognized
standard name for them :)

So, I could update the subject line to
Platform/RPi: Prevent external boot arguments over-read
in order to keep it short, and change "command line" in the commit
message body to "external boot arguments" - does that work for you?

Regards,

Leif

> Regards,
> 
> /Pete
> 
> > 
> > /
> >      Leif
> > 
> > On Mon, Nov 04, 2019 at 04:06:17PM +0000, Pete Batard wrote:
> > > From: Andrei Warkentin <andrey.warkentin at gmail.com>
> > > 
> > > It is possible for the command line to be empty
> > > (Cmd->TagHead.TagValueSize = 0), in which case the code should not
> > > attempt to read the value at CommandLine[-1].
> > > 
> > > Signed-off-by: Pete Batard <pete at akeo.ie>
> > > ---
> > >   Platform/RaspberryPi/Drivers/RpiFirmwareDxe/RpiFirmwareDxe.c | 3 ++-
> > >   1 file changed, 2 insertions(+), 1 deletion(-)
> > > 
> > > diff --git a/Platform/RaspberryPi/Drivers/RpiFirmwareDxe/RpiFirmwareDxe.c b/Platform/RaspberryPi/Drivers/RpiFirmwareDxe/RpiFirmwareDxe.c
> > > index 5a9d4c3f1787..9b4aa068857c 100644
> > > --- a/Platform/RaspberryPi/Drivers/RpiFirmwareDxe/RpiFirmwareDxe.c
> > > +++ b/Platform/RaspberryPi/Drivers/RpiFirmwareDxe/RpiFirmwareDxe.c
> > > @@ -927,7 +927,8 @@ RpiFirmwareGetCommmandLine (
> > >     CopyMem (CommandLine, Cmd->CommandLine, Cmd->TagHead.TagValueSize);
> > > -  if (CommandLine[Cmd->TagHead.TagValueSize - 1] != '\0') {
> > > +  if (Cmd->TagHead.TagValueSize == 0 ||
> > > +      CommandLine[Cmd->TagHead.TagValueSize - 1] != '\0') {
> > >       //
> > >       // Add a NUL terminator if required.
> > >       //
> > > -- 
> > > 2.21.0.windows.1
> > > 
> 

-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.

View/Reply Online (#50248): https://edk2.groups.io/g/devel/message/50248
Mute This Topic: https://groups.io/mt/41265683/1813853
Group Owner: devel+owner at edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [edk2-devel-archive at redhat.com]
-=-=-=-=-=-=-=-=-=-=-=-




More information about the edk2-devel-archive mailing list