Skip to content
  1. Jun 09, 2012
    • Linus Torvalds's avatar
      Revert "vfs: stop d_splice_alias creating directory aliases" · 32ba9c3f
      Linus Torvalds authored
      This reverts commit 7732a557 (and commit
      3f50fff4
      
      , which was a follow-up
      cleanup).
      
      We're chasing an elusive bug that Dave Jones can apparently reproduce
      using his system call fuzzer tool, and that looks like some kind of
      locking ordering problem on the directory i_mutex chain.  Our i_mutex
      locking is rather complex, and depends on the topological ordering of
      the directories, which is why we have been very wary of splicing
      directory entries around.
      
      Of course, we really don't want to ever see aliased unconnected
      directories anyway, so none of this should ever happen, but this revert
      aims to basically get us back to a known older state.
      
      Bruce points to some of the previous discussion at
      
             http://marc.info/?i=<20110310105821.GE22723@ZenIV.linux.org.uk>
      
      and in particular a long post from Neil:
      
             http://marc.info/?i=<20110311150749.2fa2be66@notabene.brown>
      
      It should be noted that it's possible that Dave's problems come from
      other changes altohgether, including possibly just the fact that Dave
      constantly is teachning his fuzzer new tricks.  So what appears to be a
      new bug could in fact be an old one that just gets newly triggered, but
      reverting these patches as "still under heavy discussion" is the right
      thing regardless.
      
      Requested-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
      Acked-by: default avatarJ. Bruce Fields <bfields@fieldses.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      32ba9c3f
    • Linus Torvalds's avatar
      Merge branch 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 0b35d326
      Linus Torvalds authored
      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
      0b35d326
    • Linus Torvalds's avatar
      Merge branch 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 106544d8
      Linus Torvalds authored
      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
        ...
      106544d8
    • Linus Torvalds's avatar
      Merge branch 'drm-fixes' of git://people.freedesktop.org/~airlied/linux · 03d8f540
      Linus Torvalds authored
      Pull drm intel and exynos fixes from Dave Airlie:
       "A bunch of fixes for Intel and exynos, nothing too major, a new intel
        PCI ID, and a fix for CRT detection."
      
      * 'drm-fixes' of git://people.freedesktop.org/~airlied/linux:
        drm/i915: pch_irq_handler -> {ibx, cpt}_irq_handler
        char/agp: add another Ironlake host bridge
        drm/i915: fix up ivb plane 3 pageflips
        drm/exynos: fixed blending for hdmi graphic layer
        drm/exynos: Remove dummy encoder get_crtc operation implementation
        drm/exynos: Keep a reference to frame buffer GEM objects
        drm/exynos: Don't cast GEM object to Exynos GEM object when not needed
        drm/exynos: DRIVER_BUS_PLATFORM is not a driver feature
        drm/exynos: fixed size type.
        drm/exynos: Use DRM_FORMAT_{NV12, YUV420} instead of DRM_FORMAT_{NV12M, YUV420M}
        drm/i915: hold forcewake around ring hw init
        drm/i915: Mark the ringbuffers as being in the GTT domain
        drm/i915/crt: Do not rely upon the HPD presence pin
        drm/i915: Reset last_retired_head when resetting ring
      03d8f540
    • Linus Torvalds's avatar
      Merge branch 'timers-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · b1e25f41
      Linus Torvalds authored
      Pull leap second timer fix from Thomas Gleixner.
      
      * 'timers-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        timekeeping: Fix CLOCK_MONOTONIC inconsistency during leapsecond
      b1e25f41
    • Linus Torvalds's avatar
      Merge tag 'moduleparam-for-linus' of... · 857505fa
      Linus Torvalds authored
      Merge tag 'moduleparam-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-for-linus
      
      Pull minor module param fixes from Rusty Russell:
       "One bugfix for multiple moduleparam levels, one removal of overzealous
        printk."
      
      * tag 'moduleparam-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-for-linus:
        init: Drop initcall level output
        module_param: stop double-calling parameters.
      857505fa
  2. Jun 08, 2012
    • Don Zickus's avatar
      x86/nmi: Fix section mismatch warnings on 32-bit · eeaaa96a
      Don Zickus authored
      
      
      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: default avatarWitold Baryluk <baryluk@smp.if.uj.edu.pl>
      Tested-by: default avatarWitold Baryluk <baryluk@smp.if.uj.edu.pl>
      Cc: Jan Beulich <JBeulich@suse.com>
      Signed-off-by: default avatarDon Zickus <dzickus@redhat.com>
      Link: http://lkml.kernel.org/r/1338991542-23000-1-git-send-email-dzickus@redhat.com
      Signed-off-by: default avatarIngo Molnar <mingo@kernel.org>
      eeaaa96a
    • Cliff Wickman's avatar
      x86/uv: Fix UV2 BAU legacy mode · d5d2d2ee
      Cliff Wickman authored
      
      
      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: default avatarCliff Wickman <cpw@sgi.com>
      Cc: <stable@kernel.org>
      Link: http://lkml.kernel.org/r/E1SccoO-0002Lh-Cb@eag09.americas.sgi.com
      Signed-off-by: default avatarIngo Molnar <mingo@kernel.org>
      d5d2d2ee
    • Yinghai Lu's avatar
      x86/mm: Only add extra pages count for the first memory range during... · bd2753b2
      Yinghai Lu authored
      x86/mm: Only add extra pages count for the first memory range during pre-allocation 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 722bc6b1
      
      .
      
      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: default avatarRobin Holt <holt@sgi.com>
      Tested-by: default avatarRobin Holt <holt@sgi.com>
      Signed-off-by: default avatarYinghai 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: default avatarIngo Molnar <mingo@kernel.org>
      bd2753b2
    • Dave Airlie's avatar
      Merge branch 'exynos-drm-fixes' of... · 2d5c7cd3
      Dave Airlie authored
      Merge branch 'exynos-drm-fixes' of git://git.infradead.org/users/kmpark/linux-samsung into drm-fixes
      
      * 'exynos-drm-fixes' of git://git.infradead.org/users/kmpark/linux-samsung:
        drm/exynos: fixed blending for hdmi graphic layer
        drm/exynos: Remove dummy encoder get_crtc operation implementation
        drm/exynos: Keep a reference to frame buffer GEM objects
        drm/exynos: Don't cast GEM object to Exynos GEM object when not needed
        drm/exynos: DRIVER_BUS_PLATFORM is not a driver feature
        drm/exynos: fixed size type.
        drm/exynos: Use DRM_FORMAT_{NV12, YUV420} instead of DRM_FORMAT_{NV12M, YUV420M}
      2d5c7cd3
    • Dave Airlie's avatar
      Merge branch 'drm-intel-fixes' of git://people.freedesktop.org/~danvet/drm-intel into drm-fixes · 6cf98d6e
      Dave Airlie authored
      * 'drm-intel-fixes' of git://people.freedesktop.org/~danvet/drm-intel:
        drm/i915: pch_irq_handler -> {ibx, cpt}_irq_handler
        char/agp: add another Ironlake host bridge
        drm/i915: fix up ivb plane 3 pageflips
        drm/i915: hold forcewake around ring hw init
        drm/i915: Mark the ringbuffers as being in the GTT domain
        drm/i915/crt: Do not rely upon the HPD presence pin
        drm/i915: Reset last_retired_head when resetting ring
      6cf98d6e
    • Borislav Petkov's avatar
      init: Drop initcall level output · 19efb72f
      Borislav Petkov authored
      9fb48c74
      
       ("params: add 3rd arg to option handler callback
      signature") added similar lines to dmesg:
      
      initlevel:0=early, 4 registered initcalls
      initlevel:1=core, 31 registered initcalls
      initlevel:2=postcore, 11 registered initcalls
      initlevel:3=arch, 7 registered initcalls
      initlevel:4=subsys, 40 registered initcalls
      initlevel:5=fs, 30 registered initcalls
      initlevel:6=device, 250 registered initcalls
      initlevel:7=late, 35 registered initcalls
      
      but they don't contain any info for the general user staring at dmesg.
      I'm very doubtful the count of initcalls registered per level helps
      anyone so drop that output completely.
      
      Cc: Jim Cromie <jim.cromie@gmail.com>
      Cc: Rusty Russell <rusty@rustcorp.com.au>
      Cc: Jason Baron <jbaron@redhat.com>
      Signed-off-by: default avatarBorislav Petkov <borislav.petkov@amd.com>
      Signed-off-by: default avatarRusty Russell <rusty@rustcorp.com.au>
      19efb72f
    • Rusty Russell's avatar
      module_param: stop double-calling parameters. · ae82fdb1
      Rusty Russell authored
      Commit 026cee00
      
       "params:
      <level>_initcall-like kernel parameters" set old-style module
      parameters to level 0.  And we call those level 0 calls where we used
      to, early in start_kernel().
      
      We also loop through the initcall levels and call the levelled
      module_params before the corresponding initcall.  Unfortunately level
      0 is early_init(), so we call the standard module_param calls twice.
      
      (Turns out most things don't care, but at least ubi.mtd does).
      
      Change the level to -1 for standard module_param calls.
      
      Reported-by: default avatarBenoît Thébaudeau <benoit.thebaudeau@advansee.com>
      Signed-off-by: default avatarRusty Russell <rusty@rustcorp.com.au>
      Cc: stable@kernel.org
      ae82fdb1
    • Linus Torvalds's avatar
      Revert "mm: correctly synchronize rss-counters at exit/exec" · 48d212a2
      Linus Torvalds authored
      This reverts commit 40af1bbd
      
      .
      
      It's horribly and utterly broken for at least the following reasons:
      
       - calling sync_mm_rss() from mmput() is fundamentally wrong, because
         there's absolutely no reason to believe that the task that does the
         mmput() always does it on its own VM.  Example: fork, ptrace, /proc -
         you name it.
      
       - calling it *after* having done mmdrop() on it is doubly insane, since
         the mm struct may well be gone now.
      
       - testing mm against NULL before you call it is insane too, since a
      NULL mm there would have caused oopses long before.
      
      .. and those are just the three bugs I found before I decided to give up
      looking for me and revert it asap.  I should have caught it before I
      even took it, but I trusted Andrew too much.
      
      Cc: Konstantin Khlebnikov <khlebnikov@openvz.org>
      Cc: Markus Trippelsdorf <markus@trippelsdorf.de>
      Cc: Hugh Dickins <hughd@google.com>
      Cc: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
      Cc: Oleg Nesterov <oleg@redhat.com>
      Cc: Andrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      48d212a2
    • Linus Torvalds's avatar
      Merge branch 'akpm' (Andrew's fixups) · 46edaeda
      Linus Torvalds authored
      Merge random fixes from Andrew Morton.
      
      * emailed from Andrew Morton <akpm@linux-foundation.org>: (11 patches)
        mm: correctly synchronize rss-counters at exit/exec
        btree: catch NULL value before it does harm
        btree: fix tree corruption in btree_get_prev()
        ipc: shm: restore MADV_REMOVE functionality on shared memory segments
        drivers/platform/x86/acerhdf.c: correct Boris' mail address
        c/r: prctl: drop VMA flags test on PR_SET_MM_ stack data assignment
        c/r: prctl: add ability to get clear_tid_address
        c/r: prctl: add minimal address test to PR_SET_MM
        c/r: prctl: update prctl_set_mm_exe_file() after mm->num_exe_file_vmas removal
        MAINTAINERS: whitespace fixes
        shmem: replace_page must flush_dcache and others
      46edaeda
    • Konstantin Khlebnikov's avatar
      mm: correctly synchronize rss-counters at exit/exec · 40af1bbd
      Konstantin Khlebnikov authored
      
      
      mm->rss_stat counters have per-task delta: task->rss_stat.  Before
      changing task->mm pointer the kernel must flush this delta with
      sync_mm_rss().
      
      do_exit() already calls sync_mm_rss() to flush the rss-counters before
      committing the rss statistics into task->signal->maxrss, taskstats,
      audit and other stuff.  Unfortunately the kernel does this before
      calling mm_release(), which can call put_user() for processing
      task->clear_child_tid.  So at this point we can trigger page-faults and
      task->rss_stat becomes non-zero again.  As a result mm->rss_stat becomes
      inconsistent and check_mm() will print something like this:
      
      | BUG: Bad rss-counter state mm:ffff88020813c380 idx:1 val:-1
      | BUG: Bad rss-counter state mm:ffff88020813c380 idx:2 val:1
      
      This patch moves sync_mm_rss() into mm_release(), and moves mm_release()
      out of do_exit() and calls it earlier.  After mm_release() there should
      be no pagefaults.
      
      [akpm@linux-foundation.org: tweak comment]
      Signed-off-by: default avatarKonstantin Khlebnikov <khlebnikov@openvz.org>
      Reported-by: default avatarMarkus Trippelsdorf <markus@trippelsdorf.de>
      Cc: Hugh Dickins <hughd@google.com>
      Cc: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
      Cc: Oleg Nesterov <oleg@redhat.com>
      Cc: <stable@vger.kernel.org>		[3.4.x]
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      40af1bbd
    • Joern Engel's avatar
      btree: catch NULL value before it does harm · 39caa091
      Joern Engel authored
      
      
      Storing NULL values in the btree is illegal and can lead to memory
      corruption and possible other fun as well.  Catch it on insert, instead
      of waiting for the inevitable.
      
      Signed-off-by: default avatarJoern Engel <joern@logfs.org>
      Signed-off-by: default avatarRoland Dreier <roland@purestorage.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      39caa091
    • Roland Dreier's avatar
      btree: fix tree corruption in btree_get_prev() · cbf8ae32
      Roland Dreier authored
      
      
      The memory the parameter __key points to is used as an iterator in
      btree_get_prev(), so if we save off a bkey() pointer in retry_key and
      then assign that to __key, we'll end up corrupting the btree internals
      when we do eg
      
      	longcpy(__key, bkey(geo, node, i), geo->keylen);
      
      to return the key value.  What we should do instead is use longcpy() to
      copy the key value that retry_key points to __key.
      
      This can cause a btree to get corrupted by seemingly read-only
      operations such as btree_for_each_safe.
      
      [akpm@linux-foundation.org: avoid the double longcpy()]
      Signed-off-by: default avatarRoland Dreier <roland@purestorage.com>
      Acked-by: default avatarJoern Engel <joern@logfs.org>
      Cc: <stable@vger.kernel.org>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      cbf8ae32
    • Will Deacon's avatar
      ipc: shm: restore MADV_REMOVE functionality on shared memory segments · 7d8a4569
      Will Deacon authored
      Commit 17cf28af
      
       ("mm/fs: remove truncate_range") removed the
      truncate_range inode operation in favour of the fallocate file
      operation.
      
      When using SYSV IPC shared memory segments, calling madvise with the
      MADV_REMOVE advice on an area of shared memory will attempt to invoke
      the .fallocate function for the shm_file_operations, which is NULL and
      therefore returns -EOPNOTSUPP to userspace.  The previous behaviour
      would inherit the inode_operations from the underlying tmpfs file and
      invoke truncate_range there.
      
      This patch restores the previous behaviour by wrapping the underlying
      fallocate function in shm_fallocate, as we do for fsync.
      
      [hughd@google.com: use -ENOTSUPP in shm_fallocate()]
      Signed-off-by: default avatarWill Deacon <will.deacon@arm.com>
      Acked-by: default avatarHugh Dickins <hughd@google.com>
      Signed-off-by: default avatarHugh Dickins <hughd@google.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      7d8a4569
    • Borislav Petkov's avatar
      drivers/platform/x86/acerhdf.c: correct Boris' mail address · 4e791c98
      Borislav Petkov authored
      
      
      Correct mail address reference to a mail account which I actually read.
      
      Signed-off-by: default avatarBorislav Petkov <bp@alien8.de>
      Cc: Peter Feuerer <peter@piie.net>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      4e791c98
    • Cyrill Gorcunov's avatar
      c/r: prctl: drop VMA flags test on PR_SET_MM_ stack data assignment · 736f24d5
      Cyrill Gorcunov authored
      In commit b7643757
      
       ("procfs: mark thread stack correctly in
      proc/<pid>/maps") the stack allocated via clone() is marked in
      /proc/<pid>/maps as [stack:%d] thus it might be out of the former
      mm->start_stack/end_stack values (and even has some custom VMA flags
      set).
      
      So to be able to restore mm->start_stack/end_stack drop vma flags test,
      but still require the underlying VMA to exist.
      
      As always note this feature is under CONFIG_CHECKPOINT_RESTORE and
      requires CAP_SYS_RESOURCE to be granted.
      
      Signed-off-by: default avatarCyrill Gorcunov <gorcunov@openvz.org>
      Cc: Oleg Nesterov <oleg@redhat.com>
      Acked-by: default avatarKees Cook <keescook@chromium.org>
      Cc: Pavel Emelyanov <xemul@parallels.com>
      Cc: Serge Hallyn <serge.hallyn@canonical.com>
      Cc: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      736f24d5
    • Cyrill Gorcunov's avatar
      c/r: prctl: add ability to get clear_tid_address · 300f786b
      Cyrill Gorcunov authored
      
      
      Zero is written at clear_tid_address when the process exits.  This
      functionality is used by pthread_join().
      
      We already have sys_set_tid_address() to change this address for the
      current task but there is no way to obtain it from user space.
      
      Without the ability to find this address and dump it we can't restore
      pthread'ed apps which call pthread_join() once they have been restored.
      
      This patch introduces the PR_GET_TID_ADDRESS prctl option which allows
      the current process to obtain own clear_tid_address.
      
      This feature is available iif CONFIG_CHECKPOINT_RESTORE is set.
      
      [akpm@linux-foundation.org: fix prctl numbering]
      Signed-off-by: default avatarAndrew Vagin <avagin@openvz.org>
      Signed-off-by: default avatarCyrill Gorcunov <gorcunov@openvz.org>
      Cc: Pedro Alves <palves@redhat.com>
      Cc: Oleg Nesterov <oleg@redhat.com>
      Cc: Pavel Emelyanov <xemul@parallels.com>
      Cc: Tejun Heo <tj@kernel.org>
      Acked-by: default avatarKees Cook <keescook@chromium.org>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      300f786b
    • Cyrill Gorcunov's avatar
      c/r: prctl: add minimal address test to PR_SET_MM · 1ad75b9e
      Cyrill Gorcunov authored
      
      
      Make sure the address being set is greater than mmap_min_addr (as
      suggested by Kees Cook).
      
      Signed-off-by: default avatarCyrill Gorcunov <gorcunov@openvz.org>
      Acked-by: default avatarKees Cook <keescook@chromium.org>
      Cc: Serge Hallyn <serge.hallyn@canonical.com>
      Cc: Tejun Heo <tj@kernel.org>
      Cc: Pavel Emelyanov <xemul@parallels.com>
      Cc: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      1ad75b9e
    • Konstantin Khlebnikov's avatar
      c/r: prctl: update prctl_set_mm_exe_file() after mm->num_exe_file_vmas removal · bafb282d
      Konstantin Khlebnikov authored
      A fix for commit b32dfe37
      
       ("c/r: prctl: add ability to set new
      mm_struct::exe_file").
      
      After removing mm->num_exe_file_vmas kernel keeps mm->exe_file until
      final mmput(), it never becomes NULL while task is alive.
      
      We can check for other mapped files in mm instead of checking
      mm->num_exe_file_vmas, and mark mm with flag MMF_EXE_FILE_CHANGED in
      order to forbid second changing of mm->exe_file.
      
      Signed-off-by: default avatarKonstantin Khlebnikov <khlebnikov@openvz.org>
      Reviewed-by: default avatarCyrill Gorcunov <gorcunov@openvz.org>
      Cc: Oleg Nesterov <oleg@redhat.com>
      Cc: Matt Helsley <matthltc@us.ibm.com>
      Cc: Kees Cook <keescook@chromium.org>
      Cc: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>
      Cc: Tejun Heo <tj@kernel.org>
      Cc: Pavel Emelyanov <xemul@parallels.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      bafb282d
    • Joe Perches's avatar
      MAINTAINERS: whitespace fixes · 6305902c
      Joe Perches authored
      
      
      Remove trailing spaces at EOL.
      Always use a tab after the type :
      
      Signed-off-by: default avatarJoe Perches <joe@perches.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      6305902c
    • Hugh Dickins's avatar
      shmem: replace_page must flush_dcache and others · 0142ef6c
      Hugh Dickins authored
      Commit bde05d1c
      
       ("shmem: replace page if mapping excludes its zone")
      is not at all likely to break for anyone, but it was an earlier version
      from before review feedback was incorporated.  Fix that up now.
      
      * shmem_replace_page must flush_dcache_page after copy_highpage [akpm]
      * Expand comment on why shmem_unuse_inode needs page_swapcount [akpm]
      * Remove excess of VM_BUG_ONs from shmem_replace_page [wangcong]
      * Check page_private matches swap before calling shmem_replace_page [hughd]
      * shmem_replace_page allow for unexpected race in radix_tree lookup [hughd]
      
      Signed-off-by: default avatarHugh Dickins <hughd@google.com>
      Cc: Cong Wang <xiyou.wangcong@gmail.com>
      Cc: Christoph Hellwig <hch@infradead.org>
      Cc: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
      Cc: Alan Cox <alan@lxorguk.ukuu.org.uk>
      Cc: Stephane Marchesin <marcheu@chromium.org>
      Cc: Andi Kleen <andi@firstfloor.org>
      Cc: Dave Airlie <airlied@gmail.com>
      Cc: Daniel Vetter <daniel@ffwll.ch>
      Cc: Rob Clark <rob.clark@linaro.org>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      0142ef6c
    • Jordan Justen's avatar
      x86, efi stub: Add .reloc section back into image · 743628e8
      Jordan Justen authored
      
      
      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: default avatarHenrik Rydberg <rydberg@euromail.se>
      Signed-off-by: default avatarJordan Justen <jordan.l.justen@intel.com>
      Link: http://lkml.kernel.org/r/1339085121-12760-1-git-send-email-jordan.l.justen@intel.com
      Tested-by: default avatarLee G Rosenbaum <lee.g.rosenbaum@intel.com>
      Tested-by: default avatarHenrik Rydberg <rydberg@euromail.se>
      Cc: Matt Fleming <matt.fleming@intel.com>
      Signed-off-by: default avatarH. Peter Anvin <hpa@zytor.com>
      743628e8
    • Linus Torvalds's avatar
      Merge tag 'parisc-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/parisc-2.6 · 513335f9
      Linus Torvalds authored
      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
      513335f9
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/cmetcalf/linux-tile · 0c30989c
      Linus Torvalds authored
      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
      0c30989c
  3. Jun 07, 2012
    • Adam Jackson's avatar
      drm/i915: pch_irq_handler -> {ibx, cpt}_irq_handler · 23e81d69
      Adam Jackson authored
      
      
      Cougar/Panther Point redefine the bits in SDEIIR pretty completely.
      This function is just debugging, but if we're debugging we probably want
      to be told accurate things instead of lies.
      
      I'm told Lynx Point changes this yet more, but I have no idea how...
      
      Note from Eugeni's review:
      
      "For the record and for future enabling efforts, for LPT, bits 28-31
      and 1-14 are gone since CPT/PPT (e.g., those must be zero). And there
      is the bit 15 as a new addition, but we are not using it yet and
      probably won't be using in foreseeable future."
      
      Signed-off-by: default avatarAdam Jackson <ajax@redhat.com>
      Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=35103
      Reviewed-by: default avatarEugeni Dodonov <eugeni.dodonov@intel.com>
      Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
      23e81d69
    • Linus Torvalds's avatar
      Merge tag 'hwmon-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging · 71fae7e7
      Linus Torvalds authored
      Pull hwmon fix from Guenter Roeck:
       "Update e-mail address in MAINTAINERS"
      
      * tag 'hwmon-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging:
        MAINTAINERS: Update my e-mail address
      71fae7e7
    • Linus Torvalds's avatar
      Merge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux · ff39d0e8
      Linus Torvalds authored
      Pull ACPI and Power Management changes from Len Brown.
      
      This does an evil merge to fix up what I think is a mismerge by Len to
      the gma500 driver, and restore it to the mainline state.
      
      In that driver, both branches had commented out the call to
      acpi_video_register(), and Len resolved the merge to that commented-out
      version.
      
      However, in mainline, further changes by Alan (commit d839ede4:
      "gma500: opregion and ACPI" to be exact) had re-enabled the ACPI video
      registration, so the current state of the driver seems to want it.
      
      Alan is apparently still feeling the effects of partying with the Queen,
      so he didn't reply to my query, but I'll do the evil merge anyway.
      
      * 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux:
        ACPI: fix acpi_bus.h build warnings when ACPI is not enabled
        drivers: acpi: Fix dependency for ACPI_HOTPLUG_CPU
        tools/power turbostat: fix IVB support
        tools/power turbostat: fix un-intended affinity of forked program
        ACPI video: use after input_unregister_device()
        gma500: don't register the ACPI video bus
        acpi_video: Intel video is not always i915
        acpi_video: fix leaking PCI references
        ACPI: Ignore invalid _PSS entries, but use valid ones
        ACPI battery: only refresh the sysfs files when pertinent information changes
      ff39d0e8
    • Linus Torvalds's avatar
      Merge tag 'rdma-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband · ae501be0
      Linus Torvalds authored
      Pull InfiniBand/RDMA fixes from Roland Dreier:
       "All in hardware drivers:
         - Fix crash in cxgb4
         - Fixes to new ocrdma driver
         - Regression fixes for mlx4"
      
      * tag 'rdma-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband:
        IB/mlx4: Fix max_wqe capacity reported from query device
        mlx4_core: Fix setting VL_cap in mlx4_SET_PORT wrapper flow
        IB/mlx4: Fix EQ deallocation in legacy mode
        RDMA/cxgb4: Fix crash when peer address is 0.0.0.0
        RDMA/ocrdma: Remove unnecessary version.h includes
        RDMA/ocrdma: Fix signaled event for SRQ_LIMIT_REACHED
        RDMA/ocrdma: Correct queue free count math
      ae501be0
    • Roland Dreier's avatar
    • Sagi Grimberg's avatar
      IB/mlx4: Fix max_wqe capacity reported from query device · fc2d0044
      Sagi Grimberg authored
      
      
      1. Limit the max number of WQEs per QP reported when querying the
         device, so that ib_create_qp() will not fail for a QP size that the
         device claimed to support due to additional headroom WQEs being
         allocated.
      
      2. Limit qp resources accepted for ib_create_qp() to the limits
         reported in ib_query_device().  In kernel space, make sure that the
         limits returned to the caller following qp creation also lie within
         the reported device limits. For userspace, report as before, and do
         adjustment in libmlx4 (so as not to break ABI).
      
      Signed-off-by: default avatarJack Morgenstein <jackm@dev.mellanox.co.il>
      Signed-off-by: default avatarSagi Grimberg <sagig@mellanox.co.il>
      Signed-off-by: default avatarOr Gerlitz <ogerlitz@mellanox.com>
      Signed-off-by: default avatarRoland Dreier <roland@purestorage.com>
      fc2d0044
    • Jack Morgenstein's avatar
      mlx4_core: Fix setting VL_cap in mlx4_SET_PORT wrapper flow · edc4a67e
      Jack Morgenstein authored
      Commit 096335b3
      
       ("mlx4_core: Allow dynamic MTU configuration for
      IB ports") modifies the port VL setting.  This exposes a bug in
      mlx4_common_set_port(), where the VL cap value passed in (inside the
      command mailbox) is incorrectly zeroed-out:
      
      mlx4_SET_PORT modifies the VL_cap field (byte 3 of the mailbox).
      Since the SET_PORT command is paravirtualized on the master as well as
      on the slaves, mlx4_SET_PORT_wrapper() is invoked on the master.  This
      calls mlx4_common_set_port() where mailbox byte 3 gets overwritten by
      code which should only set a single bit in that byte (for the reset
      qkey counter flag) -- but instead overwrites the entire byte.
      
      The result is that when running in SR-IOV mode, the VL_cap will be set
      to zero -- fix this.
      
      Signed-off-by: default avatarJack Morgenstein <jackm@dev.mellanox.co.il>
      Signed-off-by: default avatarOr Gerlitz <ogerlitz@mellanox.com>
      Signed-off-by: default avatarRoland Dreier <roland@purestorage.com>
      edc4a67e
    • Linus Torvalds's avatar
      Merge tag 'md-3.5-fixes' of git://neil.brown.name/md · 374916ed
      Linus Torvalds authored
      Pull two md fixes from NeilBrown:
       "One sparse-warning fix, one bugfix for 3.4-stable"
      
      * tag 'md-3.5-fixes' of git://neil.brown.name/md:
        md: raid1/raid10: fix problem with merge_bvec_fn
        lib/raid6: fix sparse warnings in recovery functions
      374916ed
    • Linus Torvalds's avatar
      Merge tag 'iommu-fixes-3.5-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu · 9e68447f
      Linus Torvalds authored
      Pull IOMMU fixes from Joerg Roedel:
       "Two patches are in here which fix AMD IOMMU specific issues.  One
        patch fixes a long-standing warning on resume because the
        amd_iommu_resume function enabled interrupts.  The other patch fixes a
        deadlock in an error-path of the page-fault request handling code of
        the IOMMU driver.
      
      * tag 'iommu-fixes-3.5-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu:
        iommu/amd: Fix deadlock in ppr-handling error path
        iommu/amd: Cache pdev pointer to root-bridge
      9e68447f
  4. Jun 06, 2012