The Extended Starting Address and Extended Ending Address fields of DMI types 19 (Memory Array Mapped Address) and 20 (Memory Device Mapped Address) are stored in byte unit, unlike their non-extended counterparts which were expressed in kibibytes. The trailing "k" after these addresses therefore makes no sense and should be removed.
Fixes: 7f899da5e459 ("Add support for memory arrays of 2 TB and more") Signed-off-by: Jean Delvare <jdelv...@suse.de> --- dmidecode.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) --- dmidecode.orig/dmidecode.c +++ dmidecode/dmidecode.c @@ -4989,9 +4989,9 @@ static void dmi_decode(const struct dmi_ start = QWORD(data + 0x0F); end = QWORD(data + 0x17); - pr_attr("Starting Address", "0x%08X%08Xk", + pr_attr("Starting Address", "0x%08X%08X", start.h, start.l); - pr_attr("Ending Address", "0x%08X%08Xk", + pr_attr("Ending Address", "0x%08X%08X", end.h, end.l); dmi_mapped_address_extended_size(start, end); } @@ -5022,9 +5022,9 @@ static void dmi_decode(const struct dmi_ start = QWORD(data + 0x13); end = QWORD(data + 0x1B); - pr_attr("Starting Address", "0x%08X%08Xk", + pr_attr("Starting Address", "0x%08X%08X", start.h, start.l); - pr_attr("Ending Address", "0x%08X%08Xk", + pr_attr("Ending Address", "0x%08X%08X", end.h, end.l); dmi_mapped_address_extended_size(start, end); } -- Jean Delvare SUSE L3 Support