svn commit: r316585 - in head/sys/boot: efi/boot1 efi/loader i386/common i386/loader i386/zfsboot zfs
Toomas Soome
tsoome at me.com
Sun Apr 9 08:12:19 UTC 2017
> On 9. apr 2017, at 1:16, Shawn Webb <shawn.webb at hardenedbsd.org> wrote:
>
> 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
>>
>> Log:
>> loader: zfs reader should check all labels
>>
>> 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.
>>
>> 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.
>>
>> 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.
>>
>> 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.
>>
>> Reviewed by: allanjude
>> Differential Revision: https://reviews.freebsd.org/D10203
>
> This breaks bhyve userboot:
>
> # 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"
>
> Thanks,
>
> --
> Shawn Webb
> Cofounder and Security Engineer
> HardenedBSD
>
> 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’m currently running the build to double check and I think I’ll make the userboot commit as soon as it is verified. Sorry for the mess.
rgds,
toomas
More information about the svn-src-all
mailing list