diff options
author | Christian Borntraeger <borntraeger@de.ibm.com> | 2016-02-03 11:12:34 +0100 |
---|---|---|
committer | Christian Borntraeger <borntraeger@de.ibm.com> | 2016-02-10 13:12:57 +0100 |
commit | 1763f8d09d522b3ac998229dcf038476e88b78fc (patch) | |
tree | 6831f58a13676ad637a34f4d815993251989a886 /arch/s390/kvm | |
parent | 70c88a00fbf65990b6268dabd305113460fe94c1 (diff) | |
download | linux-1763f8d09d522b3ac998229dcf038476e88b78fc.tar.gz linux-1763f8d09d522b3ac998229dcf038476e88b78fc.tar.bz2 linux-1763f8d09d522b3ac998229dcf038476e88b78fc.zip |
KVM: s390: bail out early on fatal signal in dirty logging
A KVM_GET_DIRTY_LOG ioctl might take a long time.
This can result in fatal signals seemingly being ignored.
Lets bail out during the dirty bit sync, if a fatal signal
is pending.
Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
Reviewed-by: David Hildenbrand <dahi@linux.vnet.ibm.com>
Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
Diffstat (limited to 'arch/s390/kvm')
-rw-r--r-- | arch/s390/kvm/kvm-s390.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/arch/s390/kvm/kvm-s390.c b/arch/s390/kvm/kvm-s390.c index bb99ca28eb66..28bd5ea1b08f 100644 --- a/arch/s390/kvm/kvm-s390.c +++ b/arch/s390/kvm/kvm-s390.c @@ -281,6 +281,8 @@ static void kvm_s390_sync_dirty_log(struct kvm *kvm, if (gmap_test_and_clear_dirty(address, gmap)) mark_page_dirty(kvm, cur_gfn); + if (fatal_signal_pending(current)) + return; cond_resched(); } } |