git: 9front

Download patch

ref: b6769ebdef90f37ebb4bb697da4ce10835141346
parent: c1e3d74b64f515ecb1598e1d6870342c71f5a09b
author: cinap_lenrek <cinap_lenrek@felloff.net>
date: Sun May 22 17:52:04 EDT 2016

efi: ensure 8 byte alignment of buffer, as ReadBlocks() method will fail otherwise

--- a/sys/src/boot/efi/iso.c
+++ b/sys/src/boot/efi/iso.c
@@ -171,9 +171,10 @@
 static void*
 isoopen(char *path)
 {
-	static Extend ex[1];
+	static uchar buf[sizeof(Extend)+8];
+	Extend *ex = (Extend*)((uintptr)(buf+7)&~7);
 
-	if(isowalk(ex,  path))
+	if(isowalk(ex, path))
 		return nil;
 	return ex;
 }
--- a/sys/src/boot/efi/pxe.c
+++ b/sys/src/boot/efi/pxe.c
@@ -306,7 +306,8 @@
 static void*
 pxeopen(char *name)
 {
-	static Tftp t[1];
+	static uchar buf[sizeof(Tftp)+8];
+	Tftp *t = (Tftp*)((uintptr)(buf+7)&~7);
 
 	memset(t, 0, sizeof(Tftp));
 
--