1

Fix invalid gisa designation value when gisa is not in use.

Panic if (un)share fails to maintain security.
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCAAdFiEEwGNS88vfc9+v45Yq41TmuOI4ufgFAmazVv8ACgkQ41TmuOI4
 ufgTMA/+N3YMY9iC/4alFhYtOPOU7l3DFfRgSqBI4yGiTD0D9Fv9fnYrc3CQtAJ2
 wlENGLMlmdPwmu8nttxOkPxqf7EmLdzyK4aNDHx5duSnYtF+Nrj0cqEKicCmqP3A
 FRlfQVhXciX9N7uodEv99Xfbu5YzSibtg3/0aKB05qDS3uosTCpnQiyeu4ws2D19
 F1KPFYxjmb9UvPCCUZ5zp0f05Mya+Ve+vLh4vRzTRhZqQpjyGW4NvwmoC1t27gGg
 fA+sExVwTtIXhap7tna+pkUK1KJZQizDLQ6qh/xSfw7S58bHqHBT9qAqUsFSoNmC
 5xEL/5ocupmF6dVrCRrogFi+bOW4wqUkZFcVsoQfsYCLYzIpme1Asw3YkME6L2pQ
 ug7hjTHK6+ubRfIzIlmag8EYNt863h+/rbsN2I5wCkXVHvDaiqjvlzNSQ53mU4xK
 OYcqBKtgysDlMKfs1VYhCGK5i8yr36IvG+i97C5y2wZ6IMZHr0k203xxLyCDiHWC
 a7LnF+pMfKrmzKEiZ8DaPeGDzAx4k/yQpl7vG7Mu4bumtGoOJoXywk26F+9H6EXu
 iuASOw7R/lf2b/CPAk6s8GnIQH1g0w0XAsiFwnx5MESl7F2Dyk2aALTPw0a7xvSk
 pfrgNeVfzmNHWxyb2Gjiit4DyY+jsIp+J9ogIzBEJwiVakWW2Gk=
 =PUqS
 -----END PGP SIGNATURE-----

Merge tag 'kvm-s390-master-6.11-1' of https://git.kernel.org/pub/scm/linux/kernel/git/kvms390/linux into HEAD

Fix invalid gisa designation value when gisa is not in use.
Panic if (un)share fails to maintain security.
This commit is contained in:
Paolo Bonzini 2024-08-13 06:07:03 -04:00
commit 696eb24ac2
2 changed files with 10 additions and 2 deletions

View File

@ -441,7 +441,10 @@ static inline int share(unsigned long addr, u16 cmd)
if (!uv_call(0, (u64)&uvcb))
return 0;
return -EINVAL;
pr_err("%s UVC failed (rc: 0x%x, rrc: 0x%x), possible hypervisor bug.\n",
uvcb.header.cmd == UVC_CMD_SET_SHARED_ACCESS ? "Share" : "Unshare",
uvcb.header.rc, uvcb.header.rrc);
panic("System security cannot be guaranteed unless the system panics now.\n");
}
/*

View File

@ -267,7 +267,12 @@ static inline unsigned long kvm_s390_get_gfn_end(struct kvm_memslots *slots)
static inline u32 kvm_s390_get_gisa_desc(struct kvm *kvm)
{
u32 gd = virt_to_phys(kvm->arch.gisa_int.origin);
u32 gd;
if (!kvm->arch.gisa_int.origin)
return 0;
gd = virt_to_phys(kvm->arch.gisa_int.origin);
if (gd && sclp.has_gisaf)
gd |= GISA_FORMAT1;