Add some debug assertions in BL1 FWU copy code
authorSandrine Bailleux <sandrine.bailleux@arm.com>
Mon, 14 Nov 2016 14:58:05 +0000 (14:58 +0000)
committerDan Handley <dan.handley@arm.com>
Tue, 20 Dec 2016 11:43:10 +0000 (11:43 +0000)
These debug assertions sanity check the state of the internal
FWU state machine data when resuming an incomplete image copy
operation.

Change-Id: I38a125b0073658c3e2b4b1bdc623ec221741f43e
Signed-off-by: Sandrine Bailleux <sandrine.bailleux@arm.com>
bl1/bl1_fwu.c

index 9bd1ba92e4eb765983639f7d2916cd04e5b03630..7ef184c11deb52c9358c223fe164eb31b2a57b67 100644 (file)
@@ -158,7 +158,19 @@ static int bl1_fwu_image_copy(unsigned int image_id,
        }
 
        if (image_desc->state == IMAGE_STATE_COPYING) {
+               /*
+                * There must have been at least 1 copy operation for this image
+                * previously.
+                */
+               assert(image_desc->copied_size != 0);
+               /*
+                * The image size must have been recorded in the 1st copy
+                * operation.
+                */
                image_size = image_desc->image_info.image_size;
+               assert(image_size != 0);
+               assert(image_desc->copied_size < image_size);
+
                INFO("BL1-FWU: Continuing image copy in blocks\n");
        } else { /* image_desc->state == IMAGE_STATE_RESET */
                INFO("BL1-FWU: Initial call to copy an image\n");