[OpenBIOS] r565 - trunk/openbios-devel/modules

Laurent Vivier Laurent at vivier.eu
Thu Sep 3 00:21:12 CEST 2009


Le jeudi 03 septembre 2009 à 02:08 +0400, Igor Kovalenko a écrit :
> On Thu, Sep 3, 2009 at 1:54 AM, Laurent Vivier<Laurent at vivier.eu> wrote:
> > Le jeudi 03 septembre 2009 à 01:32 +0400, Igor Kovalenko a écrit :
> >> On Thu, Sep 3, 2009 at 1:15 AM, Laurent Vivier<Laurent at vivier.eu> wrote:
> >> > Le samedi 22 août 2009 à 08:03 +0200, svn at openbios.org a écrit :
> >> >> Author: blueswirl
> >> >> Date: 2009-08-22 08:03:40 +0200 (Sat, 22 Aug 2009)
> >> >> New Revision: 565
> >> >>
> >> >> Modified:
> >> >>    trunk/openbios-devel/modules/disk-label.c
> >> >> Log:
> >> >> Allow NULL dlabel path argument without accessing page zero.
> >> >>
> > [...]
> >> >
> >> > This patch breaks booting PPC using QUIK bootloader. Ìs it possible to
> >> > revert it ?
> >> >
> >>
> >> Can you please check what is the real issue here?
> >
> > Yes, but my first idea was to make it done by someone else... ;-)
> >
> >> Maybe dlabel_open is getting called somewhere in bootloader
> >> without proper path argument?
> >
> > In fact, patch r565 modifies the behavior of dlabel_open() because
> > filename is not NULL anymore if path is empty.
> >
> > This new patch corrects the problem:
> >
> > Index: modules/disk-label.c
> > ===================================================================
> > --- modules/disk-label.c        (révision 576)
> > +++ modules/disk-label.c        (copie de travail)
> > @@ -146,7 +146,8 @@
> >                push_str( filename );
> >                PUSH_ph( ph );
> >                fword("interpose");
> > -       } else if (filename && strcmp(filename, "%BOOT") != 0) {
> > +       } else if (filename && *filename != 0 &&
> > +                  strcmp(filename, "%BOOT") != 0) {
> >                goto out;
> >        }
> >        success = 1;
> >
> > You can comment, I'll apply it later...
> 
> They say, good catch :)
> dlabel_open also assumes *(0)==0 which is not the case generally,
> so let's fix dlabel_open instead of reverting r565
> 
> You may want to initialize filename="" as well, and remove check
> for NULL filename so only strcmp is left.

Good idea.

Laurent
-- 
--------------------- laurent at vivier.eu ----------------------
"Tout ce qui est impossible reste à accomplir"    Jules Verne
"Things are only impossible until they're not" Jean-Luc Picard




More information about the OpenBIOS mailing list