lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [day] [month] [year] [list]
Message-ID: <4AAB59BE.6070702@redhat.com>
Date:	Sat, 12 Sep 2009 11:20:14 +0300
From:	Avi Kivity <avi@...hat.com>
To:	Linus Torvalds <torvalds@...ux-foundation.org>
CC:	kvm-devel <kvm@...r.kernel.org>,
	Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
	Marcelo Tosatti <mtosatti@...hat.com>
Subject: KVM updates for 2.6.32-rc1

Linus, please pull from

   git://git.kernel.org/pub/scm/virt/kvm/kvm.git kvm-updates/2.6.32

to receive the KVM updates for this cycle.  Changes include

- support for injecting MCEs into guests
- irqfd/ioeventfd, an eventfd-based mechanism to connect user- and 
kernel- based components to guests
- "unrestricted guests" on Intel, which improves real-mode support
- nested svm improvements
- event traces supplant the old KVM-private trace implementation
- syscall/sysenter emulation for cross-vendor migration
- 1GB pages on AMD
- x2apic, which improves SMP performance

as well as the usual fixes and performance and scaling improvements.

Note that Marcelo is joining me as co-maintainer, so you may get KVM 
updates from him in the future.

Shortlog/diffstat:

Akinobu Mita (2):
       KVM: x86: use get_desc_base() and get_desc_limit()
       KVM: x86: use kvm_get_gdt() and kvm_read_ldt()

Alexander Graf (4):
       x86: Add definition for IGNNE MSR
       KVM: Implement MSRs used by Hyper-V
       KVM: SVM: Implement INVLPGA
       KVM: SVM: Improve nested interrupt injection

Amit Shah (2):
       KVM: ignore reads to perfctr msrs
       Documentation: Update KVM list email address

Andre Przywara (15):
       KVM: SVM: use explicit 64bit storage for sysenter values
       KVM: Move performance counter MSR access interception to generic 
x86 path
       KVM: Allow emulation of syscalls instructions on #UD
       KVM: x86 emulator: Add missing EFLAGS bit definitions
       KVM: x86 emulator: Prepare for emulation of syscall instructions
       KVM: x86 emulator: add syscall emulation
       KVM: x86 emulator: Add sysenter emulation
       KVM: x86 emulator: Add sysexit emulation
       KVM: ignore AMDs HWCR register access to set the FFDIS bit
       KVM: ignore reads from AMDs C1E enabled MSR
       KVM: introduce module parameter for ignoring unknown MSRs accesses
       KVM: Ignore PCI ECS I/O enablement
       KVM: handle AMD microcode MSR
       KVM: fix MMIO_CONF_BASE MSR access
       KVM: add module parameters documentation

Anthony Liguori (1):
       KVM: When switching to a vm8086 task, load segments as 16-bit

Avi Kivity (37):
       KVM: x86 emulator: Implement zero-extended immediate decoding
       KVM: x86 emulator: fix jmp far decoding (opcode 0xea)
       KVM: Move common KVM Kconfig items to new file virt/kvm/Kconfig
       KVM: SVM: Fold kvm_svm.h info svm.c
       KVM: VMX: Avoid duplicate ept tlb flush when setting cr3
       KVM: VMX: Simplify pdptr and cr3 management
       KVM: Cache pdptrs
       KVM: VMX: Fix reporting of unhandled EPT violations
       KVM: Calculate available entries in coalesced mmio ring
       KVM: Reorder ioctls in kvm.h
       KVM: VMX: Move rmode structure to vmx-specific code
       KVM: MMU: Fix is_dirty_pte()
       KVM: MMU: Adjust pte accessors to explicitly indicate guest or 
shadow pte
       KVM: MMU: s/shadow_pte/spte/
       KVM: Return to userspace on emulation failure
       KVM: VMX: Only reload guest cr2 if different from host cr2
       KVM: SVM: Don't save/restore host cr2
       KVM: Trace irq level and source id
       KVM: Trace mmio
       KVM: Trace apic registers using their symbolic names
       KVM: MMU: Trace guest pagetable walker
       KVM: Document basic API
       KVM: Trace shadow page lifecycle
       KVM: VMX: Optimize vmx_get_cpl()
       x86: Export kmap_atomic_to_page()
       KVM: SVM: Drop tlb flush workaround in npt
       KVM: Move #endif KVM_CAP_IRQ_ROUTING to correct place
       KVM: VMX: Adjust rflags if in real mode emulation
       KVM: Rename x86_emulate.c to emulate.c
       KVM: Add __KERNEL__ guards to exported headers
       KVM: Add missing #include
       KVM: Protect update_cr8_intercept() when running without an apic
       KVM: Document KVM_CAP_IRQCHIP
       KVM: Optimize kvm_mmu_unprotect_page_virt() for tdp
       KVM: Use thread debug register storage instead of kvm specific data
       KVM: VMX: Conditionally reload debug register 6
       KVM: VMX: Check cpl before emulating debug register access

Bartlomiej Zolnierkiewicz (1):
       KVM: remove superfluous NULL pointer check in 
kvm_inject_pit_timer_irqs()

Beth Kon (1):
       KVM: PIT support for HPET legacy mode

Christian Borntraeger (1):
       KVM: s390: Fix memslot initialization for userspace_addr != 0

Christian Ehrhardt (4):
       KVM: s390: infrastructure to kick vcpus out of guest state
       KVM: s390: fix signal handling
       KVM: s390: streamline memslot handling
       KVM: remove redundant declarations

Christoph Hellwig (1):
       KVM: cleanup arch/x86/kvm/Makefile

Glauber Costa (1):
       KVM guest: fix bogus wallclock physical address calculation

Gleb Natapov (28):
       KVM: VMX: Properly handle software interrupt re-injection in real 
mode
       KVM: Drop interrupt shadow when single stepping should be done 
only on VMX
       KVM: Introduce kvm_vcpu_is_bsp() function.
       KVM: Use pointer to vcpu instead of vcpu_id in timer code.
       KVM: Break dependency between vcpu index in vcpus array and vcpu_id.
       KVM: Use macro to iterate over vcpus.
       KVM: Replace pending exception by PF if it happens serially
       KVM: Optimize searching for highest IRR
       KVM: Add Directed EOI support to APIC emulation
       KVM: x2apic interface to lapic
       KVM: Use temporary variable to shorten lines.
       KVM: Add trace points in irqchip code
       KVM: No need to kick cpu if not in a guest mode
       KVM: Always report x2apic as supported feature
       KVM: Move exception handling to the same place as other events
       KVM: Move kvm_cpu_get_interrupt() declaration to x86 code
       KVM: Reduce runnability interface with arch support code
       KVM: silence lapic kernel messages that can be triggered by a guest
       KVM: s390: remove unused structs
       KVM: PIT: Unregister ack notifier callback when freeing
       KVM: Call kvm_vcpu_kick() inside pic spinlock
       KVM: Call ack notifiers from PIC when guest OS acks an IRQ.
       KVM: Replace pic_lock()/pic_unlock() with direct call to spinlock 
functions
       KVM: Update cr8 intercept when APIC TPR is changed by userspace
       KVM: VMX: Fix cr8 exiting control clobbering by EPT
       KVM: Fix coalesced interrupt reporting in IOAPIC
       KVM: VMX: call vmx_load_host_state() only if msr is cached
       KVM: fix misreporting of coalesced interrupts by kvm tracer

Gregory Haskins (6):
       KVM: irqfd
       KVM: Clean up coalesced_mmio destruction
       KVM: cleanup io_device code
       KVM: do not register i8254 PIO regions until we are initialized
       KVM: make io_bus interface more robust
       KVM: add ioeventfd support

Heiko Carstens (1):
       KVM: fix compile warnings on s390

Huang Ying (1):
       KVM: Add MCE support

Izik Eidus (1):
       KVM: MMU: make __kvm_mmu_free_some_pages handle empty list

Jan Kiszka (8):
       KVM: Allow PIT emulation without speaker port
       KVM: Cleanup LAPIC interface
       KVM: Fix racy event propagation in timer
       KVM: Drop useless atomic test from timer function
       Revert "KVM: x86: check for cr3 validity in ioctl_set_sregs"
       KVM: Drop obsolete cpu_get/put in make_all_cpus_request
       KVM: VMX: Avoid to return ENOTSUPP to userland
       KVM: x86: Disallow hypercalls for guest callers in rings > 0

Jaswinder Singh Rajput (2):
       KVM: Replace MSR_IA32_TIME_STAMP_COUNTER with MSR_IA32_TSC of 
msr-index.h
       KVM: Use MSR names in place of address

Jes Sorensen (1):
       KVM: ia64: Correct itc_offset calculations

Jiri Slaby (1):
       KVM: fix lock imbalance

Joerg Roedel (31):
       hugetlbfs: export vma_kernel_pagsize to modules
       KVM: Prepare memslot data structures for multiple hugepage sizes
       KVM: MMU: Fix MMU_DEBUG compile breakage
       KVM: MMU: make rmap code aware of mapping levels
       KVM: MMU: rename is_largepage_backed to mapping_level
       KVM: MMU: make direct mapping paths aware of mapping levels
       KVM: MMU: make page walker aware of mapping levels
       KVM: MMU: shadow support for 1gb pages
       KVM: MMU: enable gbpages by increasing nr of pagesizes
       KVM: report 1GB page support to userspace
       KVM: SVM: add helper functions for global interrupt flag
       KVM: SVM: optimize nested #vmexit
       KVM: SVM: optimize nested vmrun
       KVM: SVM: copy only necessary parts of the control area on 
vmrun/vmexit
       KVM: SVM: complete interrupts after handling nested exits
       KVM: SVM: move nested svm state into seperate struct
       KVM: SVM: cache nested intercepts
       KVM: SVM: consolidate nested_svm_exit_handled
       KVM: SVM: do nested vmexit in nested_svm_exit_handled
       KVM: SVM: simplify nested_svm_check_exception
       KVM: SVM: get rid of nested_svm_vmexit_real
       KVM: SVM: clean up nested_svm_exit_handled_msr
       KVM: SVM: clean up nestec vmload/vmsave paths
       KVM: SVM: clean up nested vmrun path
       KVM: SVM: remove nested_svm_do and helper functions
       KVM: SVM: handle errors in vmrun emulation path appropriatly
       KVM: SVM: move special nested exit handling to separate function
       KVM: SVM: remove unnecessary is_nested check from svm_cpu_run
       KVM: SVM: move nested_svm_intr main logic out of if-clause
       KVM: SVM: check for nested VINTR flag in svm_interrupt_allowed
       KVM: SVM: enable nested svm by default

Julia Lawall (1):
       KVM: correct error-handling code

Liu Yu (3):
       KVM: ppc: e500: Move to Book-3e MMU definitions
       KVM: ppc: e500: Directly pass pvr to guest
       KVM: ppc: e500: Add MMUCFG and PVR emulation

Marcelo Tosatti (26):
       KVM: Grab pic lock in kvm_pic_clear_isr_ack
       KVM: move coalesced_mmio locking to its own device
       KVM: introduce irq_lock, use it to protect ioapic
       KVM: switch irq injection/acking data structures to irq_lock
       KVM: MMU: introduce is_last_spte helper
       KVM: MMU audit: update count_writable_mappings / count_rmaps
       KVM: MMU audit: update audit_write_protection
       KVM: MMU audit: nontrapping ptes in nonleaf level
       KVM: MMU audit: audit_mappings tweaks
       KVM: MMU audit: largepage handling
       KVM: VMX: more MSR_IA32_VMX_EPT_VPID_CAP capability bits
       KVM: MMU: make for_each_shadow_entry aware of largepages
       KVM: MMU: add kvm_mmu_get_spte_hierarchy helper
       KVM: VMX: EPT misconfiguration handler
       KVM: VMX: conditionally disable 2M pages
       KVM: convert custom marker based tracing to event traces
       KVM: x86: missing locking in PIT/IRQCHIP/SET_BSP_CPU ioctl paths
       KVM: powerpc: convert marker probes to event trace
       KVM: remove old KVMTRACE support code
       KVM: use vcpu_id instead of bsp_vcpu pointer in kvm_vcpu_is_bsp
       KVM: MMU: fix missing locking in alloc_mmu_pages
       KVM: limit lapic periodic timer frequency
       KVM: MMU: fix bogus alloc_mmu_pages assignment
       KVM guest: do not batch pte updates from interrupt context
       KVM: x86: drop duplicate kvm_flush_remote_tlb calls
       MAINTAINERS: update KVM entry

Mark McLoughlin (1):
       KVM: fix cpuid E2BIG handling for extended request types

Michael S. Tsirkin (8):
       KVM: document locking for kvm_io_device_ops
       KVM: switch coalesced mmio changes to slots_lock
       KVM: switch pit creation to slots_lock
       KVM: convert bus to slots_lock
       KVM: remove in_range from io devices
       KVM: document lock nesting rule
       KVM: ignore msi request if !level
       KVM: export kvm_para.h

Mikhail Ershov (2):
       KVM: Align cr8 threshold when userspace changes cr8
       KVM: Use kvm_{read,write}_guest_virt() to read and write segment 
descriptors

Mohammed Gamal (1):
       KVM: x86 emulator: Add adc and sbb missing decoder flags

Nitin A Kamble (1):
       KVM: VMX: Support Unrestricted Guest feature

Roel Kluin (1):
       KVM: fix EFER read buffer overflow

Sheng Yang (6):
       KVM: Downsize max support MSI-X entry to 256
       KVM: No disable_irq for MSI/MSI-X interrupt on device assignment
       KVM: Fix apic_mmio_write return for unaligned write
       KVM: Discard unnecessary kvm_mmu_flush_tlb() in kvm_mmu_load()
       KVM: VMX: Introduce KVM_SET_IDENTITY_MAP_ADDR ioctl
       KVM: VMX: Fix EPT with WP bit change during paging

Stephen Rothwell (1):
       KVM: powerpc: fix some init/exit annotations

Xiao Guangrong (1):
       KVM: fix kvm_init() error handling

  Documentation/ioctl/ioctl-number.txt               |    2 +-
  Documentation/kernel-parameters.txt                |   39 +
  Documentation/kvm/api.txt                          |  759 
+++++++++++++++++
  MAINTAINERS                                        |    1 +
  arch/ia64/include/asm/kvm_host.h                   |    4 +-
  arch/ia64/include/asm/kvm_para.h                   |    4 +
  arch/ia64/kvm/Kconfig                              |   11 +-
  arch/ia64/kvm/kvm-ia64.c                           |   85 +--
  arch/ia64/kvm/vcpu.c                               |    4 +-
  arch/powerpc/include/asm/kvm_host.h                |    4 +-
  arch/powerpc/kvm/44x.c                             |    4 +-
  arch/powerpc/kvm/44x_tlb.c                         |   11 +-
  arch/powerpc/kvm/Kconfig                           |   14 +-
  arch/powerpc/kvm/Makefile                          |    4 +-
  arch/powerpc/kvm/booke.c                           |    2 +-
  arch/powerpc/kvm/e500.c                            |    7 +-
  arch/powerpc/kvm/e500_emulate.c                    |    3 +
  arch/powerpc/kvm/e500_tlb.c                        |   26 +-
  arch/powerpc/kvm/e500_tlb.h                        |    6 +-
  arch/powerpc/kvm/emulate.c                         |    7 +-
  arch/powerpc/kvm/powerpc.c                         |   32 +-
  arch/powerpc/kvm/trace.h                           |  104 +++
  arch/s390/include/asm/kvm.h                        |    9 -
  arch/s390/include/asm/kvm_host.h                   |   15 +-
  arch/s390/include/asm/kvm_para.h                   |    4 +
  arch/s390/kvm/Kconfig                              |    9 +-
  arch/s390/kvm/gaccess.h                            |   23 +-
  arch/s390/kvm/intercept.c                          |   18 +-
  arch/s390/kvm/interrupt.c                          |    8 +-
  arch/s390/kvm/kvm-s390.c                           |   78 +-
  arch/s390/kvm/kvm-s390.h                           |   32 +-
  arch/s390/kvm/sigp.c                               |   60 +-
  arch/x86/include/asm/apicdef.h                     |    2 +
  arch/x86/include/asm/kvm.h                         |   10 +
  .../asm/{kvm_x86_emulate.h => kvm_emulate.h}       |    0
  arch/x86/include/asm/kvm_host.h                    |   60 +-
  arch/x86/include/asm/kvm_para.h                    |    2 +
  arch/x86/include/asm/msr-index.h                   |    1 +
  arch/x86/include/asm/vmx.h                         |    8 +
  arch/x86/kernel/kvm.c                              |    7 +-
  arch/x86/kernel/kvmclock.c                         |    4 +-
  arch/x86/kvm/Kconfig                               |   21 +-
  arch/x86/kvm/Makefile                              |   35 +-
  arch/x86/kvm/{x86_emulate.c => emulate.c}          |  265 ++++++-
  arch/x86/kvm/i8254.c                               |  160 +++--
  arch/x86/kvm/i8254.h                               |    5 +-
  arch/x86/kvm/i8259.c                               |  116 ++--
  arch/x86/kvm/irq.h                                 |    1 -
  arch/x86/kvm/kvm_cache_regs.h                      |    9 +
  arch/x86/kvm/kvm_svm.h                             |   51 --
  arch/x86/kvm/kvm_timer.h                           |    2 +-
  arch/x86/kvm/lapic.c                               |  334 ++++++--
  arch/x86/kvm/lapic.h                               |    4 +
  arch/x86/kvm/mmu.c                                 |  587 +++++++++-----
  arch/x86/kvm/mmu.h                                 |    4 +-
  arch/x86/kvm/mmutrace.h                            |  220 +++++
  arch/x86/kvm/paging_tmpl.h                         |  141 ++--
  arch/x86/kvm/svm.c                                 |  889 
++++++++++++--------
  arch/x86/kvm/timer.c                               |   16 +-
  arch/x86/kvm/trace.h                               |  355 ++++++++
  arch/x86/kvm/vmx.c                                 |  497 ++++++++---
  arch/x86/kvm/x86.c                                 |  815 
+++++++++++++------
  arch/x86/kvm/x86.h                                 |    4 +
  arch/x86/mm/highmem_32.c                           |    1 +
  include/asm-generic/Kbuild.asm                     |    5 +
  include/linux/Kbuild                               |    4 +
  include/linux/kvm.h                                |  127 ++-
  include/linux/kvm_host.h                           |  114 ++-
  include/linux/kvm_para.h                           |    1 +
  include/trace/events/kvm.h                         |  151 ++++
  mm/hugetlb.c                                       |    1 +
  virt/kvm/Kconfig                                   |   14 +
  virt/kvm/coalesced_mmio.c                          |   74 +-
  virt/kvm/coalesced_mmio.h                          |    1 +
  virt/kvm/eventfd.c                                 |  578 +++++++++++++
  virt/kvm/ioapic.c                                  |   78 ++-
  virt/kvm/iodev.h                                   |   55 +-
  virt/kvm/irq_comm.c                                |   51 +-
  virt/kvm/kvm_main.c                                |  298 +++++--
  virt/kvm/kvm_trace.c                               |  285 -------
  80 files changed, 5692 insertions(+), 2160 deletions(-)
  create mode 100644 Documentation/kvm/api.txt
  create mode 100644 arch/powerpc/kvm/trace.h
  rename arch/x86/include/asm/{kvm_x86_emulate.h => kvm_emulate.h} (100%)
  rename arch/x86/kvm/{x86_emulate.c => emulate.c} (90%)
  delete mode 100644 arch/x86/kvm/kvm_svm.h
  create mode 100644 arch/x86/kvm/mmutrace.h
  create mode 100644 arch/x86/kvm/trace.h
  create mode 100644 include/trace/events/kvm.h
  create mode 100644 virt/kvm/Kconfig
  create mode 100644 virt/kvm/eventfd.c
  delete mode 100644 virt/kvm/kvm_trace.c

-- 
I have a truly marvellous patch that fixes the bug which this
signature is too narrow to contain.

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ