1. 17 Mar, 2017 14 commits
    • Linus Torvalds's avatar
      Merge branch 'x86-acpi-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · ae133733
      Linus Torvalds authored
      Pull x86 acpi fixes from Thomas Gleixner:
       "This update deals with the fallout of the recent work to make
        cpuid/node mappings persistent.
      
        It turned out that the boot time ACPI based mapping tripped over ACPI
        inconsistencies and caused regressions. It's partially reverted and
        the fragile part replaced by an implementation which makes the mapping
        persistent when a CPU goes online for the first time"
      
      * 'x86-acpi-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        acpi/processor: Check for duplicate processor ids at hotplug time
        acpi/processor: Implement DEVICE operator for processor enumeration
        x86/acpi: Restore the order of CPU IDs
        Revert"x86/acpi: Enable MADT APIs to return disabled apicids"
        Revert "x86/acpi: Set persistent cpuid <-> nodeid mapping when booting"
      ae133733
    • Linus Torvalds's avatar
      Merge branch 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · a7fc726b
      Linus Torvalds authored
      Pull perf fixes from Thomas Gleixner:
       "A set of perf related fixes:
      
         - fix a CR4.PCE propagation issue caused by usage of mm instead of
           active_mm and therefore propagated the wrong value.
      
         - perf core fixes, which plug a use-after-free issue and make the
           event inheritance on fork more robust.
      
         - a tooling fix for symbol handling"
      
      * 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        perf symbols: Fix symbols__fixup_end heuristic for corner cases
        x86/perf: Clarify why x86_pmu_event_mapped() isn't racy
        x86/perf: Fix CR4.PCE propagation to use active_mm instead of mm
        perf/core: Better explain the inherit magic
        perf/core: Simplify perf_event_free_task()
        perf/core: Fix event inheritance on fork()
        perf/core: Fix use-after-free in perf_release()
      a7fc726b
    • Linus Torvalds's avatar
      Merge branch 'sched-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · cd21debe
      Linus Torvalds authored
      Pull scheduler fixes from Thomas Gleixner:
       "From the scheduler departement:
      
         - a bunch of sched deadline related fixes which deal with various
           buglets and corner cases.
      
         - two fixes for the loadavg spikes which are caused by the delayed
           NOHZ accounting"
      
      * 'sched-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        sched/deadline: Use deadline instead of period when calculating overflow
        sched/deadline: Throttle a constrained deadline task activated after the deadline
        sched/deadline: Make sure the replenishment timer fires in the next period
        sched/loadavg: Use {READ,WRITE}_ONCE() for sample window
        sched/loadavg: Avoid loadavg spikes caused by delayed NO_HZ accounting
        sched/deadline: Add missing update_rq_clock() in dl_task_timer()
      cd21debe
    • Linus Torvalds's avatar
      Merge branch 'locking-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · b5f13082
      Linus Torvalds authored
      Pull locking fixes from Thomas Gleixner:
       "Three fixes related to locking:
      
         - fix a SIGKILL issue for RWSEM_GENERIC_SPINLOCK which has been fixed
           for the XCHGADD variant already
      
         - plug a potential use after free in the futex code
      
         - prevent leaking a held spinlock in an futex error handling code
           path"
      
      * 'locking-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        locking/rwsem: Fix down_write_killable() for CONFIG_RWSEM_GENERIC_SPINLOCK=y
        futex: Add missing error handling to FUTEX_REQUEUE_PI
        futex: Fix potential use-after-free in FUTEX_REQUEUE_PI
      b5f13082
    • Linus Torvalds's avatar
      Merge branch 'timers-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 18f48c9f
      Linus Torvalds authored
      Pull timer fix from Thomas Gleixner:
       "Just a simple revert of a new sched_clock implementation which turned
        out to be buggy"
      
      * 'timers-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        Revert "clocksource/drivers/tcb_clksrc: Use 32 bit tcb as sched_clock"
      18f48c9f
    • Linus Torvalds's avatar
      Merge tag 'afs-20170316' of git://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-fs · 57fd0b77
      Linus Torvalds authored
      Pull AFS fixes from David Howells:
       "Fixes to the AFS filesystem in the kernel.
      
        They fix a variety of bugs. These include some issues fixed for
        consistency with other AFS implementations:
      
         - handle AFS mode bits better
      
         - use the client mtime rather than the server mtime in the protocol
      
         - handle the server returning more or less data than was requested in
           a FetchData call
      
         - distinguish mountpoints from symlinks based on the mode bits rather
           than preemptively reading every symlink to find out what it
           actually represents
      
        One other notable change for the user is that files are now flushed on
        close analogously with other network filesystems"
      
      * tag 'afs-20170316' of git://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-fs: (28 commits)
        afs: Don't wait for page writeback with the page lock held
        afs: ->writepage() shouldn't call clear_page_dirty_for_io()
        afs: Fix abort on signal while waiting for call completion
        afs: Fix an off-by-one error in afs_send_pages()
        afs: Fix afs_kill_pages()
        afs: Fix page leak in afs_write_begin()
        afs: Don't set PG_error on local EINTR or ENOMEM when filling a page
        afs: Populate and use client modification time
        afs: Better abort and net error handling
        afs: Invalid op ID should abort with RXGEN_OPCODE
        afs: Fix the maths in afs_fs_store_data()
        afs: Use a bvec rather than a kvec in afs_send_pages()
        afs: Make struct afs_read::remain 64-bit
        afs: Fix AFS read bug
        afs: Prevent callback expiry timer overflow
        afs: Migrate vlocation fields to 64-bit
        afs: security: Replace rcu_assign_pointer() with RCU_INIT_POINTER()
        afs: inode: Replace rcu_assign_pointer() with RCU_INIT_POINTER()
        afs: Distinguish mountpoints from symlinks by file mode alone
        afs: Flush outstanding writes when an fd is closed
        ...
      57fd0b77
    • Linus Torvalds's avatar
      Merge branch 'fixes' of git://git.armlinux.org.uk/~rmk/linux-arm · c79d5ff0
      Linus Torvalds authored
      Pull ARM fix from Russell King:
       "Just one change to add the statx syscall this time around"
      
      * 'fixes' of git://git.armlinux.org.uk/~rmk/linux-arm:
        ARM: wire up statx syscall
      c79d5ff0
    • Linus Torvalds's avatar
      Merge tag 'for-linus-4.11b-rc3-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip · f89406ca
      Linus Torvalds authored
      Pull xen fix from Juergen Gross:
       "A minor fix for using the appropriate refcount_t instead of atomic_t"
      
      * tag 'for-linus-4.11b-rc3-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip:
        drivers, xen: convert grant_map.users from atomic_t to refcount_t
      f89406ca
    • Linus Torvalds's avatar
      Merge tag 'drm-fixes-for-v4.11-rc3' of git://people.freedesktop.org/~airlied/linux · 102ed8c3
      Linus Torvalds authored
      Pull drm fixes from Dave Airlie:
       "Bunch of fixes across the drivers, in a St Patrick's day pull request
        (please turn terminal colors to green on black or black on green for
        full effect).
      
        On the arm side, tilcdc, omap and malidp got fixes, while amd has some
        powermanagement fixes, and intel has a set of fixes across the driver.
      
        Nothing seems to bad or scary at this point"
      
      * tag 'drm-fixes-for-v4.11-rc3' of git://people.freedesktop.org/~airlied/linux: (27 commits)
        drm/amd/amdgpu:  Fix debugfs reg read/write address width
        drm/amdgpu/si: add dpm quirk for Oland
        drm/radeon/si: add dpm quirk for Oland
        drm: amd: remove broken include path
        drm/amd/powerplay: fix copy error in smu7_clockpoweragting.c
        drm/tilcdc: Set framebuffer DMA address to HW only if CRTC is enabled
        drm/tilcdc: Fix hardcoded fail-return value in tilcdc_crtc_create()
        drm/i915: Fix forcewake active domain tracking
        drm/i915: Nuke skl_update_plane debug message from the pipe update critical section
        drm/i915: use correct node for handling cache domain eviction
        uapi: fix drm/omap_drm.h userspace compilation errors
        drm/omap: fix dmabuf mmap for dma_alloc'ed buffers
        drm/amdgpu: fix parser init error path to avoid crash in parser fini
        drm/amd/amdgpu: Disable GFX_PG on Carrizo until compute issues solved
        drm: mali-dp: Fix smart layer not going to composition
        drm: mali-dp: Remove mclk rate management
        drm/i915: Drain the freed state from the tail of the next commit
        drm/i915: Nuke debug messages from the pipe update critical section
        drm/i915: Use pagecache write to prepopulate shmemfs from pwrite-ioctl
        drm/i915: Store a permanent error in obj->mm.pages
        ...
      102ed8c3
    • Ingo Molnar's avatar
      Merge tag 'perf-urgent-for-mingo-4.11-20170317' of... · a01851fa
      Ingo Molnar authored
      Merge tag 'perf-urgent-for-mingo-4.11-20170317' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/urgent
      
      Pull perf/urgent fix from Arnaldo Carvalho de Melo:
      
      - Fix symbols__fixup_end heuristic for corner cases, such as JITted eBPF
        programs, that are loaded at page aligned addresses, just after the
        kernel proper (Daniel Borkmann)
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      Signed-off-by: default avatarIngo Molnar <mingo@kernel.org>
      a01851fa
    • Daniel Borkmann's avatar
      perf symbols: Fix symbols__fixup_end heuristic for corner cases · e7ede72a
      Daniel Borkmann authored
      The current symbols__fixup_end() heuristic for the last entry in the rb
      tree is suboptimal as it leads to not being able to recognize the symbol
      in the call graph in a couple of corner cases, for example:
      
       i) If the symbol has a start address (f.e. exposed via kallsyms)
          that is at a page boundary, then the roundup(curr->start, 4096)
          for the last entry will result in curr->start == curr->end with
          a symbol length of zero.
      
      ii) If the symbol has a start address that is shortly before a page
          boundary, then also here, curr->end - curr->start will just be
          very few bytes, where it's unrealistic that we could perform a
          match against.
      
      Instead, change the heuristic to roundup(curr->start, 4096) + 4096, so
      that we can catch such corner cases and have a better chance to find
      that specific symbol. It's still just best effort as the real end of the
      symbol is unknown to us (and could even be at a larger offset than the
      current range), but better than the current situation.
      
      Alexei reported that he recently run into case i) with a JITed eBPF
      program (these are all page aligned) as the last symbol which wasn't
      properly shown in the call graph (while other eBPF program symbols in
      the rb tree were displayed correctly). Since this is a generic issue,
      lets try to improve the heuristic a bit.
      Reported-and-Tested-by: default avatarAlexei Starovoitov <ast@kernel.org>
      Signed-off-by: default avatarDaniel Borkmann <daniel@iogearbox.net>
      Fixes: 2e538c4a ("perf tools: Improve kernel/modules symbol lookup")
      Link: http://lkml.kernel.org/r/bb5c80d27743be6f12afc68405f1956a330e1bc9.1489614365.git.daniel@iogearbox.netSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      e7ede72a
    • Andy Lutomirski's avatar
      x86/perf: Clarify why x86_pmu_event_mapped() isn't racy · 4b07372a
      Andy Lutomirski authored
      Naively, it looks racy, but ->mmap_sem saves it.  Add a comment and a
      lockdep assertion.
      Signed-off-by: default avatarAndy Lutomirski <luto@kernel.org>
      Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
      Cc: Arnaldo Carvalho de Melo <acme@redhat.com>
      Cc: Borislav Petkov <bpetkov@suse.de>
      Cc: H. Peter Anvin <hpa@zytor.com>
      Cc: Jiri Olsa <jolsa@redhat.com>
      Cc: Linus Torvalds <torvalds@linux-foundation.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Stephane Eranian <eranian@google.com>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: Vince Weaver <vincent.weaver@maine.edu>
      Link: http://lkml.kernel.org/r/03a1e629063899168dfc4707f3bb6e581e21f5c6.1489694270.git.luto@kernel.orgSigned-off-by: default avatarIngo Molnar <mingo@kernel.org>
      4b07372a
    • Andy Lutomirski's avatar
      x86/perf: Fix CR4.PCE propagation to use active_mm instead of mm · 5dc855d4
      Andy Lutomirski authored
      If one thread mmaps a perf event while another thread in the same mm
      is in some context where active_mm != mm (which can happen in the
      scheduler, for example), refresh_pce() would write the wrong value
      to CR4.PCE.  This broke some PAPI tests.
      Reported-and-tested-by: default avatarVince Weaver <vincent.weaver@maine.edu>
      Signed-off-by: default avatarAndy Lutomirski <luto@kernel.org>
      Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
      Cc: Arnaldo Carvalho de Melo <acme@redhat.com>
      Cc: Borislav Petkov <bpetkov@suse.de>
      Cc: H. Peter Anvin <hpa@zytor.com>
      Cc: Jiri Olsa <jolsa@redhat.com>
      Cc: Linus Torvalds <torvalds@linux-foundation.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Stephane Eranian <eranian@google.com>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: stable@vger.kernel.org
      Fixes: 7911d3f7 ("perf/x86: Only allow rdpmc if a perf_event is mapped")
      Link: http://lkml.kernel.org/r/0c5b38a76ea50e405f9abe07a13dfaef87c173a1.1489694270.git.luto@kernel.orgSigned-off-by: default avatarIngo Molnar <mingo@kernel.org>
      5dc855d4
    • Linus Torvalds's avatar
      Merge branch 'akpm' (patches from Andrew) · d528ae0d
      Linus Torvalds authored
      Merge fixes from Andrew Morton:
       "6 fixes"
      
      * emailed patches from Andrew Morton <akpm@linux-foundation.org>:
        drivers core: remove assert_held_device_hotplug()
        mm: add private lock to serialize memory hotplug operations
        mm: don't warn when vmalloc() fails due to a fatal signal
        mm, x86: fix native_pud_clear build error
        kasan: add a prototype of task_struct to avoid warning
        z3fold: fix spinlock unlocking in page reclaim
      d528ae0d
  2. 16 Mar, 2017 26 commits