]> www.infradead.org Git - mtd-utils.git/commitdiff
misc-utils: flashcp: verify data in --partition
authorBrandon Maier <brandon.maier@collins.com>
Wed, 2 Nov 2022 22:47:56 +0000 (17:47 -0500)
committerDavid Oberhollenzer <david.oberhollenzer@sigma-star.at>
Mon, 7 Nov 2022 07:24:44 +0000 (08:24 +0100)
The --partition mode is not verifying that data is being written
successfully.

Signed-off-by: Brandon Maier <brandon.maier@collins.com>
Signed-off-by: David Oberhollenzer <david.oberhollenzer@sigma-star.at>
misc-utils/flashcp.c

index 1dc0877b7b86ed2a902bce5a8afb18016e7bd900..f4acba58770e745324c17589ef3ffc7dc4000738 100644 (file)
@@ -464,6 +464,15 @@ DIFF_BLOCKS:
                        /* write to device */
                        safe_lseek(dev_fd, current_dev_block, SEEK_SET, device);
                        safe_write(dev_fd,src,i,written,(unsigned long long)filestat.st_size,device);
+
+                       /* read from device */
+                       safe_lseek(dev_fd, current_dev_block, SEEK_SET, device);
+                       safe_read (dev_fd,device,dest,i);
+
+                       /* compare buffers for write success */
+                       if (memcmp (src,dest,i))
+                               log_failure("File does not seem to match flash data. First mismatch at 0x%.8zx-0x%.8zx\n",
+                                               written,written + i);
                }
 
                erase.start += i;