On Wed, May 12, 2021 at 04:43:28PM +0200, Christian Borntraeger wrote: > On 12.05.21 16:17, Greg KH wrote: > > On Wed, May 12, 2021 at 02:34:29PM +0200, Christian Borntraeger wrote: > > > > > > > > > On 12.05.21 12:24, gregkh@xxxxxxxxxxxxxxxxxxx wrote: > > > > > > > > This is a note to let you know that I've just added the patch titled > > > > > > > > KVM: s390: VSIE: correctly handle MVPG when in VSIE > > > > > > > > to the 4.14-stable tree which can be found at: > > > > http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary > > > > > > > > The filename of the patch is: > > > > kvm-s390-vsie-correctly-handle-mvpg-when-in-vsie.patch > > > > and it can be found in the queue-4.14 subdirectory. > > > > > > > > If you, or anyone else, feels it should not be added to the stable tree, > > > > please let <stable@xxxxxxxxxxxxxxx> know about it. > > > > > > > > > > > > From bdf7509bbefa20855d5f6bacdc5b62a8489477c9 Mon Sep 17 00:00:00 2001 > > > > From: Claudio Imbrenda <imbrenda@xxxxxxxxxxxxx> > > > > Date: Mon, 1 Feb 2021 21:54:13 +0100 > > > > Subject: KVM: s390: VSIE: correctly handle MVPG when in VSIE > > > > > > > > From: Claudio Imbrenda <imbrenda@xxxxxxxxxxxxx> > > > > > > > > commit bdf7509bbefa20855d5f6bacdc5b62a8489477c9 upstream. > > > > > > > > Correctly handle the MVPG instruction when issued by a VSIE guest. > > > > > > > > Fixes: a3508fbe9dc6d ("KVM: s390: vsie: initial support for nested virtualization") > > > > Cc: stable@xxxxxxxxxxxxxxx # f85f1baaa189: KVM: s390: split kvm_s390_logical_to_effective > > > > Signed-off-by: Claudio Imbrenda <imbrenda@xxxxxxxxxxxxx> > > > > Acked-by: Janosch Frank <frankja@xxxxxxxxxxxxx> > > > > Reviewed-by: David Hildenbrand <david@xxxxxxxxxx> > > > > Acked-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> > > > > Link: https://lore.kernel.org/r/20210302174443.514363-4-imbrenda@xxxxxxxxxxxxx > > > > [borntraeger@xxxxxxxxxx: apply fixup from Claudio] > > > > Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> > > > > Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> > > > [..] > > > > > > > +static int vsie_handle_mvpg(struct kvm_vcpu *vcpu, struct vsie_page *vsie_page) > > > > +{ > > > > + struct kvm_s390_sie_block *scb_s = &vsie_page->scb_s; > > > > + unsigned long pei_dest, pei_src, src, dest, mask; > > > > + u64 *pei_block = &vsie_page->scb_o->mcic; > > > > > > Claudio. 4.14, 4.19 and 5.4 misses some prereqs: > > > > > > CC arch/s390/kvm/vsie.o > > > arch/s390/kvm/vsie.c: In function ‘vsie_handle_mvpg’: > > > arch/s390/kvm/vsie.c:843:43: error: ‘struct kvm_s390_sie_block’ has no member named ‘mcic’ > > > 843 | u64 *pei_block = &vsie_page->scb_o->mcic; > > > > > > > > > I think something like > > > scb_o->reservedb0[16] > > > for 4.9 > > > > > > instead of scb_o->mcic > > > would be a quick fix, but someone would need to test this. > > > > > > Greg, > > > so maybe lets just drop the whole series for 5.4 and older until we have a fixup? > > > > Ok, I'll go drop these: > > bdf7509bbefa ("KVM: s390: VSIE: correctly handle MVPG when in VSIE") > > c3171e94cc1c ("KVM: s390: VSIE: fix MVPG handling for prefixing and MSO") > > 5ac14bac08ae ("KVM: s390: extend kvm_s390_shadow_fault to return entry pointer") > > > > from 4.14, 4.19, and 5.4. > > > > If I should drop more, please let me know. > > If you want you can re-add them for 4.14 and 4.19 if you add this one as well. > kvm unit test in a nested guests work fine with stable+queue+this patch > Next would be such a patch for 5.4. > >From 2faed358e233d07157190ac9b61b1cd63fd97aad Mon Sep 17 00:00:00 2001 > From: Christian Borntraeger <borntraeger@xxxxxxxxxx> > Date: Wed, 12 May 2021 15:46:51 +0200 > Subject: [PATCH] partial backport of 201ae986ead7 (KVM: s390: protvirt: > Implement interrupt injection) > > For 4.14 and 4.19 stable: This patch makes "KVM: s390: VSIE: correctly > handle MVPG when in VSIE" compile again. > With that I have verified the fix on 4.19. > > provide the necessary mcic in the struct sie_block. > > Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> > --- > arch/s390/include/asm/kvm_host.h | 12 +++++++++--- > 1 file changed, 9 insertions(+), 3 deletions(-) > > diff --git a/arch/s390/include/asm/kvm_host.h b/arch/s390/include/asm/kvm_host.h > index 82d76ac71d2e..825e635cc54e 100644 > --- a/arch/s390/include/asm/kvm_host.h > +++ b/arch/s390/include/asm/kvm_host.h > @@ -237,9 +237,15 @@ struct kvm_s390_sie_block { > psw_t gpsw; /* 0x0090 */ > __u64 gg14; /* 0x00a0 */ > __u64 gg15; /* 0x00a8 */ > - __u8 reservedb0[20]; /* 0x00b0 */ > - __u16 extcpuaddr; /* 0x00c4 */ > - __u16 eic; /* 0x00c6 */ > + __u8 reservedb0[16]; /* 0x00b0 */ > + union { > + struct { > + __u32 eiparams; /* 0x00c0 */ > + __u16 extcpuaddr; /* 0x00c4 */ > + __u16 eic; /* 0x00c6 */ > + }; > + __u64 mcic; /* 0x00c0 */ > + } __packed; > __u32 reservedc8; /* 0x00c8 */ > __u16 pgmilc; /* 0x00cc */ > __u16 iprcc; /* 0x00ce */ > -- > 2.31.1 > For now, let me just leave it alone, and you all can send me a proper seties of patches so I know for _sure_ what I should be doing here. thanks, greg k-h