[PATCH] kvm/ia64: Ensure SIGINT delivered to main thread (vcpu 0).

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi, Avi
	This is a fix for upcoming 2.6.28-rc1. Please help to queue it
for 2.6.28. Thanks
Xiantao

>From 87105e68273b3791add17378da01abc94035e5c6 Mon Sep 17 00:00:00 2001
From: Xiantao Zhang <xiantao.zhang@xxxxxxxxx>
Date: Mon, 20 Oct 2008 12:36:03 +0800
Subject: [PATCH] kvm/ia64: Ensure SIGINT delivered to main thread (vcpu
0).

Before Aps going to block status, it should make sure SIGINT is
masked, otherwise, it may eat SIGINT from user killing the guest, and
results in Qemu hanging there, becasue main thread can't get it to free
guest's resource.
Signed-off-by: Xiantao Zhang <xiantao.zhang@xxxxxxxxx>
---
 arch/ia64/kvm/kvm-ia64.c |    6 +++---
 1 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/arch/ia64/kvm/kvm-ia64.c b/arch/ia64/kvm/kvm-ia64.c
index a40223f..da67884 100644
--- a/arch/ia64/kvm/kvm-ia64.c
+++ b/arch/ia64/kvm/kvm-ia64.c
@@ -673,6 +673,9 @@ int kvm_arch_vcpu_ioctl_run(struct kvm_vcpu *vcpu,
struct kvm_run *kvm_run)
 
 	vcpu_load(vcpu);
 
+	if (vcpu->sigset_active)
+		sigprocmask(SIG_SETMASK, &vcpu->sigset, &sigsaved);
+
 	if (unlikely(vcpu->arch.mp_state == KVM_MP_STATE_UNINITIALIZED))
{
 		kvm_vcpu_block(vcpu);
 		clear_bit(KVM_REQ_UNHALT, &vcpu->requests);
@@ -680,9 +683,6 @@ int kvm_arch_vcpu_ioctl_run(struct kvm_vcpu *vcpu,
struct kvm_run *kvm_run)
 		return -EAGAIN;
 	}
 
-	if (vcpu->sigset_active)
-		sigprocmask(SIG_SETMASK, &vcpu->sigset, &sigsaved);
-
 	if (vcpu->mmio_needed) {
 		memcpy(vcpu->mmio_data, kvm_run->mmio.data, 8);
 		kvm_set_mmio_data(vcpu);
-- 
1.5.1

Attachment: 0001-kvm-ia64-Ensure-SIGINT-delivered-to-main-thread-vc.patch
Description: 0001-kvm-ia64-Ensure-SIGINT-delivered-to-main-thread-vc.patch


[Index of Archives]     [Linux KVM Devel]     [Linux Virtualization]     [Big List of Linux Books]     [Linux SCSI]     [Yosemite Forum]

  Powered by Linux