16 Jun, 2012

1 commit


14 Jun, 2012

3 commits

  • Pull kvm fix from Marcelo Tosatti:
    "Fix a spurious warning on CPU offline path"

    * git://git.kernel.org/pub/scm/virt/kvm/kvm:
    x86: kvmclock: remove check_and_clear_guest_paused warning

    Linus Torvalds
     
  • Pull SuperH fixes from Paul Mundt.

    * tag 'sh-for-linus' of git://github.com/pmundt/linux-sh:
    sh: Kill off additional asm-generic wrappers.
    sh: Setup CROSS_COMPILE at the top
    sh: Fix up link time defsym warnings.
    sh: use the new generic strnlen_user() function
    sh: switch to generic strncpy_from_user().
    sh: Kill off last dead UBC header
    serial: sh-sci: Make probe fail for ports that exceed the maximum count
    serial: sh-sci: Fix probe error paths
    clocksource: sh_tmu: Use clockevents_config_and_register().
    clocksource: sh_tmu: Convert timer lock to raw spinlock.
    clocksource: sh_mtu2: Convert timer lock to raw spinlock.
    clocksource: sh_cmt: Convert timer lock to raw spinlock.
    bug.h: need linux/kernel.h for TAINT_WARN.
    sh: convert to kbuild asm-generic support.
    sh64: Fix up fallout from generic init_task conversion.
    sh: arch/sh/kernel/process.c needs asm/fpu.h for unlazy_fpu().

    Linus Torvalds
     
  • Pull m68k update from Geert Uytterhoeven.

    This makes m68k use the generic library functions for the user-space
    strn[cpy|len] functions.

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/linux-m68k:
    m68k: Use generic strncpy_from_user(), strlen_user(), and strnlen_user()

    Linus Torvalds
     

13 Jun, 2012

8 commits


12 Jun, 2012

7 commits

  • Pull m68knommu from Greg Ungerer:
    "This contains five fixes. Four fix build problems introduced by
    recent clean up and merging of the m68k timer and ptrace code. The
    other fixes the 528x ColdFire CPU QSPI base address definition, missed
    in the ColdFire QSPI cleanup."

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/gerg/m68knommu:
    m68k: make syscall_trace_enter/leave exist for non-MMU classic m68k types
    m68knommu: fix 68360 local setting of timer interrupt handler
    m68knommu: fix 68328 local setting of timer interrupt handler
    m68k: fix inclusion of arch_gettimeoffset for non-MMU 68k classic CPU types
    m68knommu: m528x qspi definition fix

    Linus Torvalds
     
  • CPU offline path calls the hrtimer interrupt handler with interrupts
    disabled, without touching preempt_count, triggering this warning.

    Remove the warning since it is supposed to be used from hrtimer
    interrupt context only.

    Signed-off-by: Marcelo Tosatti

    Marcelo Tosatti
     
  • The assembler entry code calls directly to the syscall_trace_enter() and
    syscall_trace_leave() functions. But currently they are conditionaly
    compiled out for the non-MMU classic m68k CPU types (so 68328 for example),
    resulting in a link error:

    LD vmlinux
    arch/m68k/platform/68328/built-in.o: In function `do_trace':
    (.text+0x1c): undefined reference to `syscall_trace_enter'
    arch/m68k/platform/68328/built-in.o: In function `do_trace':
    (.text+0x4c): undefined reference to `syscall_trace_leave'

    Change the conditional check that includes these functions to be true for
    the !defined(CONFIG_MMU) case as well.

    Signed-off-by: Greg Ungerer
    Acked-by: Geert Uytterhoeven

    Greg Ungerer
     
  • Compiling for 68360 based targets fails with:

    arch/m68k/platform/68360/config.c: In function ‘hw_tick’:
    arch/m68k/platform/68360/config.c:55:2: error: implicit declaration of function ‘arch_timer_interrupt’
    arch/m68k/platform/68360/config.c: At top level:
    arch/m68k/platform/68360/config.c:64:6: error: conflicting types for ‘hw_timer_init’
    arch/m68k/include/asm/machdep.h:36:13: note: previous declaration of ‘hw_timer_init’ was here

    Changes made to hw_timer_init() didn't get updated in the 68328 timer code.
    So process and call the "handler" arg that is now passed into that
    hw_timer_init() function.

    Signed-off-by: Greg Ungerer

    Greg Ungerer
     
  • Compiling for 68328 based targets fails with:

    arch/m68k/platform/68328/timers.c: In function ‘hw_tick’:
    arch/m68k/platform/68328/timers.c:65:2: error: implicit declaration of function ‘arch_timer_interrupt’
    arch/m68k/platform/68328/timers.c: At top level:
    arch/m68k/platform/68328/timers.c:102:6: error: conflicting types for ‘hw_timer_init’
    arch/m68k/include/asm/machdep.h:36:13: note: previous declaration of ‘hw_timer_init’ was here

    Changes made to hw_timer_init() didn't get updated in the 68328 timer code.
    So process and call the "handler" arg that is now passed into that
    hw_timer_init() function.

    Signed-off-by: Greg Ungerer

    Greg Ungerer
     
  • When building for non-MMU based classic 68k CPU types (like the 68328 for
    example) you get a compilation error:

    CC arch/m68k/kernel/time.o
    arch/m68k/kernel/time.c:91:5: error: redefinition of ‘arch_gettimeoffset’
    include/linux/time.h:145:19: note: previous definition of ‘arch_gettimeoffset’ was here

    The arch_gettimeoffset() code is included when building for these CPU types,
    but it shouldn't be. Those machine types do not have
    CONFIG_ARCH_USES_GETTIMEOFFSET set.

    The fix is simply to conditionally include the arch_gettimeoffset() code on
    that same config setting that specifies its use or not.

    Signed-off-by: Greg Ungerer
    Acked-by: Geert Uytterhoeven

    Greg Ungerer
     
  • The consolidation of the qspi code missed a definition for 528x.

    Signed-off-by: Steven King
    Signed-off-by: Greg Ungerer

    Steven King
     

11 Jun, 2012

1 commit


09 Jun, 2012

4 commits

  • Pull scheduler fixes from Ingo Molnar.

    * 'sched-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    sched: Fix the relax_domain_level boot parameter
    sched: Validate assumptions in sched_init_numa()
    sched: Always initialize cpu-power
    sched: Fix domain iteration
    sched/rt: Fix lockdep annotation within find_lock_lowest_rq()
    sched/numa: Load balance between remote nodes
    sched/x86: Calculate booted cores after construction of sibling_mask

    Linus Torvalds
     
  • Pull powerpc fixes from Paul Mackerras:
    "Two small fixes for powerpc:
    - a fix for a regression since 3.2 that causes 4-second (or longer)
    pauses
    - a fix for a potential oops when loading kernel modules on 32-bit
    embedded systems."

    * 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc:
    powerpc: Fix kernel panic during kernel module load
    powerpc/time: Sanity check of decrementer expiration is necessary

    Linus Torvalds
     
  • Pull x86 fixes from Ingo Molnar.

    * 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    x86/nmi: Fix section mismatch warnings on 32-bit
    x86/uv: Fix UV2 BAU legacy mode
    x86/mm: Only add extra pages count for the first memory range during pre-allocation early page table space
    x86, efi stub: Add .reloc section back into image
    x86/ioapic: Fix NULL pointer dereference on CPU hotplug after disabling irqs
    x86/reboot: Fix a warning message triggered by stop_other_cpus()
    x86/intel/moorestown: Change intel_scu_devices_create() to __devinit
    x86/numa: Set numa_nodes_parsed at acpi_numa_memory_affinity_init()
    x86/gart: Fix kmemleak warning
    x86: mce: Add the dropped timer interval init back
    x86/mce: Fix the MCE poll timer logic

    Linus Torvalds
     
  • Pull perf fixes from Ingo Molnar:
    "A bit larger than what I'd wish for - half of it is due to hw driver
    updates to Intel Ivy-Bridge which info got recently released,
    cycles:pp should work there now too, amongst other things. (but we
    are generally making exceptions for hardware enablement of this type.)

    There are also callchain fixes in it - responding to mostly
    theoretical (but valid) concerns. The tooling side sports perf.data
    endianness/portability fixes which did not make it for the merge
    window - and various other fixes as well."

    * 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (26 commits)
    perf/x86: Check user address explicitly in copy_from_user_nmi()
    perf/x86: Check if user fp is valid
    perf: Limit callchains to 127
    perf/x86: Allow multiple stacks
    perf/x86: Update SNB PEBS constraints
    perf/x86: Enable/Add IvyBridge hardware support
    perf/x86: Implement cycles:p for SNB/IVB
    perf/x86: Fix Intel shared extra MSR allocation
    x86/decoder: Fix bsr/bsf/jmpe decoding with operand-size prefix
    perf: Remove duplicate invocation on perf_event_for_each
    perf uprobes: Remove unnecessary check before strlist__delete
    perf symbols: Check for valid dso before creating map
    perf evsel: Fix 32 bit values endianity swap for sample_id_all header
    perf session: Handle endianity swap on sample_id_all header data
    perf symbols: Handle different endians properly during symbol load
    perf evlist: Pass third argument to ioctl explicitly
    perf tools: Update ioctl documentation for PERF_IOC_FLAG_GROUP
    perf tools: Make --version show kernel version instead of pull req tag
    perf tools: Check if callchain is corrupted
    perf callchain: Make callchain cursors TLS
    ...

    Linus Torvalds
     

08 Jun, 2012

8 commits

  • It was reported that compiling for 32-bit caused a bunch of
    section mismatch warnings:

    VDSOSYM arch/x86/vdso/vdso32-syms.lds
    LD arch/x86/vdso/built-in.o
    LD arch/x86/built-in.o

    WARNING: arch/x86/built-in.o(.data+0x5af0): Section mismatch in
    reference from the variable test_nmi_ipi_callback_na.10451 to
    the function .init.text:test_nmi_ipi_callback() [...]

    WARNING: arch/x86/built-in.o(.data+0x5b04): Section mismatch in
    reference from the variable nmi_unk_cb_na.10399 to the function
    .init.text:nmi_unk_cb() The variable nmi_unk_cb_na.10399
    references the function __init nmi_unk_cb() [...]

    Both of these are attributed to the internal representation of
    the nmiaction struct created during register_nmi_handler. The
    reason for this is that those structs are not defined in the
    init section whereas the rest of the code in nmi_selftest.c is.

    To resolve this, I created a new #define,
    register_nmi_handler_initonly, that tags the struct as
    __initdata to resolve the mismatch. This #define should only be
    used in rare situations where the register/unregister is called
    during init of the kernel.

    Big thanks to Jan Beulich for decoding this for me as I didn't
    have a clue what was going on.

    Reported-by: Witold Baryluk
    Tested-by: Witold Baryluk
    Cc: Jan Beulich
    Signed-off-by: Don Zickus
    Link: http://lkml.kernel.org/r/1338991542-23000-1-git-send-email-dzickus@redhat.com
    Signed-off-by: Ingo Molnar

    Don Zickus
     
  • This fixes a problem which can causes kernel oopses while loading
    a kernel module.

    According to the PowerPC EABI specification, GPR r11 is assigned
    the dedicated function to point to the previous stack frame.
    In the powerpc-specific kernel module loader, do_plt_call()
    (in arch/powerpc/kernel/module_32.c), GPR r11 is also used
    to generate trampoline code.

    This combination crashes the kernel, in the case where the compiler
    chooses to use a helper function for saving GPRs on entry, and the
    module loader has placed the .init.text section far away from the
    .text section, meaning that it has to generate a trampoline for
    functions in the .init.text section to call the GPR save helper.
    Because the trampoline trashes r11, references to the stack frame
    using r11 can cause an oops.

    The fix just uses GPR r12 instead of GPR r11 for generating the
    trampoline code. According to the statements from Freescale, this is
    safe from an EABI perspective.

    I've tested the fix for kernel 2.6.33 on MPC8541.

    Cc: stable@vger.kernel.org
    Signed-off-by: Steffen Rumler
    [paulus@samba.org: reworded the description]
    Signed-off-by: Paul Mackerras

    Steffen Rumler
     
  • The SGI Altix UV2 BAU (Broadcast Assist Unit) as used for
    tlb-shootdown (selective broadcast mode) always uses UV2
    broadcast descriptor format. There is no need to clear the
    'legacy' (UV1) mode, because the hardware always uses UV2 mode
    for selective broadcast.

    But the BIOS uses general broadcast and legacy mode, and the
    hardware pays attention to the legacy mode bit for general
    broadcast. So the kernel must not clear that mode bit.

    Signed-off-by: Cliff Wickman
    Cc:
    Link: http://lkml.kernel.org/r/E1SccoO-0002Lh-Cb@eag09.americas.sgi.com
    Signed-off-by: Ingo Molnar

    Cliff Wickman
     
  • …ion early page table space

    Robin found this regression:

    | I just tried to boot an 8TB system. It fails very early in boot with:
    | Kernel panic - not syncing: Cannot find space for the kernel page tables

    git bisect commit 722bc6b16771ed80871e1fd81c86d3627dda2ac8.

    A git revert of that commit does boot past that point on the 8TB
    configuration.

    That commit will add up extra pages for all memory range even
    above 4g.

    Try to limit that extra page count adding to first entry only.

    Bisected-by: Robin Holt <holt@sgi.com>
    Tested-by: Robin Holt <holt@sgi.com>
    Signed-off-by: Yinghai Lu <yinghai@kernel.org>
    Cc: WANG Cong <xiyou.wangcong@gmail.com>
    Cc: Linus Torvalds <torvalds@linux-foundation.org>
    Cc: Andrew Morton <akpm@linux-foundation.org>
    Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
    Link: http://lkml.kernel.org/r/CAE9FiQUj3wyzQxtq9yzBNc9u220p8JZ1FYHG7t%3DMOzJ%3D9BZMYA@mail.gmail.com
    Signed-off-by: Ingo Molnar <mingo@kernel.org>

    Yinghai Lu
     
  • This reverts 68568add2c ("powerpc/time: Remove unnecessary sanity check
    of decrementer expiration"). We do need to check whether we have reached
    the expiration time of the next event, because we sometimes get an early
    decrementer interrupt, most notably when we set the decrementer to 1 in
    arch_irq_work_raise(). The effect of not having the sanity check is that
    if timer_interrupt() gets called early, we leave the decrementer set to
    its maximum value, which means we then don't get any more decrementer
    interrupts for about 4 seconds (or longer, depending on timebase
    frequency). I saw these pauses as a consequence of getting a stray
    hypervisor decrementer interrupt left over from exiting a KVM guest.

    This isn't quite a straight revert because of changes to the surrounding
    code, but it restores the same algorithm as was previously used.

    Cc: stable@vger.kernel.org
    Acked-by: Anton Blanchard
    Acked-by: Benjamin Herrenschmidt
    Signed-off-by: Paul Mackerras

    Paul Mackerras
     
  • Some UEFI firmware will not load a .efi with a .reloc section
    with a size of 0.

    Therefore, we create a .efi image with 4 main areas and 3 sections.
    1. PE/COFF file header
    2. .setup section (covers all setup code following the first sector)
    3. .reloc section (contains 1 dummy reloc entry, created in build.c)
    4. .text section (covers the remaining kernel image)

    To make room for the new .setup section data, the header
    bugger_off_msg had to be shortened.

    Reported-by: Henrik Rydberg
    Signed-off-by: Jordan Justen
    Link: http://lkml.kernel.org/r/1339085121-12760-1-git-send-email-jordan.l.justen@intel.com
    Tested-by: Lee G Rosenbaum
    Tested-by: Henrik Rydberg
    Cc: Matt Fleming
    Signed-off-by: H. Peter Anvin

    Jordan Justen
     
  • Pull PARISC fixes from James Bottomley:
    "This is a set of three bug fixes for minor build breakages that got
    introduced just before 3.5-rc1 was released."

    * tag 'parisc-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/parisc-2.6:
    [PARISC] fix code to find libgcc
    [PARISC] fix compile break in use of lib/strncopy_from_user.c
    [PARISC] fix missing TAINT_WARN problem

    Linus Torvalds
     
  • Pull tile fixes from Chris Metcalf:
    "These two minor bug fixes fix build failures from some changes that
    were merged in during the 3.5 merge window."

    * git://git.kernel.org/pub/scm/linux/kernel/git/cmetcalf/linux-tile:
    tile: add #include to unbreak build after generic init_task conversion
    tile: remove cpu_idle_on_new_stack

    Linus Torvalds
     

07 Jun, 2012

2 commits


06 Jun, 2012

6 commits

  • Some code was moved from init_task.c to setup.c but the appropriate
    header needed to be moved as well.

    Signed-off-by: Chris Metcalf

    Chris Metcalf
     
  • This routine isn't used unless CONFIG_HOMECACHE is enabled, which
    isn't even available as a public configuration option yet.
    Since it no longer links correctly in 3.4, just remove it for now.

    Signed-off-by: Chris Metcalf

    Chris Metcalf
     
  • Signed-off-by: Arun Sharma
    Cc: Linus Torvalds
    Cc: linux-kernel@vger.kernel.org
    Signed-off-by: Peter Zijlstra
    Link: http://lkml.kernel.org/r/1334961696-19580-5-git-send-email-asharma@fb.com
    Signed-off-by: Ingo Molnar

    Arun Sharma
     
  • Signed-off-by: Arun Sharma
    Cc: Linus Torvalds
    Cc: linux-kernel@vger.kernel.org
    Signed-off-by: Peter Zijlstra
    Link: http://lkml.kernel.org/r/1334961696-19580-4-git-send-email-asharma@fb.com
    Signed-off-by: Ingo Molnar

    Arun Sharma
     
  • Without this patch, applications with two different stack
    regions (eg: native stack vs JIT stack) get truncated
    callchains even when RBP chaining is present. GDB shows proper
    stack traces and the frame pointer chaining is intact.

    This patch disables the (fp < RSP) check, hoping that other checks
    in the code save the day for us. In our limited testing, this
    didn't seem to break anything.

    In the long term, we could potentially have userspace advise
    the kernel on the range of valid stack addresses, so we don't
    spend a lot of time unwinding from bogus addresses.

    Signed-off-by: Arun Sharma
    CC: Arnaldo Carvalho de Melo
    Cc: Frederic Weisbecker
    Cc: Mike Galbraith
    Cc: Paul Mackerras
    Cc: Stephane Eranian
    Cc: Namhyung Kim
    Cc: Tom Zanussi
    Cc: linux-kernel@vger.kernel.org
    Cc: linux-perf-users@vger.kernel.org
    Signed-off-by: Peter Zijlstra
    Link: http://lkml.kernel.org/r/1334961696-19580-2-git-send-email-asharma@fb.com
    Signed-off-by: Ingo Molnar

    Arun Sharma
     
  • Afaict there's no need to (incompletely) iterate the
    MEM_UOPS_RETIRED.* umask state.

    Signed-off-by: Peter Zijlstra
    Cc: Stephane Eranian
    Link: http://lkml.kernel.org/r/1338884803.28282.153.camel@twins
    Signed-off-by: Ingo Molnar

    Peter Zijlstra