1. 16 May, 2016 13 commits
    • Linus Torvalds's avatar
      Merge branch 'x86-boot-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 9a45f036
      Linus Torvalds authored
      Pull x86 boot updates from Ingo Molnar:
       "The biggest changes in this cycle were:
      
         - prepare for more KASLR related changes, by restructuring, cleaning
           up and fixing the existing boot code.  (Kees Cook, Baoquan He,
           Yinghai Lu)
      
         - simplifly/concentrate subarch handling code, eliminate
           paravirt_enabled() usage.  (Luis R Rodriguez)"
      
      * 'x86-boot-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (50 commits)
        x86/KASLR: Clarify purpose of each get_random_long()
        x86/KASLR: Add virtual address choosing function
        x86/KASLR: Return earliest overlap when avoiding regions
        x86/KASLR: Add 'struct slot_area' to manage random_addr slots
        x86/boot: Add missing file header comments
        x86/KASLR: Initialize mapping_info every time
        x86/boot: Comment what finalize_identity_maps() does
        x86/KASLR: Build identity mappings on demand
        x86/boot: Split out kernel_ident_mapping_init()
        x86/boot: Clean up indenting for asm/boot.h
        x86/KASLR: Improve comments around the mem_avoid[] logic
        x86/boot: Simplify pointer casting in choose_random_location()
        x86/KASLR: Consolidate mem_avoid[] entries
        x86/boot: Clean up pointer casting
        x86/boot: Warn on future overlapping memcpy() use
        x86/boot: Extract error reporting functions
        x86/boot: Correctly bounds-check relocations
        x86/KASLR: Clean up unused code from old 'run_size' and rename it to 'kernel_total_size'
        x86/boot: Fix "run_size" calculation
        x86/boot: Calculate decompression size during boot not build
        ...
      9a45f036
    • Linus Torvalds's avatar
      Merge branch 'x86-asm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 168f1a71
      Linus Torvalds authored
      Pull x86 asm updates from Ingo Molnar:
       "The main changes in this cycle were:
      
         - MSR access API fixes and enhancements (Andy Lutomirski)
      
         - early exception handling improvements (Andy Lutomirski)
      
         - user-space FS/GS prctl usage fixes and improvements (Andy
           Lutomirski)
      
         - Remove the cpu_has_*() APIs and replace them with equivalents
           (Borislav Petkov)
      
         - task switch micro-optimization (Brian Gerst)
      
         - 32-bit entry code simplification (Denys Vlasenko)
      
         - enhance PAT handling in enumated CPUs (Toshi Kani)
      
        ... and lots of other cleanups/fixlets"
      
      * 'x86-asm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (70 commits)
        x86/arch_prctl/64: Restore accidentally removed put_cpu() in ARCH_SET_GS
        x86/entry/32: Remove asmlinkage_protect()
        x86/entry/32: Remove GET_THREAD_INFO() from entry code
        x86/entry, sched/x86: Don't save/restore EFLAGS on task switch
        x86/asm/entry/32: Simplify pushes of zeroed pt_regs->REGs
        selftests/x86/ldt_gdt: Test set_thread_area() deletion of an active segment
        x86/tls: Synchronize segment registers in set_thread_area()
        x86/asm/64: Rename thread_struct's fs and gs to fsbase and gsbase
        x86/arch_prctl/64: Remove FSBASE/GSBASE < 4G optimization
        x86/segments/64: When load_gs_index fails, clear the base
        x86/segments/64: When loadsegment(fs, ...) fails, clear the base
        x86/asm: Make asm/alternative.h safe from assembly
        x86/asm: Stop depending on ptrace.h in alternative.h
        x86/entry: Rename is_{ia32,x32}_task() to in_{ia32,x32}_syscall()
        x86/asm: Make sure verify_cpu() has a good stack
        x86/extable: Add a comment about early exception handlers
        x86/msr: Set the return value to zero when native_rdmsr_safe() fails
        x86/paravirt: Make "unsafe" MSR accesses unsafe even if PARAVIRT=y
        x86/paravirt: Add paravirt_{read,write}_msr()
        x86/msr: Carry on after a non-"safe" MSR access fails
        ...
      168f1a71
    • Linus Torvalds's avatar
      Merge branch 'sched-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 825a3b26
      Linus Torvalds authored
      Pull scheduler updates from Ingo Molnar:
      
       - massive CPU hotplug rework (Thomas Gleixner)
      
       - improve migration fairness (Peter Zijlstra)
      
       - CPU load calculation updates/cleanups (Yuyang Du)
      
       - cpufreq updates (Steve Muckle)
      
       - nohz optimizations (Frederic Weisbecker)
      
       - switch_mm() micro-optimization on x86 (Andy Lutomirski)
      
       - ... lots of other enhancements, fixes and cleanups.
      
      * 'sched-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (66 commits)
        ARM: Hide finish_arch_post_lock_switch() from modules
        sched/core: Provide a tsk_nr_cpus_allowed() helper
        sched/core: Use tsk_cpus_allowed() instead of accessing ->cpus_allowed
        sched/loadavg: Fix loadavg artifacts on fully idle and on fully loaded systems
        sched/fair: Correct unit of load_above_capacity
        sched/fair: Clean up scale confusion
        sched/nohz: Fix affine unpinned timers mess
        sched/fair: Fix fairness issue on migration
        sched/core: Kill sched_class::task_waking to clean up the migration logic
        sched/fair: Prepare to fix fairness problems on migration
        sched/fair: Move record_wakee()
        sched/core: Fix comment typo in wake_q_add()
        sched/core: Remove unused variable
        sched: Make hrtick_notifier an explicit call
        sched/fair: Make ilb_notifier an explicit call
        sched/hotplug: Make activate() the last hotplug step
        sched/hotplug: Move migration CPU_DYING to sched_cpu_dying()
        sched/migration: Move CPU_ONLINE into scheduler state
        sched/migration: Move calc_load_migrate() into CPU_DYING
        sched/migration: Move prepare transition to SCHED_STARTING state
        ...
      825a3b26
    • Linus Torvalds's avatar
      Merge branch 'ras-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · cf6ed9a6
      Linus Torvalds authored
      Pull RAS updates from Ingo Molnar:
       "Main changes in this cycle were:
      
         - AMD MCE/RAS handling updates (Yazen Ghannam, Aravind
           Gopalakrishnan)
      
         - Cleanups (Borislav Petkov)
      
         - logging fix (Tony Luck)"
      
      * 'ras-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/RAS: Add SMCA support to AMD Error Injector
        EDAC, mce_amd: Detect SMCA using X86_FEATURE_SMCA
        x86/mce: Update AMD mcheck init to use cpu_has() facilities
        x86/cpu: Add detection of AMD RAS Capabilities
        x86/mce/AMD: Save an indentation level in prepare_threshold_block()
        x86/mce/AMD: Disable LogDeferredInMcaStat for SMCA systems
        x86/mce/AMD: Log Deferred Errors using SMCA MCA_DE{STAT,ADDR} registers
        x86/mce: Detect local MCEs properly
        x86/mce: Look in genpool instead of mcelog for pending error records
        x86/mce: Detect and use SMCA-specific msr_ops
        x86/mce: Define vendor-specific MSR accessors
        x86/mce: Carve out writes to MCx_STATUS and MCx_CTL
        x86/mce: Grade uncorrected errors for SMCA-enabled systems
        x86/mce: Log MCEs after a warm rest on AMD, Fam17h and later
        x86/mce: Remove explicit smp_rmb() when starting CPUs sync
        x86/RAS: Rename AMD MCE injector config item
      cf6ed9a6
    • Linus Torvalds's avatar
      Merge branch 'perf-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 36db171c
      Linus Torvalds authored
      Pull perf updates from Ingo Molnar:
       "Bigger kernel side changes:
      
         - Add backwards writing capability to the perf ring-buffer code,
           which is preparation for future advanced features like robust
           'overwrite support' and snapshot mode.  (Wang Nan)
      
         - Add pause and resume ioctls for the perf ringbuffer (Wang Nan)
      
         - x86 Intel cstate code cleanups and reorgnization (Thomas Gleixner)
      
         - x86 Intel uncore and CPU PMU driver updates (Kan Liang, Peter
           Zijlstra)
      
         - x86 AUX (Intel PT) related enhancements and updates (Alexander
           Shishkin)
      
         - x86 MSR PMU driver enhancements and updates (Huang Rui)
      
         - ... and lots of other changes spread out over 40+ commits.
      
        Biggest tooling side changes:
      
         - 'perf trace' features and enhancements.  (Arnaldo Carvalho de Melo)
      
         - BPF tooling updates (Wang Nan)
      
         - 'perf sched' updates (Jiri Olsa)
      
         - 'perf probe' updates (Masami Hiramatsu)
      
         - ... plus 200+ other enhancements, fixes and cleanups to tools/
      
        The merge commits, the shortlog and the changelogs contain a lot more
        details"
      
      * 'perf-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (249 commits)
        perf/core: Disable the event on a truncated AUX record
        perf/x86/intel/pt: Generate PMI in the STOP region as well
        perf buildid-cache: Use lsdir() for looking up buildid caches
        perf symbols: Use lsdir() for the search in kcore cache directory
        perf tools: Use SBUILD_ID_SIZE where applicable
        perf tools: Fix lsdir to set errno correctly
        perf trace: Move seccomp args beautifiers to tools/perf/trace/beauty/
        perf trace: Move flock op beautifier to tools/perf/trace/beauty/
        perf build: Add build-test for debug-frame on arm/arm64
        perf build: Add build-test for libunwind cross-platforms support
        perf script: Fix export of callchains with recursion in db-export
        perf script: Fix callchain addresses in db-export
        perf script: Fix symbol insertion behavior in db-export
        perf symbols: Add dso__insert_symbol function
        perf scripting python: Use Py_FatalError instead of die()
        perf tools: Remove xrealloc and ALLOC_GROW
        perf help: Do not use ALLOC_GROW in add_cmd_list
        perf pmu: Make pmu_formats_string to check return value of strbuf
        perf header: Make topology checkers to check return value of strbuf
        perf tools: Make alias handler to check return value of strbuf
        ...
      36db171c
    • Linus Torvalds's avatar
      Merge branch 'locking-rwsem-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 3469d261
      Linus Torvalds authored
      Pull support for killable rwsems from Ingo Molnar:
       "This, by Michal Hocko, implements down_write_killable().
      
        The main usecase will be to update mm_sem usage sites to use this new
        API, to allow the mm-reaper introduced in commit aac45363 ("mm,
        oom: introduce oom reaper") to tear down oom victim address spaces
        asynchronously with minimum latencies and without deadlock worries"
      
      [ The vfs will want it too as the inode lock is changed from a mutex to
        a rwsem due to the parallel lookup and readdir updates ]
      
      * 'locking-rwsem-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        locking/rwsem: Fix comment on register clobbering
        locking/rwsem: Fix down_write_killable()
        locking/rwsem, x86: Add frame annotation for call_rwsem_down_write_failed_killable()
        locking/rwsem: Provide down_write_killable()
        locking/rwsem, x86: Provide __down_write_killable()
        locking/rwsem, s390: Provide __down_write_killable()
        locking/rwsem, ia64: Provide __down_write_killable()
        locking/rwsem, alpha: Provide __down_write_killable()
        locking/rwsem: Introduce basis for down_write_killable()
        locking/rwsem, sparc: Drop superfluous arch specific implementation
        locking/rwsem, sh: Drop superfluous arch specific implementation
        locking/rwsem, xtensa: Drop superfluous arch specific implementation
        locking/rwsem: Drop explicit memory barriers
        locking/rwsem: Get rid of __down_write_nested()
      3469d261
    • Linus Torvalds's avatar
      Merge branch 'locking-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 1c19b68a
      Linus Torvalds authored
      Pull locking changes from Ingo Molnar:
       "The main changes in this cycle were:
      
         - pvqspinlock statistics fixes (Davidlohr Bueso)
      
         - flip atomic_fetch_or() arguments (Peter Zijlstra)
      
         - locktorture simplification (Paul E.  McKenney)
      
         - documentation updates (SeongJae Park, David Howells, Davidlohr
           Bueso, Paul E McKenney, Peter Zijlstra, Will Deacon)
      
         - various fixes"
      
      * 'locking-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        locking/atomics: Flip atomic_fetch_or() arguments
        locking/pvqspinlock: Robustify init_qspinlock_stat()
        locking/pvqspinlock: Avoid double resetting of stats
        lcoking/locktorture: Simplify the torture_runnable computation
        locking/Documentation: Clarify that ACQUIRE applies to loads, RELEASE applies to stores
        locking/Documentation: State purpose of memory-barriers.txt
        locking/Documentation: Add disclaimer
        locking/Documentation/lockdep: Fix spelling mistakes
        locking/lockdep: Deinline register_lock_class(), save 2328 bytes
        locking/locktorture: Fix NULL pointer dereference for cleanup paths
        locking/locktorture: Fix deboosting NULL pointer dereference
        locking/Documentation: Mention smp_cond_acquire()
        locking/Documentation: Insert white spaces consistently
        locking/Documentation: Fix formatting inconsistencies
        locking/Documentation: Add missed subsection in TOC
        locking/Documentation: Fix missed s/lock/acquire renames
        locking/Documentation: Clarify relationship of barrier() to control dependencies
      1c19b68a
    • Linus Torvalds's avatar
      Merge branch 'efi-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 49817c33
      Linus Torvalds authored
      Pull EFI updates from Ingo Molnar:
       "The main changes in this cycle were:
      
         - Drop the unused EFI_SYSTEM_TABLES efi.flags bit and ensure the
           ARM/arm64 EFI System Table mapping is read-only (Ard Biesheuvel)
      
         - Add a comment to explain that one of the code paths in the x86/pat
           code is only executed for EFI boot (Matt Fleming)
      
         - Improve Secure Boot status checks on arm64 and handle unexpected
           errors (Linn Crosetto)
      
         - Remove the global EFI memory map variable 'memmap' as the same
           information is already available in efi::memmap (Matt Fleming)
      
         - Add EFI Memory Attribute table support for ARM/arm64 (Ard
           Biesheuvel)
      
         - Add EFI GOP framebuffer support for ARM/arm64 (Ard Biesheuvel)
      
         - Add EFI Bootloader Control driver for storing reboot(2) data in EFI
           variables for consumption by bootloaders (Jeremy Compostella)
      
         - Add Core EFI capsule support (Matt Fleming)
      
         - Add EFI capsule char driver (Kweh, Hock Leong)
      
         - Unify EFI memory map code for ARM and arm64 (Ard Biesheuvel)
      
         - Add generic EFI support for detecting when firmware corrupts CPU
           status register bits (like IRQ flags) when performing EFI runtime
           service calls (Mark Rutland)
      
        ... and other misc cleanups"
      
      * 'efi-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (46 commits)
        efivarfs: Make efivarfs_file_ioctl() static
        efi: Merge boolean flag arguments
        efi/capsule: Move 'capsule' to the stack in efi_capsule_supported()
        efibc: Fix excessive stack footprint warning
        efi/capsule: Make efi_capsule_pending() lockless
        efi: Remove unnecessary (and buggy) .memmap initialization from the Xen EFI driver
        efi/runtime-wrappers: Remove ARCH_EFI_IRQ_FLAGS_MASK #ifdef
        x86/efi: Enable runtime call flag checking
        arm/efi: Enable runtime call flag checking
        arm64/efi: Enable runtime call flag checking
        efi/runtime-wrappers: Detect firmware IRQ flag corruption
        efi/runtime-wrappers: Remove redundant #ifdefs
        x86/efi: Move to generic {__,}efi_call_virt()
        arm/efi: Move to generic {__,}efi_call_virt()
        arm64/efi: Move to generic {__,}efi_call_virt()
        efi/runtime-wrappers: Add {__,}efi_call_virt() templates
        efi/arm-init: Reserve rather than unmap the memory map for ARM as well
        efi: Add misc char driver interface to update EFI firmware
        x86/efi: Force EFI reboot to process pending capsules
        efi: Add 'capsule' update support
        ...
      49817c33
    • Linus Torvalds's avatar
      Merge branch 'core-signals-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 230e51f2
      Linus Torvalds authored
      Pull core signal updates from Ingo Molnar:
       "These updates from Stas Sergeev and Andy Lutomirski, improve the
        sigaltstack interface by extending its ABI with the SS_AUTODISARM
        feature, which makes it possible to use swapcontext() in a sighandler
        that works on sigaltstack.  Without this flag, the subsequent signal
        will corrupt the state of the switched-away sighandler.
      
        The inspiration is more robust dosemu signal handling"
      
      * 'core-signals-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        signals/sigaltstack: Change SS_AUTODISARM to (1U << 31)
        signals/sigaltstack: Report current flag bits in sigaltstack()
        selftests/sigaltstack: Fix the sigaltstack test on old kernels
        signals/sigaltstack: If SS_AUTODISARM, bypass on_sig_stack()
        selftests/sigaltstack: Add new testcase for sigaltstack(SS_ONSTACK|SS_AUTODISARM)
        signals/sigaltstack: Implement SS_AUTODISARM flag
        signals/sigaltstack: Prepare to add new SS_xxx flags
        signals/sigaltstack, x86/signals: Unify the x86 sigaltstack check with other architectures
      230e51f2
    • Linus Torvalds's avatar
      Merge branch 'core-rcu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · a3871bd4
      Linus Torvalds authored
      Pull RCU updates from Ingo Molnar:
       "The main changes are:
      
         - Documentation updates, including fixes to the design-level
           requirements documentation and a fixed version of the design-level
           data-structure documentation.  These fixes include removing
           cartoons and getting rid of the html/htmlx duplication.
      
         - Further improvements to the new-age expedited grace periods.
      
         - Miscellaneous fixes.
      
         - Torture-test changes, including a new rcuperf module for measuring
           RCU grace-period performance and scalability, which is useful for
           the expedited-grace-period changes"
      
      * 'core-rcu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (56 commits)
        rcutorture: Add boot-time adjustment of leaf fanout
        rcutorture: Add irqs-disabled test for call_rcu()
        rcutorture: Dump trace buffer upon shutdown
        rcutorture: Don't rebuild identical kernel
        rcutorture: Add OS-jitter capability
        documentation: Add documentation for RCU's major data structures
        rcutorture: Convert test duration to seconds early
        torture: Kill qemu, not parent process
        torture: Clarify refusal to run more than one torture test
        rcutorture: Consider FROZEN hotplug notifier transitions
        rcutorture: Remove redundant initialization to zero
        rcuperf: Do not wake up shutdown wait queue if "shutdown" is false.
        rcutorture: Add largish-system rcuperf scenario
        rcutorture: Avoid RCU CPU stall warning and RT throttling
        rcutorture: Add rcuperf holdoff boot parameter to reduce interference
        rcutorture: Make scripts analyze rcuperf trace data, if present
        rcutorture: Make rcuperf collect expedited event-trace data
        rcutorture: Print measure of batching efficiency
        rcutorture: Set rcuperf writer kthreads to real-time priority
        rcutorture: Bind rcuperf reader/writer kthreads to CPUs
        ...
      a3871bd4
    • Linus Torvalds's avatar
      Merge branch 'core-lib-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 0052af44
      Linus Torvalds authored
      Pull core/lib update from Ingo Molnar:
       "This contains a single commit that removes an unused facility that the
        scheduler used to make use of"
      
      * 'core-lib-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        lib/proportions: Remove unused code
      0052af44
    • George Spelvin's avatar
      namei: Improve hash mixing if CONFIG_DCACHE_WORD_ACCESS · 0fed3ac8
      George Spelvin authored
      The hash mixing between adding the next 64 bits of name
      was just a bit weak.
      
      Replaced with a still very fast but slightly more effective
      mixing function.
      Signed-off-by: default avatarGeorge Spelvin <linux@horizon.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      0fed3ac8
    • Borislav Petkov's avatar
      locking/rwsem: Fix comment on register clobbering · 4544ba8c
      Borislav Petkov authored
      Document explicitly that %edx can get clobbered on the slow path, on
      32-bit kernels. Something I learned the hard way. :-\
      Suggested-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      Signed-off-by: default avatarBorislav Petkov <bp@suse.de>
      Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
      Cc: Andy Lutomirski <luto@amacapital.net>
      Cc: Arnaldo Carvalho de Melo <acme@redhat.com>
      Cc: Borislav Petkov <bp@alien8.de>
      Cc: Brian Gerst <brgerst@gmail.com>
      Cc: Denys Vlasenko <dvlasenk@redhat.com>
      Cc: Guenter Roeck <linux@roeck-us.net>
      Cc: H. Peter Anvin <hpa@zytor.com>
      Cc: Jiri Olsa <jolsa@redhat.com>
      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>
      Cc: linux-next@vger.kernel.org
      Link: http://lkml.kernel.org/r/20160516093428.GA26108@pd.tnicSigned-off-by: default avatarIngo Molnar <mingo@kernel.org>
      4544ba8c
  2. 15 May, 2016 3 commits
  3. 14 May, 2016 11 commits
  4. 13 May, 2016 13 commits
    • Linus Torvalds's avatar
      Merge branch 'for-4.6-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup · 1410b74e
      Linus Torvalds authored
      Pull cgroup fixes from Tejun Heo:
       "During v4.6-rc1 cgroup namespace support was merged.  There is an
        issue where it's impossible to tell whether a given cgroup mount point
        is bind mounted or namespaced.  Serge has been working on the issue
        but it took longer than expected to resolve, so the late pull request.
      
        Given that it's a completely new feature and the patches don't touch
        anything else, the risk seems acceptable.  However, if this is too
        late, an alternative is plugging new cgroup ns creation for v4.6 and
        retrying for v4.7"
      
      * 'for-4.6-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup:
        cgroup: fix compile warning
        kernfs: kernfs_sop_show_path: don't return 0 after seq_dentry call
        cgroup, kernfs: make mountinfo show properly scoped path for cgroup namespaces
        kernfs_path_from_node_locked: don't overwrite nlen
      1410b74e
    • Linus Torvalds's avatar
      Merge branch 'for-4.6-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq · da922239
      Linus Torvalds authored
      Pull workqueue fix from Tejun Heo:
       "CPU hotplug callbacks can invoke DOWN_FAILED w/o preceding
        DOWN_PREPARE which can trigger a WARN_ON() in workqueue.
      
        The bug has been there for a very long time.  It only triggers if CPU
        down fails at a specific point and I don't think it has adverse
        effects other than the warning messages.  The fix is very low impact"
      
      * 'for-4.6-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq:
        workqueue: fix rebind bound workers warning
      da922239
    • Linus Torvalds's avatar
      Merge branch 'sched-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 65643e3a
      Linus Torvalds authored
      Pull scheduler fix from Ingo Molnar:
       "This is a revert to fix an interactivity problem.
      
        The proper fixes for the problems that the reverted commit exposed are
        now in sched/core (consisting of 3 patches), but were too risky for
        v4.6 and will arrive in the v4.7 merge window"
      
      * 'sched-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        Revert "sched/fair: Fix fairness issue on migration"
      65643e3a
    • Linus Torvalds's avatar
      Merge branch 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · f7f4d43b
      Linus Torvalds authored
      Pull perf fixes from Ingo Molnar:
       "An uncharacteristically large number of bugs popped up in the last
        week:
      
         - various tooling fixes, two crashes and build problems
         - two Intel PT fixes
         - an KNL uncore driver fix
         - an Intel PMU driver fix"
      
      * 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        perf stat: Fallback to user only counters when perf_event_paranoid > 1
        perf evsel: Handle EACCESS + perf_event_paranoid=2 in fallback()
        perf evsel: Improve EPERM error handling in open_strerror()
        tools lib traceevent: Do not reassign parg after collapse_tree()
        perf probe: Check if dwarf_getlocations() is available
        perf dwarf: Guard !x86_64 definitions under #ifdef else clause
        perf tools: Use readdir() instead of deprecated readdir_r()
        perf thread_map: Use readdir() instead of deprecated readdir_r()
        perf script: Use readdir() instead of deprecated readdir_r()
        perf tools: Use readdir() instead of deprecated readdir_r()
        perf/core: Disable the event on a truncated AUX record
        perf/x86/intel/pt: Generate PMI in the STOP region as well
        perf/x86: Fix undefined shift on 32-bit kernels
        perf/x86/msr: Fix SMI overflow
        perf/x86/intel/uncore: Fix CHA registers configuration procedure for Knights Landing platform
        perf diff: Fix duplicated output column
      f7f4d43b
    • Linus Torvalds's avatar
      Merge tag 'fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · 18759462
      Linus Torvalds authored
      Pull ARM SoC fixes from Arnd Bergmann:
       "Three more bug fixes for ARM SoCs this week:
      
         - The Atmel sama5d2 was registering the wrong NFC device type
      
         - On Atmel sam9x5, the power management controller had an incorrect
           register area size
      
         - On ARM64 Allwinner machine was not secting the generic irqchip
           code, causing build errors in some configurations"
      
      * tag 'fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc:
        ARM: dts: at91: sam9x5: Fix the memory range assigned to the PMC
        arm64/sunxi: 4.6-rc1: Add dependency on generic irq chip
        ARM: dts: at91: sama5d2: use "atmel,sama5d3-nfc" compatible for nfc
      18759462
    • Linus Torvalds's avatar
      Merge tag 'regulator-fix-v4.6-rc7' of... · c3548b73
      Linus Torvalds authored
      Merge tag 'regulator-fix-v4.6-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator
      
      Pull regulator fixes from Mark Brown:
       "A small collection of driver specific fixes for the regulator
        subsysetem:
      
         - Fix handling of probe deferral for GPIO regulators
      
         - Fix a typo in the module alias for DA9053
      
         - Fix the definition of BUCK9 in the S2MPS11 driver.  This change
           looks larger than it is because an irregularity in the hardware
           means that the macro used to define bucks 6-10 needs duplicating
           and tweaking to have a separate macro for 9
      
         - Fix a series of errors in the definitions of the LDOs the AXP20x
           regulators, some of which had always been present and some of which
           were introduced in the merge window"
      
      * tag 'regulator-fix-v4.6-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator:
        regulator: da9063: Correct module alias prefix to fix module autoloading
        regulator: axp20x: Fix axp22x ldo_io registration error on cold boot
        regulator: axp20x: Fix axp22x ldo_io voltage ranges
        regulator: axp20x: Fix LDO4 linear voltage range
        regulator: s2mps11: Fix invalid selector mask and voltages for buck9
        regulator: gpio: check return value of of_get_named_gpio
      c3548b73
    • Linus Torvalds's avatar
      Merge tag 'regmap-fix-v4.6-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regmap · c42b8fe9
      Linus Torvalds authored
      Pull regmap fixes from Mark Brown:
       "This is rather too late so it'd be completely understandable if you
        don't want to pull it at this point, I had thought I'd sent this
        earlier but it seems I didn't.  Everything has been in -next for some
        time now.
      
        The main set of fixes here are mopping up some more issues with MMIO,
        fixing handling of endianness configuration in DT (which just wasn't
        working at all) and cases where the register and value endianness are
        different.
      
        There is also a fix for bulk register reads on SPMI"
      
      * tag 'regmap-fix-v4.6-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regmap:
        regmap: spmi: Fix regmap_spmi_ext_read in multi-byte case
        regmap: mmio: Explicitly say little endian is the defualt in the bus config
        regmap: mmio: Parse endianness definitions from DT
        regmap: Fix implicit inclusion of device.h
        regmap: mmio: Fix value endianness selection
        regmap: fix documentation to match code
      c42b8fe9
    • Linus Torvalds's avatar
      Merge tag 'media/v4.6-6' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media · 90fa7c7f
      Linus Torvalds authored
      Pull media fix from Mauro Carvalho Chehab:
       "A revert fixing a breakage that caused an OOPS on all VB2-based DVB
        drivers.
      
        We already have a proper fix, but it sounds safer to keep it being
        tested for a while and not hurry, to avoid the risk of another
        regression, specially since this is meant to be c/c to stable.  So,
        for now, let's just revert the broken patch"
      
      * tag 'media/v4.6-6' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media:
        Revert "[media] videobuf2-v4l2: Verify planes array in buffer dequeueing"
      90fa7c7f
    • Linus Torvalds's avatar
      Merge branch 'drm-fixes' of git://people.freedesktop.org/~airlied/linux · 9dcf8a58
      Linus Torvalds authored
      Pull drm fixes from Dave Airlie:
       "A bunch of radeon displayport mode setting fixes, and some misc i915
        fixes.
      
        There is one revert, the MST audio code in i915 was causing some
        oopses, so we've decided just to drop it until next kernel when we can
        fix it properly"
      
      * 'drm-fixes' of git://people.freedesktop.org/~airlied/linux:
        drm/amdgpu: fix DP mode validation
        drm/radeon: fix DP mode validation
        drm/i915: Bail out of pipe config compute loop on LPT
        drm/radeon: fix PLL sharing on DCE6.1 (v2)
        drm/radeon: fix DP link training issue with second 4K monitor
        Revert "drm/i915: start adding dp mst audio"
        drm/i915/bdw: Add missing delay during L3 SQC credit programming
        drm/i915/lvds: separate border enable readout from panel fitter
        drm/i915: Update CDCLK_FREQ register on BDW after changing cdclk frequency
      9dcf8a58
    • Linus Torvalds's avatar
      Merge branch 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6 · dc0f2f87
      Linus Torvalds authored
      Pull crypto fix from Herbert Xu:
       "This fixes a bug in the RSA self-test that may cause crashes on some
        architectures such as SPARC"
      
      * 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6:
        crypto: testmgr - Use kmalloc memory for RSA input
      dc0f2f87
    • Steven Rostedt's avatar
      ARM: Hide finish_arch_post_lock_switch() from modules · ef0491ea
      Steven Rostedt authored
      The introduction of switch_mm_irqs_off() brought back an old bug
      regarding the use of preempt_enable_no_resched:
      
      As part of:
      
        62b94a08 ("sched/preempt: Take away preempt_enable_no_resched() from modules")
      
      the definition of preempt_enable_no_resched() is only available in
      built-in code, not in loadable modules, so we can't generally use
      it from header files.
      
      However, the ARM version of finish_arch_post_lock_switch()
      calls preempt_enable_no_resched() and is defined as a static
      inline function in asm/mmu_context.h. This in turn means we cannot
      include asm/mmu_context.h from modules.
      
      With today's tip tree, asm/mmu_context.h gets included from
      linux/mmu_context.h, which is normally the exact pattern one would
      expect, but unfortunately, linux/mmu_context.h can be included from
      the vhost driver that is a loadable module, now causing this compile
      time error with modular configs:
      
        In file included from ../include/linux/mmu_context.h:4:0,
                         from ../drivers/vhost/vhost.c:18:
        ../arch/arm/include/asm/mmu_context.h: In function 'finish_arch_post_lock_switch':
        ../arch/arm/include/asm/mmu_context.h:88:3: error: implicit declaration of function 'preempt_enable_no_resched' [-Werror=implicit-function-declaration]
           preempt_enable_no_resched();
      
      Andy already tried to fix the bug by including linux/preempt.h
      from asm/mmu_context.h, but that didn't help. Arnd suggested reordering
      the header files, which wasn't popular, so let's use this
      workaround instead:
      
      The finish_arch_post_lock_switch() definition is now also hidden
      inside of #ifdef MODULE, so we don't see anything referencing
      preempt_enable_no_resched() from a header file. I've built a
      few hundred randconfig kernels with this, and did not see any
      new problems.
      Tested-by: default avatarGuenter Roeck <linux@roeck-us.net>
      Signed-off-by: default avatarSteven Rostedt <rostedt@goodmis.org>
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      Acked-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
      Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
      Cc: Andy Lutomirski <luto@amacapital.net>
      Cc: Andy Lutomirski <luto@kernel.org>
      Cc: Ard Biesheuvel <ard.biesheuvel@linaro.org>
      Cc: Arnaldo Carvalho de Melo <acme@redhat.com>
      Cc: Borislav Petkov <bp@suse.de>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: Jiri Olsa <jolsa@redhat.com>
      Cc: Linus Torvalds <torvalds@linux-foundation.org>
      Cc: Mel Gorman <mgorman@techsingularity.net>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Russell King - ARM Linux <linux@armlinux.org.uk>
      Cc: Stephane Eranian <eranian@google.com>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: Vince Weaver <vincent.weaver@maine.edu>
      Cc: linux-arm-kernel@lists.infradead.org
      Fixes: f98db601 ("sched/core: Add switch_mm_irqs_off() and use it in the scheduler")
      Link: http://lkml.kernel.org/r/1463146234-161304-1-git-send-email-arnd@arndb.deSigned-off-by: default avatarIngo Molnar <mingo@kernel.org>
      ef0491ea
    • Mateusz Guzik's avatar
      x86/arch_prctl/64: Restore accidentally removed put_cpu() in ARCH_SET_GS · 4afd0565
      Mateusz Guzik authored
      This fixes an oversight in:
      
      	731e33e3 ("Remove FSBASE/GSBASE < 4G optimization")
      Signed-off-by: default avatarMateusz Guzik <mguzik@redhat.com>
      Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
      Cc: Andy Lutomirski <luto@amacapital.net>
      Cc: Andy Lutomirski <luto@kernel.org>
      Cc: Arnaldo Carvalho de Melo <acme@redhat.com>
      Cc: Borislav Petkov <bp@alien8.de>
      Cc: Brian Gerst <brgerst@gmail.com>
      Cc: Denys Vlasenko <dvlasenk@redhat.com>
      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/1462913803-29634-1-git-send-email-mguzik@redhat.comSigned-off-by: default avatarIngo Molnar <mingo@kernel.org>
      4afd0565
    • Mark Brown's avatar
      Merge remote-tracking branches 'regulator/fix/axp20x', 'regulator/fix/da9063',... · 9689dab3
      Mark Brown authored
      Merge remote-tracking branches 'regulator/fix/axp20x', 'regulator/fix/da9063', 'regulator/fix/gpio' and 'regulator/fix/s2mps11' into regulator-linus
      9689dab3