On 22.06.2017 15:34, Christian Borntraeger wrote: > From: Heiko Carstens <heiko.carstens@xxxxxxxxxx> > > For real-space designation asces the asce origin part is only a token. > The asce token origin must not be used to generate an effective > address for storage references. This however is erroneously done > within kvm_s390_shadow_tables(). > > Furthermore within the same function the wrong parts of virtual > addresses are used to generate a corresponding real address > (e.g. the region second index is used as region first index). > > Both of the above can result in incorrect address translations. Only > for real space designations with a token origin of zero and addresses > below one megabyte the translation was correct. > > Furthermore replace a "!asce.r" statement with a "!*fake" statement to > make it more obvious that a specific condition has nothing to do with > the architecture, but with the fake handling of real space designations. > > Fixes: 3218f7094b6b ("s390/mm: support real-space for gmap shadows") > Cc: David Hildenbrand <david@xxxxxxxxxx> > Cc: stable@xxxxxxxxxxxxxxx > Signed-off-by: Heiko Carstens <heiko.carstens@xxxxxxxxxx> > Reviewed-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> > Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> Reviewed-by: David Hildenbrand <david@xxxxxxxxxx> -- Thanks, David