Date: Fri, 20 May 2016 08:05:46 -0700 From: John Baldwin <jhb@freebsd.org> To: Allan Jude <allanjude@freebsd.org> Cc: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: Re: svn commit: r300257 - in head/sys/boot/i386: libi386 zfsboot Message-ID: <5332200.R1uTvCkpBM@ralph.baldwin.cx> In-Reply-To: <573F2686.20509@freebsd.org> References: <201605200141.u4K1flpV094958@repo.freebsd.org> <1780135.VYYOsNudFi@ralph.baldwin.cx> <573F2686.20509@freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?5332200.R1uTvCkpBM>