diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2015-05-21 23:15:16 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2015-05-21 23:15:16 -0400 |
commit | f0d8690ad443069b26df43a1be09c0f14a928eb9 (patch) | |
tree | 74a19a907b64ad441e63373842d268efa6f99d72 /arch/powerpc | |
parent | 2f8126e3964261db3184d95bff1ae801e61239e9 (diff) | |
parent | c447e76b4cabb49ddae8e49c5758f031f35d55fb (diff) |
Merge tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm
Pull KVM fixes from Paolo Bonzini:
"This includes a fix for two oopses, one on PPC and on x86.
The rest is fixes for bugs with newer Intel processors"
* tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm:
kvm/fpu: Enable eager restore kvm FPU for MPX
Revert "KVM: x86: drop fpu_activate hook"
kvm: fix crash in kvm_vcpu_reload_apic_access_page
KVM: MMU: fix SMAP virtualization
KVM: MMU: fix CR4.SMEP=1, CR0.WP=0 with shadow pages
KVM: MMU: fix smap permission check
KVM: PPC: Book3S HV: Fix list traversal in error case
Diffstat (limited to 'arch/powerpc')
-rw-r--r-- | arch/powerpc/kvm/book3s_hv.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/arch/powerpc/kvm/book3s_hv.c b/arch/powerpc/kvm/book3s_hv.c index 48d3c5d2ecc9..df81caab7383 100644 --- a/arch/powerpc/kvm/book3s_hv.c +++ b/arch/powerpc/kvm/book3s_hv.c | |||
@@ -1952,7 +1952,7 @@ static void post_guest_process(struct kvmppc_vcore *vc) | |||
1952 | */ | 1952 | */ |
1953 | static noinline void kvmppc_run_core(struct kvmppc_vcore *vc) | 1953 | static noinline void kvmppc_run_core(struct kvmppc_vcore *vc) |
1954 | { | 1954 | { |
1955 | struct kvm_vcpu *vcpu; | 1955 | struct kvm_vcpu *vcpu, *vnext; |
1956 | int i; | 1956 | int i; |
1957 | int srcu_idx; | 1957 | int srcu_idx; |
1958 | 1958 | ||
@@ -1982,7 +1982,8 @@ static noinline void kvmppc_run_core(struct kvmppc_vcore *vc) | |||
1982 | */ | 1982 | */ |
1983 | if ((threads_per_core > 1) && | 1983 | if ((threads_per_core > 1) && |
1984 | ((vc->num_threads > threads_per_subcore) || !on_primary_thread())) { | 1984 | ((vc->num_threads > threads_per_subcore) || !on_primary_thread())) { |
1985 | list_for_each_entry(vcpu, &vc->runnable_threads, arch.run_list) { | 1985 | list_for_each_entry_safe(vcpu, vnext, &vc->runnable_threads, |
1986 | arch.run_list) { | ||
1986 | vcpu->arch.ret = -EBUSY; | 1987 | vcpu->arch.ret = -EBUSY; |
1987 | kvmppc_remove_runnable(vc, vcpu); | 1988 | kvmppc_remove_runnable(vc, vcpu); |
1988 | wake_up(&vcpu->arch.cpu_run); | 1989 | wake_up(&vcpu->arch.cpu_run); |