[kvm-unit-tests PATCH v4 0/2] Fixing infinite loop on SCLP READ SCP INFO error

Pierre Morel
2023-05-30T12:53:34Z

Aborting on SCLP READ SCP INFO error leads to a deadloop.

The loop is:
abort() -> exit() -> smp_teardown() -> smp_query_num_cpus() ->
sclp_get_cpu_num() -> assert() -> abort()

Since smp_setup() is done after sclp_read_info() inside setup() this
loop only happens when only the start processor is running.
Let sclp_get_cpu_num() return 1 in this case.

Also implement the SCLP_RC_INSUFFICIENT_SCCB_LENGTH handling and
repeat the sclp command.

Pierre Morel (2):
s390x: sclp: consider monoprocessor on read_info error
s390x: sclp: Implement SCLP_RC_INSUFFICIENT_SCCB_LENGTH

lib/s390x/sclp.c | 69 +++++++++++++++++++++++++++++++++++++++++-------
1 file changed, 59 insertions(+), 10 deletions(-)

--
2.31.1

since v3:

- added initial patch and merge with comments
Sorry for the noise.

since v2:

- use tabs in first patch
(Nico)

- Added comments

- Added SCLP_RC_INSUFFICIENT_SCCB_LENGTH handling