Date: Sun, 09 Apr 2017 11:12:14 +0300 From: Toomas Soome <tsoome@me.com> To: Shawn Webb <shawn.webb@hardenedbsd.org> Cc: Toomas Soome <tsoome@FreeBSD.org>, src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: Re: svn commit: r316585 - in head/sys/boot: efi/boot1 efi/loader i386/common i386/loader i386/zfsboot zfs Message-ID: <32C6ACC7-C1A5-4797-81E1-7F630FB94D14@me.com> In-Reply-To: <20170408221653.qtqdvgcosguvugtt@mutt-hbsd> References: <201704061817.v36IHT8i088712@repo.freebsd.org> <20170408221653.qtqdvgcosguvugtt@mutt-hbsd>
next in thread | previous in thread | raw e-mail | index | archive | help
> On 9. apr 2017, at 1:16, Shawn Webb <shawn.webb@hardenedbsd.org> = wrote: >=20 > On Thu, Apr 06, 2017 at 06:17:29PM +0000, Toomas Soome wrote: >> Author: tsoome >> Date: Thu Apr 6 18:17:29 2017 >> New Revision: 316585 >> URL: https://svnweb.freebsd.org/changeset/base/316585 >>=20 >> Log: >> loader: zfs reader should check all labels >>=20 >> The current zfs reader is only checking first label from each = device, however, >> we do have 4 labels on device and we should check all 4 to be = protected >> against disk failures and incomplete label updates. >>=20 >> The difficulty is about the fact that 2 label copies are in front of = the >> pool data, and 2 are at the end, which means, we have to know the = size of >> the pool data area. >>=20 >> Since we have now the mechanism from common/disk.c to use the = partition >> information, it does help us in this task; however, there are still = some >> corner cases. >>=20 >> Namely, if the pool is created without partition, directly on the = disk, >> and firmware will give us the wrong size for the disk, we only can = check >> the first two label copies. >>=20 >> Reviewed by: allanjude >> Differential Revision: https://reviews.freebsd.org/D10203 >=20 > This breaks bhyve userboot: >=20 > # sh /usr/share/examples/bhyve/vmrun.sh -c 8 -m 16g -t tap4 -C = /dev/nmdm-laptop-dev-03-A -d = /dev/zvol/enctank/bhyve/laptop-dev-03/disk-01 laptop-dev-03 > /boot/userboot.so: Undefined symbol "ldi_get_size" >=20 > Thanks, >=20 > --=20 > Shawn Webb > Cofounder and Security Engineer > HardenedBSD >=20 > GPG Key ID: 0x6A84658F52456EEE > GPG Key Fingerprint: 2ABA B6BD EF6A F486 BE89 3D9E 6A84 658F 5245 = 6EEE Yep, the fix is posted as part of https://reviews.freebsd.org/D10302 = <https://reviews.freebsd.org/D10302> - I=E2=80=99m currently running the = build to double check and I think I=E2=80=99ll make the userboot commit = as soon as it is verified. Sorry for the mess. rgds, toomas
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?32C6ACC7-C1A5-4797-81E1-7F630FB94D14>