summaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
authorPaolo Bonzini <pbonzini@redhat.com>2014-03-28 20:41:51 +0100
committerPaolo Bonzini <pbonzini@redhat.com>2014-04-04 17:17:24 +0200
commit4009b2499eee26c7f413073300d124a37765dfca (patch)
tree05b431aec59a1d17fbbd9d29c46fd1e51831e260 /arch
parent5678de3f15010b9022ee45673f33bcfc71d47b60 (diff)
downloadlinux-stable-4009b2499eee26c7f413073300d124a37765dfca.tar.gz
linux-stable-4009b2499eee26c7f413073300d124a37765dfca.tar.bz2
linux-stable-4009b2499eee26c7f413073300d124a37765dfca.zip
KVM: ioapic: try to recover if pending_eoi goes out of range
The RTC tracking code tracks the cardinality of rtc_status.dest_map into rtc_status.pending_eoi. It has some WARN_ONs that trigger if pending_eoi ever becomes negative; however, these do not do anything to recover, and it bad things will happen soon after they trigger. When the next RTC interrupt is triggered, rtc_check_coalesced() will return false, but ioapic_service will find pending_eoi != 0 and do a BUG_ON. To avoid this, should pending_eoi ever be nonzero, call kvm_rtc_eoi_tracking_restore_all to recompute a correct dest_map and pending_eoi. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Diffstat (limited to 'arch')
0 files changed, 0 insertions, 0 deletions