svn commit: r326421 - head/stand/efi/libefi

Toomas Soome tsoome at FreeBSD.org
Fri Dec 1 06:37:13 UTC 2017


Author: tsoome
Date: Fri Dec  1 06:37:12 2017
New Revision: 326421
URL: https://svnweb.freebsd.org/changeset/base/326421

Log:
  loader.efi: efipart should exclude iPXE stub block protocol
  
  iPXE does insert stub  BLOCK IO protocol handle to rework other issues,
  this handle is not usable as it does not provide actual implementation.
  
  We can detect this situation by checking and validating the BlockSize
  property, so this update does make sure we have BlockSize at least 512B
  and its value is power of 2.
  
  PR:		223969
  Reported by:	Jeff Pieper
  Reviewed by:	imp
  Differential Revision:	https://reviews.freebsd.org/D13297

Modified:
  head/stand/efi/libefi/efipart.c

Modified: head/stand/efi/libefi/efipart.c
==============================================================================
--- head/stand/efi/libefi/efipart.c	Fri Dec  1 05:57:05 2017	(r326420)
+++ head/stand/efi/libefi/efipart.c	Fri Dec  1 06:37:12 2017	(r326421)
@@ -257,6 +257,14 @@ efipart_hdd(EFI_DEVICE_PATH *dp)
 		    !blkio->Media->MediaPresent) {
 			return (false);
 		}
+
+		/*
+		 * We assume the block size 512 or greater power of 2. 
+		 */
+		if (blkio->Media->BlockSize < 512 ||
+		    !powerof2(blkio->Media->BlockSize)) {
+			return (false);
+		}
 	}
 	return (true);
 }


More information about the svn-src-head mailing list