Blame SOURCES/0001-Report-correct-memory-size-on-SMBIOS-2.7.patch

f3fb5a
From 5c4bfb1a4baae1bea11cc9f629bc48ee12e733a7 Mon Sep 17 00:00:00 2001
f3fb5a
From: Lyonel Vincent <lyonel@ezix.org>
f3fb5a
Date: Sun, 10 Jan 2021 00:38:10 +0100
f3fb5a
Subject: [PATCH] Report correct memory size on SMBIOS < 2.7
f3fb5a
f3fb5a
Github PR#60
f3fb5a
f3fb5a
---
f3fb5a
 src/core/dmi.cc | 11 +++++++----
f3fb5a
 1 file changed, 7 insertions(+), 4 deletions(-)
f3fb5a
f3fb5a
diff --git a/src/core/dmi.cc b/src/core/dmi.cc
f3fb5a
index 30b3ab3b995c..d33d4879bdca 100644
f3fb5a
--- a/src/core/dmi.cc
f3fb5a
+++ b/src/core/dmi.cc
f3fb5a
@@ -1567,10 +1567,13 @@ int dmiversionrev)
f3fb5a
 
f3fb5a
 // size
f3fb5a
           u = data[0x0D] << 8 | data[0x0C];
f3fb5a
-          if(u == 0x7FFF) {
f3fb5a
-             unsigned long long extendsize = (data[0x1F] << 24) | (data[0x1E] << 16) | (data[0x1D] << 8) | data[0x1C];
f3fb5a
-             extendsize &= 0x7FFFFFFFUL;
f3fb5a
-             size = extendsize * 1024ULL * 1024ULL;
f3fb5a
+          if ((dmiversionmaj > 2)
f3fb5a
+            || ((dmiversionmaj == 2) && (dmiversionmin >= 7))) {
f3fb5a
+             if(u == 0x7FFF) {
f3fb5a
+                unsigned long long extendsize = (data[0x1F] << 24) | (data[0x1E] << 16) | (data[0x1D] << 8) | data[0x1C];
f3fb5a
+                extendsize &= 0x7FFFFFFFUL;
f3fb5a
+                size = extendsize * 1024ULL * 1024ULL;
f3fb5a
+             }
f3fb5a
           }
f3fb5a
 	  else
f3fb5a
           if (u != 0xFFFF)
f3fb5a
-- 
f3fb5a
2.17.1
f3fb5a