On Thu, Nov 28, 2019 at 01:33 PM +0100, Claudio Imbrenda 
<imbre...@linux.ibm.com> wrote:
> 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")
>
> Signed-off-by: Claudio Imbrenda <imbre...@linux.ibm.com>
> ---
>  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 c0223fa..7251f9a 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);
>      }
> -- 
> 2.7.4

Tested-by: Marc Hartmayer <mhart...@linux.ibm.com>

Kind regards / Beste Grüße
   Marc Hartmayer

IBM Deutschland Research & Development GmbH
Vorsitzende des Aufsichtsrats: Matthias Hartmann
Geschäftsführung: Dirk Wittkopp
Sitz der Gesellschaft: Böblingen
Registergericht: Amtsgericht Stuttgart, HRB 243294


Reply via email to