From d796588ba13b9d9301433bdf4e461ad5e60d9796 Mon Sep 17 00:00:00 2001 From: Markus Armbruster Date: Thu, 18 Apr 2019 16:53:54 +0200 Subject: [PATCH 1/3] pc-bios/s390-ccw: Clean up harmless misuse of isdigit() atoui() and get_index() pass char values to isdigit(). With a standard isdigit(), we'd get undefined behavior when the value is negative. Can't happen as char is unsigned on s390x. Even if it ould, we're actually using isdigit() from pc-bios/s390-ccw/libc.h here, which works fine for negative values. Clean up anyway, just to avoid setting a bad example. Signed-off-by: Markus Armbruster Message-Id: <20190418145355.21100-6-armbru@redhat.com> [thuth: updated the commit message] Signed-off-by: Thomas Huth --- pc-bios/s390-ccw/libc.c | 2 +- pc-bios/s390-ccw/menu.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/pc-bios/s390-ccw/libc.c b/pc-bios/s390-ccw/libc.c index a786566c4c..3187923950 100644 --- a/pc-bios/s390-ccw/libc.c +++ b/pc-bios/s390-ccw/libc.c @@ -38,7 +38,7 @@ uint64_t atoui(const char *str) } while (*str) { - if (!isdigit(*str)) { + if (!isdigit(*(unsigned char *)str)) { break; } val = val * 10 + *str - '0'; diff --git a/pc-bios/s390-ccw/menu.c b/pc-bios/s390-ccw/menu.c index 82a4ae6315..ce3815b201 100644 --- a/pc-bios/s390-ccw/menu.c +++ b/pc-bios/s390-ccw/menu.c @@ -134,7 +134,7 @@ static int get_index(void) /* Check for erroneous input */ for (i = 0; i < len; i++) { - if (!isdigit(buf[i])) { + if (!isdigit((unsigned char)buf[i])) { return -1; } } From 2497b4a3c08426122d1a89b808c669a734469e5a Mon Sep 17 00:00:00 2001 From: "Jason J. Herne" Date: Mon, 29 Apr 2019 09:09:41 -0400 Subject: [PATCH 2/3] s390-bios: Skip bootmap signature entries Newer versions of zipl have the ability to write signature entries to the boot script for secure boot. We don't yet support secure boot, but we need to skip over signature entries while reading the boot script in order to maintain our ability to boot guest operating systems that have a secure bootloader. Signed-off-by: Jason J. Herne Reviewed-by: Farhan Ali Message-Id: <1556543381-12671-1-git-send-email-jjherne@linux.ibm.com> Signed-off-by: Thomas Huth --- pc-bios/s390-ccw/bootmap.c | 19 +++++++++++++++++-- pc-bios/s390-ccw/bootmap.h | 10 ++++++---- 2 files changed, 23 insertions(+), 6 deletions(-) diff --git a/pc-bios/s390-ccw/bootmap.c b/pc-bios/s390-ccw/bootmap.c index 7aef65ab67..d13b7cbd15 100644 --- a/pc-bios/s390-ccw/bootmap.c +++ b/pc-bios/s390-ccw/bootmap.c @@ -254,7 +254,14 @@ static void run_eckd_boot_script(block_number_t bmt_block_nr, memset(sec, FREE_SPACE_FILLER, sizeof(sec)); read_block(block_nr, sec, "Cannot read Boot Map Script"); - for (i = 0; bms->entry[i].type == BOOT_SCRIPT_LOAD; i++) { + for (i = 0; bms->entry[i].type == BOOT_SCRIPT_LOAD || + bms->entry[i].type == BOOT_SCRIPT_SIGNATURE; i++) { + + /* We don't support secure boot yet, so we skip signature entries */ + if (bms->entry[i].type == BOOT_SCRIPT_SIGNATURE) { + continue; + } + address = bms->entry[i].address.load_address; block_nr = eckd_block_num(&bms->entry[i].blkptr.xeckd.bptr.chs); @@ -489,7 +496,15 @@ static void zipl_run(ScsiBlockPtr *pte) /* Load image(s) into RAM */ entry = (ComponentEntry *)(&header[1]); - while (entry->component_type == ZIPL_COMP_ENTRY_LOAD) { + while (entry->component_type == ZIPL_COMP_ENTRY_LOAD || + entry->component_type == ZIPL_COMP_ENTRY_SIGNATURE) { + + /* We don't support secure boot yet, so we skip signature entries */ + if (entry->component_type == ZIPL_COMP_ENTRY_SIGNATURE) { + entry++; + continue; + } + zipl_load_segment(entry); entry++; diff --git a/pc-bios/s390-ccw/bootmap.h b/pc-bios/s390-ccw/bootmap.h index a085212077..94f53a5f1e 100644 --- a/pc-bios/s390-ccw/bootmap.h +++ b/pc-bios/s390-ccw/bootmap.h @@ -98,8 +98,9 @@ typedef struct ScsiMbr { #define ZIPL_COMP_HEADER_IPL 0x00 #define ZIPL_COMP_HEADER_DUMP 0x01 -#define ZIPL_COMP_ENTRY_LOAD 0x02 -#define ZIPL_COMP_ENTRY_EXEC 0x01 +#define ZIPL_COMP_ENTRY_EXEC 0x01 +#define ZIPL_COMP_ENTRY_LOAD 0x02 +#define ZIPL_COMP_ENTRY_SIGNATURE 0x03 typedef struct XEckdMbr { uint8_t magic[4]; /* == "xIPL" */ @@ -117,8 +118,9 @@ typedef struct BootMapScriptEntry { BootMapPointer blkptr; uint8_t pad[7]; uint8_t type; /* == BOOT_SCRIPT_* */ -#define BOOT_SCRIPT_EXEC 0x01 -#define BOOT_SCRIPT_LOAD 0x02 +#define BOOT_SCRIPT_EXEC 0x01 +#define BOOT_SCRIPT_LOAD 0x02 +#define BOOT_SCRIPT_SIGNATURE 0x03 union { uint64_t load_address; uint64_t load_psw; From f7a339a5ba48a8a5c5bf4f1fdb1463bf8ac5f5bb Mon Sep 17 00:00:00 2001 From: Thomas Huth Date: Wed, 8 May 2019 11:26:01 +0200 Subject: [PATCH 3/3] pc-bios/s390: Update firmware image with "Skip bootmap signature entries" fix Firmware now skips the unsupported signature entries instead of aborting the boot process. Signed-off-by: Thomas Huth --- pc-bios/s390-ccw.img | Bin 42608 -> 42608 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/pc-bios/s390-ccw.img b/pc-bios/s390-ccw.img index ba054828d35d72fd1ed5521a48f43f593a1c291f..a0234bf748e10fdfaab27b8a751bee1db1865256 100644 GIT binary patch literal 42608 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 M(UQPlKRxmP0I&8R5dZ)H literal 42608 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