<div dir="ltr"><div dir="ltr"><div style="font-family:verdana,sans-serif" class="gmail_default">Hi James,</div><div style="font-family:verdana,sans-serif" class="gmail_default"><br></div><div style="font-family:verdana,sans-serif" class="gmail_default">Thanks for the work, but the patch won't apply on the latest repo or on V21.03.00. Please rebase the patch to the latest version.<br></div><div style="font-family:verdana,sans-serif" class="gmail_default"><br></div><div style="font-family:verdana,sans-serif" class="gmail_default">Please also be sure to use "git send-email" to send your patch.<br></div><br><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Date: Thu, 22 Apr 2021 19:00:27 +0000<br>Subject: [PATCH] dmi: dmicheck: return from dmi_table_smbios*() functions if signature test fails<br>If the dmi_table_smbios*() functions don't match the signature for the paticular<br>
table, then return.<br></blockquote><div><br></div><div><div style="font-family:verdana,sans-serif" class="gmail_default">Please describe the problem you are trying to fix.</div><br></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<br>
Signed-off-by: James Puthukattukaran <<a href="mailto:james.puthukattukaran@oracle.com" target="_blank">james.puthukattukaran@oracle.com</a>><br>
---<br>
src/dmi/dmicheck/dmicheck.c | 46 +++++++++++++++++++++++++++------------------<br>
1 file changed, 28 insertions(+), 18 deletions(-)<br>
<br>
diff --git a/src/dmi/dmicheck/dmicheck.c b/src/dmi/dmicheck/dmicheck.c<br>
index a240365..99cb893 100644<br>
--- a/src/dmi/dmicheck/dmicheck.c<br>
+++ b/src/dmi/dmicheck/dmicheck.c<br>
@@ -370,16 +370,19 @@ static void* dmi_table_smbios(fwts_framework *fw, fwts_smb<br>
ios_entry *entry)<br>
}<br>
<br>
if (dmi_load_file("/sys/firmware/dmi/tables/smbios_entry_point", anchor,<br>
4) == FWTS_OK<br>
- && strncmp(anchor, "_SM_", 4) == 0) {<br>
- table = malloc(length);<br>
- if (!table)<br>
- return NULL;<br>
- if (dmi_load_file("/sys/firmware/dmi/tables/DMI", table, length)<br>
== FWTS_OK) {<br>
- fwts_log_info(fw, "SMBIOS table loaded from /sys/firmwar<br>
e/dmi/tables/DMI");<br>
- return table;<br>
- }<br>
- free(table);<br>
+ && strncmp(anchor, "_SM_", 4) != 0)<br>
+ return NULL;<br>
+<br>
+<br>
+ table = malloc(length);<br>
+ if (!table)<br>
+ return NULL;<br>
+ if (dmi_load_file("/sys/firmware/dmi/tables/DMI", table, length) == FWTS<br>
_OK) {<br>
+ fwts_log_info(fw, "SMBIOS table loaded from /sys/firmware/dmi/ta<br>
bles/DMI");<br>
+ return table;<br>
}<br>
+ free(table);<br>
+<br>
<br>
mem = fwts_mmap(addr, length);<br>
if (mem != FWTS_MAP_FAILED) {<br>
@@ -418,16 +421,19 @@ static void* dmi_table_smbios30(fwts_framework *fw, fwts_s<br>
mbios30_entry *entry)<br>
}<br>
<br>
if (dmi_load_file("/sys/firmware/dmi/tables/smbios_entry_point", anchor,<br>
5) == FWTS_OK<br>
- && strncmp(anchor, "_SM3_", 5) == 0) {<br>
- table = malloc(length);<br>
- if (!table)<br>
- return NULL;<br>
- if (dmi_load_file_variable_size("/sys/firmware/dmi/tables/DMI",<br>
table, &length) == FWTS_OK) {<br>
- fwts_log_info(fw, "SMBIOS30 table loaded from /sys/firmw<br>
are/dmi/tables/DMI");<br>
- return table;<br>
- }<br>
- free(table);<br>
+ && strncmp(anchor, "_SM3_", 5) != 0)<br>
+ return NULL;<br>
+<br>
+<br>
+ table = malloc(length);<br>
+ if (!table)<br>
+ return NULL;<br>
+ if (dmi_load_file_variable_size("/sys/firmware/dmi/tables/DMI", table, &<br>
length) == FWTS_OK) {<br>
+ fwts_log_info(fw, "SMBIOS30 table loaded from /sys/firmware/dmi/<br>
tables/DMI");<br>
+ return table;<br>
}<br>
+ free(table);<br>
+<br>
<br>
mem = fwts_mmap(addr, length);<br>
if (mem != FWTS_MAP_FAILED) {<br>
@@ -648,6 +654,8 @@ static int smbios_entry_check(fwts_framework *fw)<br>
*/<br>
if (dmi_sane(fw, &entry) == FWTS_OK)<br>
fwts_passed(fw, "SMBIOS Table Entry Structure Table Addr<br>
ess and Length looks valid.");<br>
+ else<br>
+ return FWTS_ERROR;<br>
}<br>
<br>
return FWTS_OK;<br>
@@ -769,6 +777,8 @@ static int smbios30_entry_check(fwts_framework *fw)<br>
*/<br>
if (dmi_smbios30_sane(fw, &entry) == FWTS_OK)<br>
fwts_passed(fw, "SMBIOS 3.0 Table Entry Structure Table<br>
Address and Length looks valid.");<br>
+ else<br>
+ return FWTS_ERROR;<br>
}<br>
<br>
return FWTS_OK;<br>
--<br>
1.8.3.1<br>
<br><br></blockquote></div>-- <br><div dir="ltr"><div dir="ltr">Cheers,<br>Alex Hung<br></div></div></div></div>