The patch titled fix KVM crash due to PDA/%fs patch has been removed from the -mm tree. Its filename was fix-x86_64-mm-convert-i386-pda-code-to-use-%fs.patch This patch was dropped because it was merged into mainline or a subsystem tree ------------------------------------------------------ Subject: fix KVM crash due to PDA/%fs patch From: Ingo Molnar <mingo@xxxxxxx> on -mm KVM/VMX profiling breaks due to: x86_64-mm-convert-i386-pda-code-to-use-%fs.patch with: general protection fault: 0000 [#1] PREEMPT SMP last sysfs file: /devices/system/cpu/cpu1/cpufreq/cpuinfo_max_freq Modules linked in: CPU: 0 EIP: 0060:[<c02413ee>] Not tainted VLI EFLAGS: 00010286 (2.6.20-rc4-mm1 #2) EIP is at debug_smp_processor_id+0xe/0xbc the PDA %fs is not restored to until later on in the CPU-restore code. Move the profiling call to after the point where %fs has been restored. i'm seriously questioning whether we need all that PDA and %fs hackery in i386 ... Cc: Jeremy Fitzhardinge <jeremy@xxxxxxxx> Cc: Avi Kivity <avi@xxxxxxxxxxxx> Cc: Andi Kleen <ak@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> --- drivers/kvm/vmx.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff -puN drivers/kvm/vmx.c~fix-x86_64-mm-convert-i386-pda-code-to-use-%fs drivers/kvm/vmx.c --- a/drivers/kvm/vmx.c~fix-x86_64-mm-convert-i386-pda-code-to-use-%fs +++ a/drivers/kvm/vmx.c @@ -1863,12 +1863,6 @@ again: asm ("mov %0, %%ds; mov %0, %%es" : : "r"(__USER_DS)); #endif - /* - * Profile KVM exit RIPs: - */ - if (unlikely(prof_on == KVM_PROFILING)) - profile_hit(KVM_PROFILING, (void *)vmcs_readl(GUEST_RIP)); - kvm_run->exit_type = 0; if (fail) { kvm_run->exit_type = KVM_EXIT_TYPE_FAIL_ENTRY; @@ -1891,6 +1885,12 @@ again: reload_tss(); } + /* + * Profile KVM exit RIPs: + */ + if (unlikely(prof_on == KVM_PROFILING)) + profile_hit(KVM_PROFILING, (void *)vmcs_readl(GUEST_RIP)); + vcpu->launched = 1; kvm_run->exit_type = KVM_EXIT_TYPE_VM_EXIT; r = kvm_handle_exit(kvm_run, vcpu); _ Patches currently in -mm which might be from mingo@xxxxxxx are origin.patch add-install_special_mapping.patch i386-vdso-use-install_special_mapping.patch x86_64-ia32-vdso-use-install_special_mapping.patch powerpc-vdso-use-install_special_mapping.patch use-correct-macros-in-raid-code-not-raw-asm.patch use-correct-macros-in-raid-code-not-raw-asm-include.patch acpi-i686-x86_64-fix-laptop-bootup-hang-in-init_acpi.patch bugfixes-pci-devices-get-assigned-redundant-irqs.patch x86_64-do-not-enable-the-nmi-watchdog-by-default.patch spin_lock_irq-enable-interrupts-while-spinning-preparatory-patch.patch spin_lock_irq-enable-interrupts-while-spinning-x86_64-implementation.patch spin_lock_irq-enable-interrupts-while-spinning-i386-implementation.patch kernel-time-clocksourcec-needs-struct-task_struct-on-m68k.patch cpuset-remove-sched-domain-hooks-from-cpusets.patch lockdep-also-check-for-freed-locks-in-kmem_cache_free.patch lockdep-more-unlock-on-error-fixes.patch lockdep-more-unlock-on-error-fixes-fix.patch lockdep-add-graph-depth-information-to-proc-lockdep.patch consolidate-default-sched_clock.patch use-cycle_t-instead-of-u64-in-struct-time_interpolator.patch proc-remove-useless-and-buggy-nlink-settings.patch simplify-the-stacktrace-code.patch audit-fix-audit_filter_user_rules-initialization-bug.patch remove-references-to-obsolete-kernel-config-option-debug_rwsems.patch order-of-lockdep-off-on-in-vprintk-should-be-changed.patch minimize-lockdep_on-off-side-effect.patch fix-apparent-typo-config_lockdep_debug.patch highmem-catch-illegal-nesting.patch fix-sparse-annotation-of-spin-unlock-macros-in-one-case.patch debug-shared-irqs.patch kernel-shut-up-the-irq-mismatch-messages.patch lockdep-forward-declare-struct-task_struct.patch close_files-add-scheduling-point.patch add-irq-flag-to-disable-balancing-for-an-interrupt.patch add-a-functions-to-handle-interrupt-affinity-setting.patch add-a-functions-to-handle-interrupt-affinity-setting-alpha-fix.patch hz-free-ntp.patch uninline-jiffiesh-functions.patch fix-multiple-conversion-bugs-in-msecs_to_jiffies.patch fix-timeout-overflow-with-jiffies.patch gtod-persistent-clock-support.patch i386-use-gtod-persistent-clock-support.patch i386-remove-useless-code-in-tscc.patch simplify-the-registration-of-clocksources.patch x86-rewrite-smp-tsc-sync-code.patch clocksource-replace-is_continuous-by-a-flag-field.patch clocksource-replace-is_continuous-by-a-flag-field-fix.patch clocksource-fixup-is_continous-changes-on-arm.patch clocksource-fixup-is_continous-changes-on-avr32.patch clocksource-fixup-is_continous-changes-on-s390.patch clocksource-fixup-is_continous-changes-on-mips.patch clocksource-remove-the-update-callback.patch clocksource-add-verification-watchdog-helper.patch mark-tsc-on-geodelx-reliable.patch uninline-irq_enter.patch fix-cascade-lookup-of-next_timer_interrupt.patch extend-next_timer_interrupt-to-use-a-reference-jiffie.patch hrtimers-namespace-and-enum-cleanup.patch hrtimers-namespace-and-enum-cleanup-vs-git-input.patch hrtimers-cleanup-locking.patch hrtimers-add-state-tracking.patch hrtimers-clean-up-callback-tracking.patch hrtimers-move-and-add-documentation.patch acpi-fix-missing-include-for-up.patch acpi-keep-track-of-timer-broadcasting.patch allow-early-access-to-the-power-management-timer.patch i386-apic-clean-up-the-apic-code.patch clockevents-add-core-functionality.patch tick-management-core-functionality.patch tick-management-broadcast-functionality.patch tick-management-dyntick--highres-functionality.patch clockevents-i383-drivers.patch i386-rework-local-apic-timer-calibration.patch i386-prepare-for-dyntick.patch i386-prepare-nmi-watchdog-for-dynticks.patch i386-enable-dynticks-in-kconfig.patch hrtimers-add-high-resolution-timer-support.patch hrtimers-prevent-possible-itimer-dos.patch add-debugging-feature-proc-timer_stat.patch add-debugging-feature-proc-timer_stat-cleanup.patch add-debugging-feature-proc-timer_list.patch add-sysrq-q-to-print-timer_list-debug-info.patch generic-vsyscall-gtod-support-for-generic_time.patch generic-vsyscall-gtod-support-for-generic_time-tidy.patch time-x86_64-hpet_address-cleanup.patch revert-x86_64-mm-ignore-long-smi-interrupts-in-clock-calibration.patch time-x86_64-split-x86_64-kernel-timec-up.patch time-x86_64-split-x86_64-kernel-timec-up-tidy.patch time-x86_64-split-x86_64-kernel-timec-up-fix.patch reapply-x86_64-mm-ignore-long-smi-interrupts-in-clock-calibration.patch time-x86_64-convert-x86_64-to-use-generic_time.patch time-x86_64-convert-x86_64-to-use-generic_time-fix.patch time-x86_64-convert-x86_64-to-use-generic_time-tidy.patch time-x86_64-hpet-fixup-clocksource-changes.patch time-x86_64-tsc-fixup-clocksource-changes.patch time-x86_64-re-enable-vsyscall-support-for-x86_64.patch time-x86_64-re-enable-vsyscall-support-for-x86_64-tidy.patch posix-timers-rcu-optimization-for-clock_gettime.patch posix-timers-rcu-optimization-for-clock_gettime-fix.patch genirq-do-not-mask-interrupts-by-default.patch genirq-remove-irq_disabled.patch schedule_on_each_cpu-use-preempt_disable.patch workqueue-kill-run_scheduled_work.patch workqueue-dont-save-interrupts-in-run_workqueue.patch workqueue-make-cancel_rearming_delayed_workqueue-work-on-idle-dwork.patch workqueue-introduce-cpu_singlethread_map.patch workqueue-introduce-workqueue_struct-singlethread.patch workqueue-make-init_workqueues-__init.patch fsaio-add-a-wait-queue-arg-to-the-wait_bit-action-routine.patch fsaio-rename-__lock_page-to-lock_page_blocking.patch fsaio-interfaces-to-initialize-and-to-test-a-wait-bit-key.patch fsaio-add-a-default-io-wait-bit-field-in-task-struct.patch fsaio-enable-wait-bit-based-filtered-wakeups-to-work-for-aio.patch fsaio-enable-asynchronous-wait-page-and-lock-page.patch fsaio-filesystem-aio-read.patch fsaio-aio-o_sync-filesystem-write.patch aio-is-unlikely.patch sched-avoid-div-in-rebalance_tick.patch mm-only-sched-add-a-few-scheduler-event-counters.patch sched-add-above-background-load-function.patch mm-implement-swap-prefetching.patch mm-implement-swap-prefetching-use-ctl_unnumbered.patch sched-cleanup-remove-task_t-convert-to-struct-task_struct-prefetch.patch kvm-optimize-inline-assembly.patch kvm-fix-asm-constraint-for-lldt-instruction.patch kvm-fix-gva_to_gpa.patch kvm-vmx-handle-triple-faults-by-returning-exit_reason_shutdown-to-userspace.patch kvm-fix-mmu-going-crazy-of-guest-sets-cr0wp-==-0.patch kvm-svm-hack-initial-cpu-csbase-to-be-consistent-with-intel.patch kvm-two-way-apic-tpr-synchronization.patch kvm-vmx-reload-ds-and-es-even-in-64-bit-mode.patch kvm-fix-mismatch-between-32-bit-and-64-bit-abi.patch kvm-fix-vcpu-freeing-bug.patch hotplug-allow-modules-to-use-the-cpu-hotplug-notifiers.patch kvm-add-a-global-list-of-all-virtual-machines.patch kvm-add-a-global-list-of-all-virtual-machines-tidy.patch kvm-vmx-add-vcpu_clear.patch kvm-cpu-hotplug-support.patch kvm-host-suspend-resume-support.patch scheduled-removal-of-sa_xxx-interrupt-flags-fixups.patch scheduled-removal-of-sa_xxx-interrupt-flags-fixups-2.patch scheduled-removal-of-sa_xxx-interrupt-flags.patch detect-atomic-counter-underflows.patch make-frame_pointer-default=y.patch mutex-subsystem-synchro-test-module.patch vdso-print-fatal-signals.patch vdso-improve-print_fatal_signals-support-by-adding-memory-maps.patch vdso-print-fatal-signals-use-ctl_unnumbered.patch lockdep-show-held-locks-when-showing-a-stackdump.patch lockdep-show-held-locks-when-showing-a-stackdump-fix.patch lockdep-show-held-locks-when-showing-a-stackdump-fix-2.patch kmap_atomic-debugging.patch - To unsubscribe from this list: send the line "unsubscribe mm-commits" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html