Skip to content

Commit a0832b3

Browse files
Vasily GorbikMartin Schwidefsky
authored andcommitted
s390/ipl: correct ipl parmblock valid checks
In some cases diag308_set_works used to be misused as "we have valid ipl parmblock", which is not the case when diag308 set works, but there is no ipl parmblock (diag308 store returns DIAG308_RC_NOCONFIG). Such checks are adjusted to reuse ipl_block_valid instead of diag308_set_works. Reviewed-by: Heiko Carstens <heiko.carstens@de.ibm.com> Signed-off-by: Vasily Gorbik <gor@linux.ibm.com> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
1 parent d08091a commit a0832b3

File tree

1 file changed

+4
-6
lines changed

1 file changed

+4
-6
lines changed

arch/s390/kernel/ipl.c

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -334,7 +334,7 @@ size_t append_ipl_vmparm(char *dest, size_t size)
334334
size_t rc;
335335

336336
rc = 0;
337-
if (diag308_set_works && (ipl_block.hdr.pbt == DIAG308_IPL_TYPE_CCW))
337+
if (ipl_block_valid && ipl_block.hdr.pbt == DIAG308_IPL_TYPE_CCW)
338338
rc = reipl_get_ascii_vmparm(dest, size, &ipl_block);
339339
else
340340
dest[0] = 0;
@@ -1116,7 +1116,7 @@ static void reipl_block_ccw_fill_parms(struct ipl_parameter_block *ipb)
11161116
ipb->hdr.flags = DIAG308_FLAGS_LP_VALID;
11171117

11181118
/* VM PARM */
1119-
if (MACHINE_IS_VM && diag308_set_works &&
1119+
if (MACHINE_IS_VM && ipl_block_valid &&
11201120
(ipl_block.ipl_info.ccw.vm_flags & DIAG308_VM_FLAGS_VP_VALID)) {
11211121

11221122
ipb->ipl_info.ccw.vm_flags |= DIAG308_VM_FLAGS_VP_VALID;
@@ -1835,10 +1835,8 @@ static int __init s390_ipl_init(void)
18351835
* case the system is booted from HMC. Fortunately in this case
18361836
* READ SCP info provides the correct value.
18371837
*/
1838-
if (memcmp(sclp_ipl_info.loadparm, str, sizeof(str)) == 0 &&
1839-
diag308_set_works)
1840-
memcpy(sclp_ipl_info.loadparm, ipl_block.hdr.loadparm,
1841-
LOADPARM_LEN);
1838+
if (memcmp(sclp_ipl_info.loadparm, str, sizeof(str)) == 0 && ipl_block_valid)
1839+
memcpy(sclp_ipl_info.loadparm, ipl_block.hdr.loadparm, LOADPARM_LEN);
18421840
shutdown_actions_init();
18431841
shutdown_triggers_init();
18441842
return 0;

0 commit comments

Comments
 (0)