OSDN Git Service

bootsignature: includes dt image size for signed boot image
authorAnkit Gupta <agupta@cyngn.com>
Wed, 23 Dec 2015 22:16:37 +0000 (14:16 -0800)
committerMichael Bestas <mikeioannina@gmail.com>
Sun, 1 Jan 2017 23:30:03 +0000 (01:30 +0200)
BootSignature truncates the bootimage since dt image size wasn't
considered while calculating the signable bootimage size and thus
target fails to boot. This patch includes the device tree size in
the boot image and prevents it from truncating it and makes the
target boot fine.

Issue-id: YAM-27
Change-Id: Ieaa396159130875768231602cd58eb865d222872

verity/BootSignature.java

index 3cf9499..51b1558 100644 (file)
@@ -203,11 +203,13 @@ public class BootSignature extends ASN1Object
         int secondSize = image.getInt();
         image.getLong(); // second_addr + tags_addr
         int pageSize = image.getInt();
+        int dtSize   = image.getInt(); //device tree size
 
         int length = pageSize // include the page aligned image header
                 + ((kernelSize + pageSize - 1) / pageSize) * pageSize
                 + ((ramdskSize + pageSize - 1) / pageSize) * pageSize
-                + ((secondSize + pageSize - 1) / pageSize) * pageSize;
+                + ((secondSize + pageSize - 1) / pageSize) * pageSize
+                + ((dtSize     + pageSize - 1) / pageSize) * pageSize;
 
         length = ((length + pageSize - 1) / pageSize) * pageSize;