diff options
author | Paolo Bonzini <pbonzini@redhat.com> | 2020-11-18 18:04:05 +0100 |
---|---|---|
committer | Paolo Bonzini <pbonzini@redhat.com> | 2020-11-18 18:04:05 +0100 |
commit | 79af02af1d01ffab6118552c66b4d58eb0745f3e (patch) | |
tree | f1cef78b18164daee440ad6fb25dd259018f3402 /arch | |
parent | KVM: SVM: fix error return code in svm_create_vcpu() (diff) | |
parent | MAINTAINERS: add uv.c also to KVM/s390 (diff) | |
download | linux-79af02af1d01ffab6118552c66b4d58eb0745f3e.tar.xz linux-79af02af1d01ffab6118552c66b4d58eb0745f3e.zip |
Merge tag 'kvm-s390-master-5.10-2' of git://git.kernel.org/pub/scm/linux/kernel/git/kvms390/linux into kvm-master
KVM: s390: Fix for destroy page ultravisor call
- handle response code from older firmware
- add uv.c to KVM: s390/s390 maintainer list
Diffstat (limited to 'arch')
-rw-r--r-- | arch/s390/kernel/uv.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/arch/s390/kernel/uv.c b/arch/s390/kernel/uv.c index 14bd9d58edc9..883bfed9f5c2 100644 --- a/arch/s390/kernel/uv.c +++ b/arch/s390/kernel/uv.c @@ -129,8 +129,15 @@ int uv_destroy_page(unsigned long paddr) .paddr = paddr }; - if (uv_call(0, (u64)&uvcb)) + if (uv_call(0, (u64)&uvcb)) { + /* + * Older firmware uses 107/d as an indication of a non secure + * page. Let us emulate the newer variant (no-op). + */ + if (uvcb.header.rc == 0x107 && uvcb.header.rrc == 0xd) + return 0; return -EINVAL; + } return 0; } |