aboutsummaryrefslogtreecommitdiffstats
path: root/arch/s390
diff options
context:
space:
mode:
Diffstat (limited to 'arch/s390')
-rw-r--r--arch/s390/kvm/interrupt.c10
-rw-r--r--arch/s390/kvm/kvm-s390.c4
2 files changed, 13 insertions, 1 deletions
diff --git a/arch/s390/kvm/interrupt.c b/arch/s390/kvm/interrupt.c
index b5fd6e85657c..d1ccc168c071 100644
--- a/arch/s390/kvm/interrupt.c
+++ b/arch/s390/kvm/interrupt.c
@@ -1961,6 +1961,16 @@ int s390int_to_s390irq(struct kvm_s390_interrupt *s390int,
1961 case KVM_S390_MCHK: 1961 case KVM_S390_MCHK:
1962 irq->u.mchk.mcic = s390int->parm64; 1962 irq->u.mchk.mcic = s390int->parm64;
1963 break; 1963 break;
1964 case KVM_S390_INT_PFAULT_INIT:
1965 irq->u.ext.ext_params = s390int->parm;
1966 irq->u.ext.ext_params2 = s390int->parm64;
1967 break;
1968 case KVM_S390_RESTART:
1969 case KVM_S390_INT_CLOCK_COMP:
1970 case KVM_S390_INT_CPU_TIMER:
1971 break;
1972 default:
1973 return -EINVAL;
1964 } 1974 }
1965 return 0; 1975 return 0;
1966} 1976}
diff --git a/arch/s390/kvm/kvm-s390.c b/arch/s390/kvm/kvm-s390.c
index f329dcb3f44c..39cff07bf2eb 100644
--- a/arch/s390/kvm/kvm-s390.c
+++ b/arch/s390/kvm/kvm-s390.c
@@ -1018,6 +1018,8 @@ static int kvm_s390_vm_start_migration(struct kvm *kvm)
1018 /* mark all the pages in active slots as dirty */ 1018 /* mark all the pages in active slots as dirty */
1019 for (slotnr = 0; slotnr < slots->used_slots; slotnr++) { 1019 for (slotnr = 0; slotnr < slots->used_slots; slotnr++) {
1020 ms = slots->memslots + slotnr; 1020 ms = slots->memslots + slotnr;
1021 if (!ms->dirty_bitmap)
1022 return -EINVAL;
1021 /* 1023 /*
1022 * The second half of the bitmap is only used on x86, 1024 * The second half of the bitmap is only used on x86,
1023 * and would be wasted otherwise, so we put it to good 1025 * and would be wasted otherwise, so we put it to good
@@ -4323,7 +4325,7 @@ long kvm_arch_vcpu_async_ioctl(struct file *filp,
4323 } 4325 }
4324 case KVM_S390_INTERRUPT: { 4326 case KVM_S390_INTERRUPT: {
4325 struct kvm_s390_interrupt s390int; 4327 struct kvm_s390_interrupt s390int;
4326 struct kvm_s390_irq s390irq; 4328 struct kvm_s390_irq s390irq = {};
4327 4329
4328 if (copy_from_user(&s390int, argp, sizeof(s390int))) 4330 if (copy_from_user(&s390int, argp, sizeof(s390int)))
4329 return -EFAULT; 4331 return -EFAULT;