• Claudio Imbrenda's avatar
    KVM: s390: pv: handle secure storage violations for protected guests · a52c2584
    Claudio Imbrenda authored
    A secure storage violation is triggered when a protected guest tries to
    access secure memory that has been mapped erroneously, or that belongs
    to a different protected guest or to the ultravisor.
    
    With upcoming patches, protected guests will be able to trigger secure
    storage violations in normal operation. This happens for example if a
    protected guest is rebooted with deferred destroy enabled and the new
    guest is also protected.
    
    When the new protected guest touches pages that have not yet been
    destroyed, and thus are accounted to the previous protected guest, a
    secure storage violation is raised.
    
    This patch adds handling of secure storage violations for protected
    guests.
    
    This exception is handled by first trying to destroy the page, because
    it is expected to belong to a defunct protected guest where a destroy
    should be possible. Note that a secure page can only be destroyed if
    its protected VM does not have any CPUs, which only happens when the
    protected VM is being terminated. If that fails, a normal export of
    the page is attempted.
    
    This means that pages that trigger the exception will be made
    non-secure (in one way or another) before attempting to use them again
    for a different secure guest.
    Signed-off-by: default avatarClaudio Imbrenda <imbrenda@linux.ibm.com>
    Acked-by: default avatarJanosch Frank <frankja@linux.ibm.com>
    Link: https://lore.kernel.org/r/20220628135619.32410-3-imbrenda@linux.ibm.com
    Message-Id: <20220628135619.32410-3-imbrenda@linux.ibm.com>
    Signed-off-by: default avatarJanosch Frank <frankja@linux.ibm.com>
    a52c2584
uv.h 10.9 KB