12 Jun, 2010

3 commits


11 Jun, 2010

2 commits

  • * 'kvm-updates/2.6.35' of git://git.kernel.org/pub/scm/virt/kvm/kvm:
    KVM: read apic->irr with ioapic lock held
    KVM: ia64: Add missing spin_unlock in kvm_arch_hardware_enable()
    KVM: Fix order passed to iommu_unmap
    KVM: MMU: Remove user access when allowing kernel access to gpte.w=0 page
    KVM: MMU: invalidate and flush on spte small->large page size change
    KVM: SVM: Implement workaround for Erratum 383
    KVM: SVM: Handle MCEs early in the vmexit process
    KVM: powerpc: fix init/exit annotation

    Linus Torvalds
     
  • …/git/tip/linux-2.6-tip

    * 'perf-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
    tracing: Fix null pointer deref with SEND_SIG_FORCED
    perf: Fix signed comparison in perf_adjust_period()
    powerpc/oprofile: fix potential buffer overrun in op_model_cell.c
    perf symbols: Set the DSO long name when using symbol_conf.vmlinux_name

    Linus Torvalds
     

10 Jun, 2010

3 commits

  • * master.kernel.org:/home/rmk/linux-2.6-arm:
    ARM: 6164/1: Add kto and kfrom to input operands list.
    ARM: 6166/1: Proper prefetch abort handling on pre-ARMv6
    ARM: 6165/1: trap overflows on highmem pages from kmap_atomic when debugging
    ARM: 6152/1: ux500 make it possible to disable localtimers
    [ARM] pxa/spitz: Correctly register WM8750
    [ARM] pxa/palmtc: storage class should be before const qualifier
    ARM: 6146/1: sa1111: Prevent deadlock in resume path
    ARM: 6145/1: ux500 MTU clockrate correction
    ARM: 6144/1: TCM memory bug freeing bug
    ARM: VFP: Fix vfp_put_double() for d16-d31

    Linus Torvalds
     
  • Reinstate the null behaviour that the in-kernel gdbstub had for the GDB
    remote protocol 'p' command (retrieve a single register value) prior to
    commit 7ca8b9c0dafd ("frv: extend gdbstub to support more features of
    gdb").

    Before that, the 'p' command just returned an empty reply, which causes
    gdb to then go and use the 'g' command. However, since that commit, the
    'p' command returns an error string, which causes gdb to abort its
    connection to the target.

    Not all gdb versions are affected, some use try 'g' first, and if that
    works, don't bother with 'p', and so don't see the error.

    Signed-off-by: David Howells
    Signed-off-by: Linus Torvalds

    David Howells
     
  • * 'msm-urgent' of git://codeaurora.org/quic/kernel/dwalker/linux-msm:
    mmc: msm: fix compile error on MSM7x30
    msm: dma: add completion.h header

    Linus Torvalds
     

09 Jun, 2010

17 commits

  • Add a spin_unlock missing on the error path.

    The semantic match that finds this problem is as follows:
    (http://coccinelle.lip6.fr/)

    //
    @@
    expression E1;
    @@

    * spin_lock(E1,...);

    * spin_unlock(E1,...);
    //

    Signed-off-by: Julia Lawall
    Signed-off-by: Avi Kivity

    Julia Lawall
     
  • If cr0.wp=0, we have to allow the guest kernel access to a page with pte.w=0.
    We do that by setting spte.w=1, since the host cr0.wp must remain set so the
    host can write protect pages. Once we allow write access, we must remove
    user access otherwise we mistakenly allow the user to write the page.

    Reviewed-by: Xiao Guangrong
    Signed-off-by: Avi Kivity

    Avi Kivity
     
  • Always invalidate spte and flush TLBs when changing page size, to make
    sure different sized translations for the same address are never cached
    in a CPU's TLB.

    Currently the only case where this occurs is when a non-leaf spte pointer is
    overwritten by a leaf, large spte entry. This can happen after dirty
    logging is disabled on a memslot, for example.

    Noticed by Andrea.

    KVM-Stable-Tag
    Signed-off-by: Marcelo Tosatti
    Signed-off-by: Avi Kivity

    Marcelo Tosatti
     
  • This patch implements a workaround for AMD erratum 383 into
    KVM. Without this erratum fix it is possible for a guest to
    kill the host machine. This patch implements the suggested
    workaround for hypervisors which will be published by the
    next revision guide update.

    [jan: fix overflow warning on i386]
    [xiao: fix unused variable warning]

    Cc: stable@kernel.org
    Signed-off-by: Joerg Roedel
    Signed-off-by: Jan Kiszka
    Signed-off-by: Xiao Guangrong
    Signed-off-by: Avi Kivity

    Joerg Roedel
     
  • This patch moves handling of the MC vmexits to an earlier
    point in the vmexit. The handle_exit function is too late
    because the vcpu might alreadry have changed its physical
    cpu.

    Cc: stable@kernel.org
    Signed-off-by: Joerg Roedel
    Signed-off-by: Avi Kivity

    Joerg Roedel
     
  • kvmppc_e500_exit() is a module_exit function, so it should be tagged
    with __exit, not __init. The incorrect annotation was added by commit
    2986b8c72c272ea58edd37903b042c6da985627d.

    Signed-off-by: Jean Delvare
    Cc: stable@kernel.org
    Signed-off-by: Alexander Graf
    Signed-off-by: Avi Kivity

    Jean Delvare
     
  • The commit "asm-generic: add NEED_SG_DMA_LENGTH to define sg_dma_len()"
    18e98307de0d746cb0845ebf66535ce2184c25a2 broke microblaze compilation.

    dma_direct_map_sg() sets sg->dma_length, however microblaze doesn't
    set NEED_SG_DMA_LENGTH so scatterlist strcutres doesn't include
    dma_length.

    sg->dma_length is always equal to sg->length on microblaze. So we
    don't need to set set dma_length, that is, microblaze can simply use
    sg->length.

    Signed-off-by: FUJITA Tomonori
    Signed-off-by: Michal Simek

    FUJITA Tomonori
     
  • The commit "mm: Move ARCH_SLAB_MINALIGN and
    ARCH_KMALLOC_MINALIGN to "
    1f0ce8b3dd667dca7 which moved the ARCH_SLAB_MINALIGN
    default into the global header broke FLAT for Microblaze.

    Error message:
    slab error in verify_redzone_free(): cache `idr_layer_cache':
    memory outside object was overwritten

    Signed-off-by: Michal Simek

    Michal Simek
     
  • When functions incoming parameters are not in input operands list gcc
    4.5 does not load the parameters into registers before calling this
    function but the inline assembly assumes valid addresses inside this
    function. This breaks the code because r0 and r1 are invalid when
    execution enters v4wb_copy_user_page ()

    Also the constant needs to be used as third input operand so account
    for that as well.

    Tested on qemu arm.

    CC:
    Signed-off-by: Khem Raj
    Signed-off-by: Russell King

    Khem Raj
     
  • Russell King
     
  • Instruction faults on pre-ARMv6 CPUs are interpreted as
    a 'translation fault', but do_translation_fault doesn't
    handle well if user mode trying to run instruction above
    TASK_SIZE, and result in the infinite retry of that
    instruction.

    CC:
    Signed-off-by: Anfei Zhou
    Signed-off-by: Russell King

    Anfei
     
  • When CONFIG_DEBUG_HIGHMEM is used, the fixmap entry used for a highmem page
    by kmap_atomic() is always cleared by kunmap_atomic(). This helps find
    bad usages such as dereferences after the unmap, or overflow into the
    adjacent fixmap areas.

    But this debugging aid is completely bypassed when a kmap for the same
    page already exists as the kmap is reused instead. ON VIVT systems we
    have no choice but to reuse that kmap due to cache coherency issues,
    but on non VIVT systems we should always force the fixmap usage when
    debugging is active.

    Signed-off-by: Nicolas Pitre
    Signed-off-by: Russell King

    Nicolas Pitre
     
  • Currently compilation of ux500 fails if you deselect the kernel
    feature for localtimers.

    Acked-by: Srinidhi Kasagar
    Signed-off-by: Linus Walleij
    Signed-off-by: Russell King

    Linus Walleij
     
  • Signed-off-by: Martin Schwidefsky

    Martin Schwidefsky
     
  • The containing function is called from several places. At one of them, in
    the function __sigp_stop, the spin lock &fi->lock is held.

    The semantic patch that makes this change is as follows:
    (http://coccinelle.lip6.fr/)

    //
    @gfp exists@
    identifier fn;
    position p;
    @@

    fn(...) {
    ... when != spin_unlock
    when any
    GFP_KERNEL@p
    ... when any
    }

    @locked@
    identifier gfp.fn;
    @@

    spin_lock(...)
    ... when != spin_unlock
    fn(...)

    @depends on locked@
    position gfp.p;
    @@

    - GFP_KERNEL@p
    + GFP_ATOMIC
    //

    Signed-off-by: Julia Lawall
    Acked-by: Christian Borntraeger
    Signed-off-by: Martin Schwidefsky

    Julia Lawall
     
  • When unregistering kprobes, kprobes calls module_free() and
    always passes NULL for the mod parameter. Add a check to
    prevent NULL pointer dereferences.

    See commit 740a8de0796dd12890b3c8ddcfabfcb528b78d40 for more details.

    Signed-off-by: Hendrik Brueckner
    Signed-off-by: Martin Schwidefsky

    Hendrik Brueckner
     
  • Add missing GFP flag to memory allocations. The part in cio only
    changes a comment.

    Signed-off-by: Heiko Carstens
    Signed-off-by: Martin Schwidefsky

    Heiko Carstens
     

08 Jun, 2010

2 commits

  • At some point this was exposed (not sure how),

    linux-2.6/arch/arm/mach-msm/dma.c:92: error: field 'complete' has incomplete type
    linux-2.6/arch/arm/mach-msm/dma.c: In function 'dmov_exec_cmdptr_complete_func':
    linux-2.6/arch/arm/mach-msm/dma.c:108: error: implicit declaration of function 'complete'
    linux-2.6/arch/arm/mach-msm/dma.c: In function 'msm_dmov_exec_cmd':
    linux-2.6/arch/arm/mach-msm/dma.c:120: error: implicit declaration of function 'init_completion'
    linux-2.6/arch/arm/mach-msm/dma.c:123: error: implicit declaration of function 'wait_for_completion'

    and the fix is just to add the header.

    Signed-off-by: Daniel Walker

    Daniel Walker
     
  • Save/restore MISC_ENABLE register on suspend/resume.
    This fixes OOPS (invalid opcode) on resume from STR on Asus P4P800-VM,
    which wakes up with MWAIT disabled.

    Fixes https://bugzilla.kernel.org/show_bug.cgi?id=15385

    Signed-off-by: Ondrej Zary
    Tested-by: Alan Stern
    Acked-by: H. Peter Anvin
    Signed-off-by: Rafael J. Wysocki

    Ondrej Zary
     

07 Jun, 2010

1 commit


05 Jun, 2010

7 commits

  • * git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6: (23 commits)
    sh: Make intc messages consistent via pr_fmt.
    sh: make sure static declaration on ms7724se
    sh: make sure static declaration on mach-migor
    sh: make sure static declaration on mach-ecovec24
    sh: make sure static declaration on mach-ap325rxa
    clocksource: sh_cmt: compute mult and shift before registration
    clocksource: sh_tmu: compute mult and shift before registration
    sh: PIO disabling for x3proto and urquell.
    sh: mach-sdk7786: conditionally disable PIO support.
    sh: support for platforms without PIO.
    usb: r8a66597-hcd pio to mmio accessor conversion.
    usb: gadget: r8a66597-udc pio to mmio accessor conversion.
    usb: gadget: m66592-udc pio to mmio accessor conversion.
    sh: add romImage MMCIF boot for sh7724 and Ecovec V2
    sh: add boot code to MMCIF driver header
    sh: prepare MMCIF driver header file
    sh: allow romImage data between head.S and the zero page
    sh: Add support MMCIF for ecovec
    sh: remove duplicated #include
    input: serio: disable i8042 for non-cayman sh platforms.
    ...

    Linus Torvalds
     
  • * 'linux_next' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/i7core: (83 commits)
    i7core_edac: Better describe the supported devices
    Add support for Westmere to i7core_edac driver
    i7core_edac: don't free on success
    i7core_edac: Add support for X5670
    Always call i7core_[ur]dimm_check_mc_ecc_err
    i7core_edac: fix memory leak of i7core_dev
    EDAC: add __init to i7core_xeon_pci_fixup
    i7core_edac: Fix wrong device id for channel 1 devices
    i7core: add support for Lynnfield alternate address
    i7core_edac: Add initial support for Lynnfield
    i7core_edac: do not export static functions
    edac: fix i7core build
    edac: i7core_edac produces undefined behaviour on 32bit
    i7core_edac: Use a more generic approach for probing PCI devices
    i7core_edac: PCI device is called NONCORE, instead of NOCORE
    i7core_edac: Fix ringbuffer maxsize
    i7core_edac: First store, then increment
    i7core_edac: Better parse "any" addrmask
    i7core_edac: Use a lockless ringbuffer
    edac: Create an unique instance for each kobj
    ...

    Linus Torvalds
     
  • kunmap_atomic() takes a pointer to within the page, not the struct page.

    Signed-off-by: Cesar Eduardo Barros
    Cc: Jeff Dike
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Cesar Eduardo Barros
     
  • As explained in commit 1c0fe6e3bd ("mm: invoke oom-killer from page
    fault") , we want to call the architecture independent oom killer when
    getting an unexplained OOM from handle_mm_fault, rather than simply
    killing current.

    Signed-off-by: Nick Piggin
    Acked-by: David Rientjes
    Cc: Chris Zankel
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Nick Piggin
     
  • As explained in commit 1c0fe6e3bd ("mm: invoke oom-killer from page
    fault") , we want to call the architecture independent oom killer when
    getting an unexplained OOM from handle_mm_fault, rather than simply
    killing current.

    Signed-off-by: Nick Piggin
    Acked-by: David Rientjes
    Acked-by: David Howells
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Nick Piggin
     
  • As explained in commit 1c0fe6e3bd ("mm: invoke oom-killer from page
    fault") , we want to call the architecture independent oom killer when
    getting an unexplained OOM from handle_mm_fault, rather than simply
    killing current.

    Signed-off-by: Nick Piggin
    Acked-by: David Rientjes
    Cc: Hirokazu Takata
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Nick Piggin
     
  • As explained in commit 1c0fe6e3bd ("mm: invoke oom-killer from page
    fault") , we want to call the architecture independent oom killer when
    getting an unexplained OOM from handle_mm_fault, rather than simply
    killing current.

    Signed-off-by: Nick Piggin
    Acked-by: David Howells
    Acked-by: David Rientjes
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Nick Piggin
     

04 Jun, 2010

4 commits

  • …git/tip/linux-2.6-tip

    * 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
    x86, smpboot: Fix cores per node printing on boot
    x86/amd-iommu: Fall back to GART if initialization fails
    x86/amd-iommu: Fix crash when request_mem_region fails
    x86/mm: Remove unused DBG() macro
    arch/x86/kernel: Add missing spin_unlock

    Linus Torvalds
     
  • * 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc:
    powerpc/macio: Fix probing of macio devices by using the right of match table
    agp/uninorth: Fix oops caused by flushing too much
    powerpc/pasemi: Update MAINTAINERS file
    powerpc/cell: Fix integer constant warning
    powerpc/kprobes: Remove resume_execution() in kprobes
    powerpc/macio: Don't dereference pointer before null check

    Linus Torvalds
     
  • * 'for-linus/bugfixes' of git://xenbits.xensource.com/people/ianc/linux-2.6:
    xen: avoid allocation causing potential swap activity on the resume path
    xen: ensure timer tick is resumed even on CPU driving the resume

    Linus Torvalds
     
  • …el/git/tip/linux-2.6-tip

    * 'perf-fixes-for-linus-2' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
    perf: Fix crash in swevents
    perf buildid-list: Fix --with-hits event processing
    perf scripts python: Give field dict to unhandled callback
    perf hist: fix objdump output parsing
    perf-record: Check correct pid when forking
    perf: Do the comm inheritance per thread in event__process_task
    perf: Use event__process_task from perf sched
    perf: Process comm events by tid
    blktrace: Fix new kernel-doc warnings
    perf_events: Fix unincremented buffer base on partial copy
    perf_events: Fix event scheduling issues introduced by transactional API
    perf_events, trace: Fix perf_trace_destroy(), mutex went missing
    perf_events, trace: Fix probe unregister race
    perf_events: Fix races in group composition
    perf_events: Fix races and clean up perf_event and perf_mmap_data interaction

    Linus Torvalds
     

03 Jun, 2010

1 commit

  • The core suspend/resume code is run from stop_machine on CPU0 but
    parts of the suspend/resume machinery (including xen_arch_resume) are
    run on whichever CPU happened to schedule the xenwatch kernel thread.

    As part of the non-core resume code xen_arch_resume is called in order
    to restart the timer tick on non-boot processors. The boot processor
    itself is taken care of by core timekeeping code.

    xen_arch_resume uses smp_call_function which does not call the given
    function on the current processor. This means that we can end up with
    one CPU not receiving timer ticks if the xenwatch thread happened to
    be scheduled on CPU > 0.

    Use on_each_cpu instead of smp_call_function to ensure the timer tick
    is resumed everywhere.

    Signed-off-by: Ian Campbell
    Acked-by: Jeremy Fitzhardinge
    Cc: Stable Kernel # .32.x

    Ian Campbell