Julian Elischer wrote:
> On Fri, 13 Dec 2002, Julian Elischer wrote:
> > On Fri, 13 Dec 2002, Dan Nelson wrote:
> > 
> > > In the last episode (Dec 13), Julian Elischer said:
> > > > It's always been there. the question is 
> > > > "Who has broken it?"
> > 
> > I think this is a 5.0 showstopper. Having 5.0 overwrite your
> > Windows partition would be "poor" PR.
> > Having a quick look at it, it shouldn't be too hard for PHK
> > to fix it as he has all the correct parts currently "loaded"
> > into his head. Especially such things as making GEOM not allow writes
> > to -ve blocknumbers (as must have happenned for root to have been
> > overwritten).
> 
> 
> looking at the code in src/sys/i386/i386/dump_machdep.c,
> 
> we see:
>   78         dumplo = di->mediaoffset + di->mediasize - Maxmem *
> (off_t)PAGE_SIZE;
>   79         dumplo -= sizeof kdh * 2;
>   80         i = di->dumper(di->priv, &kdh, 0, dumplo, sizeof kdh);
>   81         if (i)
>   82                 printf("\nDump failed writing header (%d)\n", i);
>   83         dumplo += sizeof kdh;
>   84         i = 0;
> 
> It looks like the following test should go after line 77
>  
>       if (di->mediasize <  ((Maxmem * (off_t)PAGE_SIZE) +
>            (sizeof kdh * 2) + (16*1024)) {
>                       /* 16K is an arbitrary  buffer
>                        * in case the swap part is
>                        * the first part
>                        */
>               printf("\nDump failed. Partition too small.\n");
>               return;
>       }

We used to force a 64K safety buffer for swapon, and I think we also did
64K for dump before the last MI dump code conversion.  I'd feel a little
happier if you used 64K here instead of 16K.


Cheers,
-Peter
--
Peter Wemm - [EMAIL PROTECTED]; [EMAIL PROTECTED]; [EMAIL PROTECTED]
"All of this is for nothing if we don't go to the stars" - JMS/B5


To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message

Reply via email to