lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20241031152448.8297-B-hca@linux.ibm.com>
Date: Thu, 31 Oct 2024 16:24:48 +0100
From: Heiko Carstens <hca@...ux.ibm.com>
To: Claudio Imbrenda <imbrenda@...ux.ibm.com>
Cc: linux-kernel@...r.kernel.org, borntraeger@...ibm.com, nsg@...ux.ibm.com,
        nrb@...ux.ibm.com, frankja@...ux.ibm.com, seiden@...ux.ibm.com,
        agordeev@...ux.ibm.com, gor@...ux.ibm.com, kvm@...r.kernel.org,
        linux-s390@...r.kernel.org
Subject: Re: [PATCH v1 1/1] s390/kvm: mask extra bits from program interrupt
 code

On Thu, Oct 31, 2024 at 02:01:13PM +0100, Claudio Imbrenda wrote:
> On Thu, 31 Oct 2024 13:38:15 +0100
> Heiko Carstens <hca@...ux.ibm.com> wrote:
> > > diff --git a/arch/s390/kvm/kvm-s390.c b/arch/s390/kvm/kvm-s390.c
> > > index 8b3afda99397..f2d1351f6992 100644
> > > --- a/arch/s390/kvm/kvm-s390.c
> > > +++ b/arch/s390/kvm/kvm-s390.c
> > > @@ -4737,7 +4737,7 @@ static int vcpu_post_run_handle_fault(struct kvm_vcpu *vcpu)
> > >  	if (kvm_s390_cur_gmap_fault_is_write())
> > >  		flags = FAULT_FLAG_WRITE;
> > >  
> > > -	switch (current->thread.gmap_int_code) {
> > > +	switch (current->thread.gmap_int_code & PGM_INT_CODE_MASK) {  
> > 
> > Can you give an example? When reviewing your patch I was aware of this, but
> > actually thought we do want to know when this happens, since the kernel did
> > something which causes such bits to be set; e.g. single stepping with PER
> > on the sie instruction. If that happens then such program interruptions
> > should not be passed for kvm handling, since that would indicate a host
> > kernel bug (the sie instruction is not allowed to be single stepped).
> > 
> > Or in other words: this should never happen. Of course I might have missed
> > something; so when could this happen where this is not a bug and the bits
> > should be ignored?
> 
> in some cases some guest indication bits might be set when a
> host exception happens.
> 
> I was also unaware of those and found out the hard way.

Thanks for explaining. Chances are that we need another patch to
address this for the vsie code as well (handle_fault()). But that
would be another patch.

Applied, thanks!

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ