[coreboot-gerrit] New patch to review for coreboot: 2fbcf17 nvramtool: Use CMOS_SIZE for cmos size

Patrick Georgi (patrick@georgi-clan.de) gerrit at coreboot.org
Fri May 3 13:35:09 CEST 2013


Patrick Georgi (patrick at georgi-clan.de) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/3186

-gerrit

commit 2fbcf176a67756b73a2de2564c7279f5a9787582
Author: Patrick Georgi <patrick.georgi at secunet.com>
Date:   Thu Apr 11 12:32:32 2013 +0200

    nvramtool: Use CMOS_SIZE for cmos size
    
    We write CMOS data to 128 byte files, which is a problem
    when using them later-on (eg. as part of a coreboot image)
    where nvramtool assumes them to be 256 byte, and so data
    corruption occurs.
    
    Change-Id: Ibc919c95f6d522866b21fd313ceb023e73d09fb9
    Signed-off-by: Patrick Georgi <patrick.georgi at secunet.com>
---
 util/nvramtool/cli/nvramtool.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/util/nvramtool/cli/nvramtool.c b/util/nvramtool/cli/nvramtool.c
index 76d5cbb..d5acc58 100644
--- a/util/nvramtool/cli/nvramtool.c
+++ b/util/nvramtool/cli/nvramtool.c
@@ -162,8 +162,8 @@ int main(int argc, char *argv[])
 			exit(1);
 		}
 
-		if (fd_stat.st_size < 128) {
-			lseek(fd, 127, SEEK_SET);
+		if (fd_stat.st_size < CMOS_SIZE) {
+			lseek(fd, CMOS_SIZE - 1, SEEK_SET);
 			if (write(fd, "\0", 1) != 1) {
 				fprintf(stderr, "Unable to extended '%s' to its full size.\n",
 						nvramtool_op_modifiers[NVRAMTOOL_MOD_USE_CMOS_FILE].param);
@@ -176,7 +176,7 @@ int main(int argc, char *argv[])
 #endif
 		}
 
-		cmos_default = mmap(NULL, 128, PROT_READ | PROT_WRITE, MAP_SHARED, fd, 0);
+		cmos_default = mmap(NULL, CMOS_SIZE, PROT_READ | PROT_WRITE, MAP_SHARED, fd, 0);
 		if (cmos_default == MAP_FAILED) {
 			fprintf(stderr, "Couldn't map '%s'\n", nvramtool_op_modifiers[NVRAMTOOL_MOD_USE_CMOS_FILE].param);
 			exit(1);



More information about the coreboot-gerrit mailing list