| From foo@baz Sat Nov 10 11:24:34 PST 2018 |
| From: Janosch Frank <frankja@linux.ibm.com> |
| Date: Tue, 2 Oct 2018 10:57:52 +0200 |
| Subject: s390/sthyi: Fix machine name validity indication |
| |
| From: Janosch Frank <frankja@linux.ibm.com> |
| |
| [ Upstream commit b5130dc2224d1881f24224c0590c6d97f2168d6a ] |
| |
| When running as a level 3 guest with no host provided sthyi support |
| sclp_ocf_cpc_name_copy() will only return zeroes. Zeroes are not a |
| valid group name, so let's not indicate that the group name field is |
| valid. |
| |
| Also the group name is not dependent on stsi, let's not return based |
| on stsi before setting it. |
| |
| Fixes: 95ca2cb57985 ("KVM: s390: Add sthyi emulation") |
| Signed-off-by: Janosch Frank <frankja@linux.ibm.com> |
| Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com> |
| Signed-off-by: Sasha Levin <sashal@kernel.org> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| --- |
| arch/s390/kvm/sthyi.c | 8 +++++--- |
| 1 file changed, 5 insertions(+), 3 deletions(-) |
| |
| --- a/arch/s390/kvm/sthyi.c |
| +++ b/arch/s390/kvm/sthyi.c |
| @@ -174,17 +174,19 @@ static void fill_hdr(struct sthyi_sctns |
| static void fill_stsi_mac(struct sthyi_sctns *sctns, |
| struct sysinfo_1_1_1 *sysinfo) |
| { |
| + sclp_ocf_cpc_name_copy(sctns->mac.infmname); |
| + if (*(u64 *)sctns->mac.infmname != 0) |
| + sctns->mac.infmval1 |= MAC_NAME_VLD; |
| + |
| if (stsi(sysinfo, 1, 1, 1)) |
| return; |
| |
| - sclp_ocf_cpc_name_copy(sctns->mac.infmname); |
| - |
| memcpy(sctns->mac.infmtype, sysinfo->type, sizeof(sctns->mac.infmtype)); |
| memcpy(sctns->mac.infmmanu, sysinfo->manufacturer, sizeof(sctns->mac.infmmanu)); |
| memcpy(sctns->mac.infmpman, sysinfo->plant, sizeof(sctns->mac.infmpman)); |
| memcpy(sctns->mac.infmseq, sysinfo->sequence, sizeof(sctns->mac.infmseq)); |
| |
| - sctns->mac.infmval1 |= MAC_ID_VLD | MAC_NAME_VLD; |
| + sctns->mac.infmval1 |= MAC_ID_VLD; |
| } |
| |
| static void fill_stsi_par(struct sthyi_sctns *sctns, |