svn commit: r300257 - in head/sys/boot/i386: libi386 zfsboot

John Baldwin jhb at freebsd.org
Fri May 20 16:34:18 UTC 2016


On Friday, May 20, 2016 11:00:22 AM Allan Jude wrote:
> On 2016-05-20 10:48, John Baldwin wrote:
> > On Friday, May 20, 2016 01:41:47 AM Allan Jude wrote:
> >> Author: allanjude
> >> Date: Fri May 20 01:41:47 2016
> >> New Revision: 300257
> >> URL: https://svnweb.freebsd.org/changeset/base/300257
> >>
> >> Log:
> >>   Fixup the geliboot sector rounding code
> >>   
> >>   Replace all rounding with the round{up,down}2 macros
> >>   a missing set of braces caused the previous code to be incorrect
> >>   
> >>   replace alloca() with malloc() because alloca() can return an allocation
> >>   that is actually invalid, causing boot to fail
> > 
> > No, you have to revert the malloc!  malloc() can be anywhere.  The alloca
> > is _on purpose_ to get a bufer below 1MB so that it will work with all
> > devices.  Some BIOSes can only store data in the first 1MB.
> > 
> 
> to be clear, the alloca() was something I added, not something that was
> there before. And it was breaking, because ZFS was trying to allocate
> too large a block of memory, that wouldn't fit below 1MB.

Sorry, I had that thought you were changing the "real" alloca() in
bd_io() when reading the diff.

-- 
John Baldwin


More information about the svn-src-head mailing list