Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

Merge branch 'kvm-updates/2.6.36' of git://git.kernel.org/pub/scm/virt/kvm/kvm

* 'kvm-updates/2.6.36' of git://git.kernel.org/pub/scm/virt/kvm/kvm:
KVM: PIT: free irq source id in handling error path
KVM: destroy workqueue on kvm_create_pit() failures
KVM: fix poison overwritten caused by using wrong xstate size

+5 -3
+1
arch/x86/kernel/i387.c
··· 40 40 41 41 static unsigned int mxcsr_feature_mask __read_mostly = 0xffffffffu; 42 42 unsigned int xstate_size; 43 + EXPORT_SYMBOL_GPL(xstate_size); 43 44 unsigned int sig_xstate_ia32_size = sizeof(struct _fpstate_ia32); 44 45 static struct i387_fxsave_struct fx_scratch __cpuinitdata; 45 46
+2 -1
arch/x86/kvm/i8254.c
··· 697 697 pit->wq = create_singlethread_workqueue("kvm-pit-wq"); 698 698 if (!pit->wq) { 699 699 mutex_unlock(&pit->pit_state.lock); 700 + kvm_free_irq_source_id(kvm, pit->irq_source_id); 700 701 kfree(pit); 701 702 return NULL; 702 703 } ··· 743 742 kvm_unregister_irq_mask_notifier(kvm, 0, &pit->mask_notifier); 744 743 kvm_unregister_irq_ack_notifier(kvm, &pit_state->irq_ack_notifier); 745 744 kvm_free_irq_source_id(kvm, pit->irq_source_id); 746 - 745 + destroy_workqueue(pit->wq); 747 746 kfree(pit); 748 747 return NULL; 749 748 }
+2 -2
arch/x86/kvm/x86.c
··· 2387 2387 if (cpu_has_xsave) 2388 2388 memcpy(guest_xsave->region, 2389 2389 &vcpu->arch.guest_fpu.state->xsave, 2390 - sizeof(struct xsave_struct)); 2390 + xstate_size); 2391 2391 else { 2392 2392 memcpy(guest_xsave->region, 2393 2393 &vcpu->arch.guest_fpu.state->fxsave, ··· 2405 2405 2406 2406 if (cpu_has_xsave) 2407 2407 memcpy(&vcpu->arch.guest_fpu.state->xsave, 2408 - guest_xsave->region, sizeof(struct xsave_struct)); 2408 + guest_xsave->region, xstate_size); 2409 2409 else { 2410 2410 if (xstate_bv & ~XSTATE_FPSSE) 2411 2411 return -EINVAL;