Commit 614aeab4 authored by Christian Borntraeger's avatar Christian Borntraeger

KVM: s390: add __must_check to interrupt deliver functions

We now propagate interrupt injection errors back to the ioctl. We
should mark functions that might fail with __must_check.
Signed-off-by: default avatarChristian Borntraeger <borntraeger@de.ibm.com>
Acked-by: default avatarJens Freimann <jfrei@linux.vnet.ibm.com>
parent 5102ee87
...@@ -28,7 +28,7 @@ ...@@ -28,7 +28,7 @@
#define IOINT_AI_MASK 0x04000000 #define IOINT_AI_MASK 0x04000000
#define PFAULT_INIT 0x0600 #define PFAULT_INIT 0x0600
static int deliver_ckc_interrupt(struct kvm_vcpu *vcpu); static int __must_check deliver_ckc_interrupt(struct kvm_vcpu *vcpu);
static int is_ioint(u64 type) static int is_ioint(u64 type)
{ {
...@@ -77,7 +77,7 @@ static u64 int_word_to_isc_bits(u32 int_word) ...@@ -77,7 +77,7 @@ static u64 int_word_to_isc_bits(u32 int_word)
return (0x80 >> isc) << 24; return (0x80 >> isc) << 24;
} }
static int __interrupt_is_deliverable(struct kvm_vcpu *vcpu, static int __must_check __interrupt_is_deliverable(struct kvm_vcpu *vcpu,
struct kvm_s390_interrupt_info *inti) struct kvm_s390_interrupt_info *inti)
{ {
switch (inti->type) { switch (inti->type) {
...@@ -225,7 +225,7 @@ static u16 get_ilc(struct kvm_vcpu *vcpu) ...@@ -225,7 +225,7 @@ static u16 get_ilc(struct kvm_vcpu *vcpu)
} }
} }
static int __deliver_prog_irq(struct kvm_vcpu *vcpu, static int __must_check __deliver_prog_irq(struct kvm_vcpu *vcpu,
struct kvm_s390_pgm_info *pgm_info) struct kvm_s390_pgm_info *pgm_info)
{ {
int rc = 0; int rc = 0;
...@@ -307,7 +307,7 @@ static int __deliver_prog_irq(struct kvm_vcpu *vcpu, ...@@ -307,7 +307,7 @@ static int __deliver_prog_irq(struct kvm_vcpu *vcpu,
return rc; return rc;
} }
static int __do_deliver_interrupt(struct kvm_vcpu *vcpu, static int __must_check __do_deliver_interrupt(struct kvm_vcpu *vcpu,
struct kvm_s390_interrupt_info *inti) struct kvm_s390_interrupt_info *inti)
{ {
const unsigned short table[] = { 2, 4, 4, 6 }; const unsigned short table[] = { 2, 4, 4, 6 };
...@@ -508,7 +508,7 @@ static int __do_deliver_interrupt(struct kvm_vcpu *vcpu, ...@@ -508,7 +508,7 @@ static int __do_deliver_interrupt(struct kvm_vcpu *vcpu,
return rc; return rc;
} }
static int deliver_ckc_interrupt(struct kvm_vcpu *vcpu) static int __must_check deliver_ckc_interrupt(struct kvm_vcpu *vcpu)
{ {
int rc; int rc;
...@@ -657,7 +657,7 @@ void kvm_s390_clear_local_irqs(struct kvm_vcpu *vcpu) ...@@ -657,7 +657,7 @@ void kvm_s390_clear_local_irqs(struct kvm_vcpu *vcpu)
&vcpu->kvm->arch.sca->cpu[vcpu->vcpu_id].ctrl); &vcpu->kvm->arch.sca->cpu[vcpu->vcpu_id].ctrl);
} }
int kvm_s390_deliver_pending_interrupts(struct kvm_vcpu *vcpu) int __must_check kvm_s390_deliver_pending_interrupts(struct kvm_vcpu *vcpu)
{ {
struct kvm_s390_local_interrupt *li = &vcpu->arch.local_int; struct kvm_s390_local_interrupt *li = &vcpu->arch.local_int;
struct kvm_s390_float_interrupt *fi = vcpu->arch.local_int.float_int; struct kvm_s390_float_interrupt *fi = vcpu->arch.local_int.float_int;
......
...@@ -138,7 +138,7 @@ static inline int kvm_s390_user_cpu_state_ctrl(struct kvm *kvm) ...@@ -138,7 +138,7 @@ static inline int kvm_s390_user_cpu_state_ctrl(struct kvm *kvm)
int kvm_s390_handle_wait(struct kvm_vcpu *vcpu); int kvm_s390_handle_wait(struct kvm_vcpu *vcpu);
void kvm_s390_vcpu_wakeup(struct kvm_vcpu *vcpu); void kvm_s390_vcpu_wakeup(struct kvm_vcpu *vcpu);
enum hrtimer_restart kvm_s390_idle_wakeup(struct hrtimer *timer); enum hrtimer_restart kvm_s390_idle_wakeup(struct hrtimer *timer);
int kvm_s390_deliver_pending_interrupts(struct kvm_vcpu *vcpu); int __must_check kvm_s390_deliver_pending_interrupts(struct kvm_vcpu *vcpu);
void kvm_s390_clear_local_irqs(struct kvm_vcpu *vcpu); void kvm_s390_clear_local_irqs(struct kvm_vcpu *vcpu);
void kvm_s390_clear_float_irqs(struct kvm *kvm); void kvm_s390_clear_float_irqs(struct kvm *kvm);
int __must_check kvm_s390_inject_vm(struct kvm *kvm, int __must_check kvm_s390_inject_vm(struct kvm *kvm,
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment