[coreboot-gerrit] Patch set updated for coreboot: amd/amdht: Fix format security errors

Paul Menzel (paulepanter@users.sourceforge.net) gerrit at coreboot.org
Thu Jan 26 11:26:06 CET 2017


Paul Menzel (paulepanter at users.sourceforge.net) just uploaded a new patch set to gerrit, which you can find at https://review.coreboot.org/18208

-gerrit

commit ae28b9505198160d90b36445c02033af2079c7e6
Author: Paul Menzel <pmenzel at molgen.mpg.de>
Date:   Fri Jan 20 14:49:35 2017 +0100

    amd/amdht: Fix format security errors
    
    Ubuntu’s default compiler flags for GCC [1][2] include `-Wformat
    -Wformat-security`, causing errors similar like the one below.
    
    ```
        CC         romstage/northbridge/amd/amdht/ht_wrapper.o
    src/northbridge/amd/amdht/ht_wrapper.c: In function 'AMD_CB_EventNotify':
    src/northbridge/amd/amdht/ht_wrapper.c:124:4: error: format not a string literal and no format arguments [-Werror=format-security]
        printk(log_level, event_class_string_decodes[evtClass]);
        ^
    […]
    ```
    
    Fix that, by explicitly using a format string.
    
    TEST=Built and booted on ASUS KGPE-D16.
    
    [1] https://stackoverflow.com/questions/17260409/fprintf-error-format-not-a-string-literal-and-no-format-arguments-werror-for
        "fprintf, error: format not a string literal and no format arguments [-Werror=format-security"
    [2] I tested with gcc (Ubuntu 5.4.0-6ubuntu1~16.04.4) 5.4.0 20160609.
    
    Change-Id: Iabe60deeffa441146eab31dac4416846ce95c32a
    Signed-off-by: Paul Menzel <pmenzel at molgen.mpg.de>
---
 src/northbridge/amd/amdht/ht_wrapper.c | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/src/northbridge/amd/amdht/ht_wrapper.c b/src/northbridge/amd/amdht/ht_wrapper.c
index 8a25993..8babb47 100644
--- a/src/northbridge/amd/amdht/ht_wrapper.c
+++ b/src/northbridge/amd/amdht/ht_wrapper.c
@@ -121,7 +121,7 @@ static void AMD_CB_EventNotify (u8 evtClass, u16 event, const u8 *pEventData0)
 		case HT_EVENT_CLASS_WARNING:
 		case HT_EVENT_CLASS_INFO:
 			log_level = BIOS_DEBUG;
-			printk(log_level, event_class_string_decodes[evtClass]);
+			printk(log_level, "%s", event_class_string_decodes[evtClass]);
 			break;
 		default:
 			log_level = BIOS_DEBUG;
@@ -135,7 +135,7 @@ static void AMD_CB_EventNotify (u8 evtClass, u16 event, const u8 *pEventData0)
 		case HT_EVENT_COH_NO_TOPOLOGY:
 		case HT_EVENT_COH_LINK_EXCEED:
 		case HT_EVENT_COH_FAMILY_FEUD:
-			printk(log_level, event_string_decode(event));
+			printk(log_level, "%s", event_string_decode(event));
 			break;
 		case HT_EVENT_COH_NODE_DISCOVERED:
 			{
@@ -152,11 +152,11 @@ static void AMD_CB_EventNotify (u8 evtClass, u16 event, const u8 *pEventData0)
 		case HT_EVENT_NCOH_LINK_EXCEED:
 		case HT_EVENT_NCOH_BUS_MAX_EXCEED:
 		case HT_EVENT_NCOH_CFG_MAP_EXCEED:
-			printk(log_level, event_string_decode(event));
+			printk(log_level, "%s", event_string_decode(event));
 			break;
 		case HT_EVENT_NCOH_DEVICE_FAILED:
 			{
-				printk(log_level, event_string_decode(event));
+				printk(log_level, "%s", event_string_decode(event));
 				sHtEventNcohDeviceFailed *evt = (sHtEventNcohDeviceFailed*)pEventData0;
 				printk(log_level, ": node %d link %d depth: %d attemptedBUID: %d",
 					evt->node, evt->link, evt->depth, evt->attemptedBUID);
@@ -165,7 +165,7 @@ static void AMD_CB_EventNotify (u8 evtClass, u16 event, const u8 *pEventData0)
 			}
 		case HT_EVENT_NCOH_AUTO_DEPTH:
 			{
-				printk(log_level, event_string_decode(event));
+				printk(log_level, "%s", event_string_decode(event));
 				sHtEventNcohAutoDepth *evt = (sHtEventNcohAutoDepth*)pEventData0;
 				printk(log_level, ": node %d link %d depth: %d",
 					evt->node, evt->link, evt->depth);
@@ -178,7 +178,7 @@ static void AMD_CB_EventNotify (u8 evtClass, u16 event, const u8 *pEventData0)
 		case HT_EVENT_HW_EVENTS:
 		case HT_EVENT_HW_SYNCHFLOOD:
 		case HT_EVENT_HW_HTCRC:
-			printk(log_level, event_string_decode(event));
+			printk(log_level, "%s", event_string_decode(event));
 			break;
 		default:
 			printk(log_level, "HT_EVENT_UNKNOWN");



More information about the coreboot-gerrit mailing list