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

Reply via email to