This function will be used by the GIB alert handler and during the GISA clear operation. Thus it gets factored out here. Signed-off-by: Michael Mueller <mimu@xxxxxxxxxxxxx> Reviewed-by: Pierre Morel <pmorel@xxxxxxxxxxxxx> Reviewed-by: Janosch Frank <frankja@xxxxxxxxxxxxx> Reviewed-by: Cornelia Huck <cohuck@xxxxxxxxxx> Reviewed-by: David Hildenbrand <david@xxxxxxxxxx> --- arch/s390/kvm/interrupt.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/arch/s390/kvm/interrupt.c b/arch/s390/kvm/interrupt.c index 5d20a0ce8a30..97e5da9a0814 100644 --- a/arch/s390/kvm/interrupt.c +++ b/arch/s390/kvm/interrupt.c @@ -2886,11 +2886,16 @@ int kvm_s390_get_irq_state(struct kvm_vcpu *vcpu, __u8 __user *buf, int len) return n; } +static void nullify_gisa(struct kvm_s390_gisa *gisa) +{ + memset(gisa, 0, sizeof(struct kvm_s390_gisa)); + gisa->next_alert = (u32)(u64)gisa; +} + void kvm_s390_gisa_clear(struct kvm *kvm) { if (kvm->arch.gisa) { - memset(kvm->arch.gisa, 0, sizeof(struct kvm_s390_gisa)); - kvm->arch.gisa->next_alert = (u32)(u64)kvm->arch.gisa; + nullify_gisa(kvm->arch.gisa); VM_EVENT(kvm, 3, "gisa 0x%pK cleared", kvm->arch.gisa); } } -- 2.13.4