From f24ec9feadfed032a91e06cb3c564db533d5ff11 Mon Sep 17 00:00:00 2001 From: Claudio Imbrenda Date: Thu, 28 Nov 2019 13:33:57 +0100 Subject: [PATCH 1/2] pc-bios/s390-ccw: fix sclp_get_loadparm_ascii The existing s390 bios gets the LOADPARM information from the system using an SCLP call that specifies a buffer length too small to contain all the output. The recent fixes in the SCLP code have exposed this bug, since now the SCLP call will return an error (as per architecture) instead of writing partially and completing successfully. The solution is simply to specify the full page length as the SCCB length instead of a smaller size. Fixes: 832be0d8a3bb ("s390x: sclp: Report insufficient SCCB length") Fixes: 9a22473c70f3 ("pc-bios/s390-ccw: get LOADPARM stored in SCP Read Info") Reported-by: Marc Hartmayer Signed-off-by: Claudio Imbrenda Message-Id: <1574944437-31182-1-git-send-email-imbrenda@linux.ibm.com> Acked-by: Christian Borntraeger Tested-by: Thomas Huth Reviewed-by: Janosch Frank Tested-by: Marc Hartmayer Signed-off-by: Thomas Huth --- pc-bios/s390-ccw/sclp.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pc-bios/s390-ccw/sclp.c b/pc-bios/s390-ccw/sclp.c index c0223fab0b..7251f9af4d 100644 --- a/pc-bios/s390-ccw/sclp.c +++ b/pc-bios/s390-ccw/sclp.c @@ -112,7 +112,7 @@ void sclp_get_loadparm_ascii(char *loadparm) ReadInfo *sccb = (void *)_sccb; memset((char *)_sccb, 0, sizeof(ReadInfo)); - sccb->h.length = sizeof(ReadInfo); + sccb->h.length = SCCB_SIZE; if (!sclp_service_call(SCLP_CMDW_READ_SCP_INFO, sccb)) { ebcdic_to_ascii((char *) sccb->loadparm, loadparm, LOADPARM_LEN); } From bf876a688c9319b506d5ff1175ba7189cd933d91 Mon Sep 17 00:00:00 2001 From: Thomas Huth Date: Fri, 29 Nov 2019 10:12:33 +0100 Subject: [PATCH 2/2] pc-bios/s390: Update firmware image with the "fix sclp_get_loadparm_ascii" patch This fixes various boot scenarios, e.g. the possibility to use "-boot menu=on". Signed-off-by: Thomas Huth --- pc-bios/s390-ccw.img | Bin 42608 -> 42608 bytes pc-bios/s390-netboot.img | Bin 67232 -> 67232 bytes 2 files changed, 0 insertions(+), 0 deletions(-) diff --git a/pc-bios/s390-ccw.img b/pc-bios/s390-ccw.img index a0234bf748e10fdfaab27b8a751bee1db1865256..c84ae93561ddfa3e1749f81ff62e60aad97fc061 100644 GIT binary patch delta 10044 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 Zw@+2@Qn7JIhM$SizZItX#vOJ1{{b>^n>_#k delta 9703 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 z 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