]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/commit
boot1.efi: can't boot from ZFS on 4kn HDD
authortsoome <tsoome@FreeBSD.org>
Thu, 30 Mar 2017 17:23:40 +0000 (17:23 +0000)
committertsoome <tsoome@FreeBSD.org>
Thu, 30 Mar 2017 17:23:40 +0000 (17:23 +0000)
commit9d29d1a23e4036091cc1ab28873b9c28e4af5d68
treeca3acdff693f99d481f6b6fe4cfb491fde066979
parentb74b1c58428b32779f328b08de2630e05fd0506f
boot1.efi: can't boot from ZFS on 4kn HDD

The boot1.efi immediate issue from PR216964 is that we are reading into
too small buffer, from UEFI spec 2.6:

The size of the Buffer in bytes. This must be a multiple of the intrinsic block size of the device.

The secondary issue is that LBA calculation does not check reminder from
division.

This fix does check the provided buffer size and if we read less than
media sector size or the read offset is not aligned to sector boundary,
we allocate bounce buffer and perform the read by single sector.

PR: 216964
Reported by: Sergey Kozlov
Reviewed by: allanjude, Sergey Kozlov
Approved by: allanjude (mentor)
Differential Revision: https://reviews.freebsd.org/D9870
sys/boot/efi/boot1/zfs_module.c