bin/98005: loader corrupts other files when rewriting
nextboot.conf
Yar Tikhiy
yar at comp.chem.msu.su
Sun May 28 00:37:47 PDT 2006
The following reply was made to PR bin/98005; it has been noted by GNATS.
From: Yar Tikhiy <yar at comp.chem.msu.su>
To: Ian Dowse <iedowse at iedowse.com>
Cc: FreeBSD-gnats-submit at FreeBSD.org
Subject: Re: bin/98005: loader corrupts other files when rewriting nextboot.conf
Date: Sun, 28 May 2006 11:03:49 +0400
On Sat, May 27, 2006 at 01:05:01PM +0100, Ian Dowse wrote:
> In message <200605271037.k4RAbtYw063346 at comp.chem.msu.su>, Yar Tikhiy writes:
> > When nextboot is in effect, loader(8) writes the modified
> > contents of the nextboot.conf file, or whatever nextboot_conf
> > is set to, to an incorrect location on the disk. The
> > location overwritten is in the block after the one actually
> > belonging to the nextboot.conf file.
> >
> > This problem is likely to be caused by an off-by-one bug in
> > the stand-alone FS access library used by loader(8).
>
> You could try the following (I haven't tested it), but it's pretty
> obvious how the bug happened if you compare bd_write() with the
> bd_read() function that it was copied from. Looks like the author
> of bd_write() was more interested in writing a little song in the
> comments than writing to the correct part of the disk ;-)
Your patch seems to work, thanks! I'll give it more thorough testing
today by using nextboot routinely.
> The bug probably wasn't noticed originally because it only affected
> the LBA access case.
Indeed, my FreeBSD slice lies above the 1023rd cylinder.
--
Yar
More information about the freebsd-bugs
mailing list