lkml.org 
[lkml]   [2018]   [Apr]   [20]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    SubjectRe: [PATCH] KVM: s390: reset crypto attributes for all vcpus
    From
    Date
    On 20.04.2018 14:26, David Hildenbrand wrote:
    > On 19.04.2018 23:13, Tony Krowiak wrote:
    >> Introduces a new function to reset the crypto attributes for all
    >> vcpus whether they are running or not. Each vcpu in KVM will
    >> be removed from SIE prior to resetting the crypto attributes in its
    >> SIE state description. After all vcpus have had their crypto attributes
    >> reset the vcpus will be restored to SIE.
    >>
    >> This function is incorporated into the kvm_s390_vm_set_crypto(kvm)
    >> function to fix a reported issue whereby the crypto key wrapping
    >> attributes could potentially get out of synch for running vcpus.
    >>
    >> Reported-by: Halil Pasic <pasic@linux.vnet.ibm.com>
    >
    > A reported-by for a code refactoring is strange.
    >
    >> Signed-off-by: Tony Krowiak <akrowiak@linux.vnet.ibm.com>
    >> ---
    >> arch/s390/kvm/kvm-s390.c | 18 ++++++++++++++----
    >> arch/s390/kvm/kvm-s390.h | 13 +++++++++++++
    >> 2 files changed, 27 insertions(+), 4 deletions(-)
    >>
    >> diff --git a/arch/s390/kvm/kvm-s390.c b/arch/s390/kvm/kvm-s390.c
    >> index fa355a6..4fa3037 100644
    >> --- a/arch/s390/kvm/kvm-s390.c
    >> +++ b/arch/s390/kvm/kvm-s390.c
    >> @@ -789,6 +789,19 @@ static int kvm_s390_set_mem_control(struct kvm *kvm, struct kvm_device_attr *att
    >> return ret;
    >> }
    >>
    >> +void kvm_s390_vcpu_crypto_reset_all(struct kvm *kvm)
    >> + {
    >> + int i;
    >> + struct kvm_vcpu *vcpu;
    >> +
    >> + kvm_s390_vcpu_block_all(kvm);
    >> +
    >> + kvm_for_each_vcpu(i, vcpu, kvm)
    >> + kvm_s390_vcpu_crypto_setup(vcpu);
    >> +
    >> + kvm_s390_vcpu_unblock_all(kvm);
    >
    > This code has to be protected by kvm->lock. Can that be guaranteed by
    > the caller?

    Answering my own question: as the caller has access to struct kvm, the
    can of course lock it :)

    --

    Thanks,

    David / dhildenb

    \
     
     \ /
      Last update: 2018-04-20 14:29    [W:2.392 / U:0.052 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site