Skip to content

Commit 27dc070

Browse files
borntraegerVasily Gorbik
authored andcommitted
s390/uv: Fix handling of length extensions
The query parameter block might contain additional information and can be extended in the future. If the size of the block does not suffice we get an error code of rc=0x100. The buffer will contain all information up to the specified size and the hypervisor/guest simply do not need the additional information as they do not know about the new data. That means that we can (and must) accept rc=0x100 as success. Cc: [email protected] Reviewed-by: Cornelia Huck <[email protected]> Fixes: 5abb935 ("s390/uv: introduce guest side ultravisor code") Signed-off-by: Christian Borntraeger <[email protected]> Signed-off-by: Vasily Gorbik <[email protected]>
1 parent 2c25b3f commit 27dc070

File tree

1 file changed

+2
-1
lines changed

1 file changed

+2
-1
lines changed

arch/s390/boot/uv.c

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,8 @@ void uv_query_info(void)
1515
if (!test_facility(158))
1616
return;
1717

18-
if (uv_call(0, (uint64_t)&uvcb))
18+
/* rc==0x100 means that there is additional data we do not process */
19+
if (uv_call(0, (uint64_t)&uvcb) && uvcb.header.rc != 0x100)
1920
return;
2021

2122
if (test_bit_inv(BIT_UVC_CMD_SET_SHARED_ACCESS, (unsigned long *)uvcb.inst_calls_list) &&

0 commit comments

Comments
 (0)