1. 14 Oct, 2014 4 commits
  2. 13 Oct, 2014 14 commits
    • Linus Torvalds's avatar
      Merge branch 'x86-cpu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · f1d0d141
      Linus Torvalds authored
      Pull x86 cpu offlining patch from Ingo Molnar:
       "This tree includes a single commit that speeds up x86 suspend/resume
        by replacing a naive 100msec sleep based polling loop with proper
        completion notification.
      
        This gives some real suspend/resume benefit on servers with larger
        core counts"
      
      * 'x86-cpu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/smpboot: Speed up suspend/resume by avoiding 100ms sleep for CPU offline during S3
      f1d0d141
    • Linus Torvalds's avatar
      Merge branch 'x86-cleanups-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · bf10fa85
      Linus Torvalds authored
      Pull x86 cleanups from Ingo Molnar:
       "Three small cleanups"
      
      * 'x86-cleanups-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/tty/serial/8250: Clean up the asm/serial.h include file a bit
        x86/tty/serial/8250: Resolve missing-field-initializers warnings
        x86: Remove obsolete comment in uapi/e820.h
      bf10fa85
    • Linus Torvalds's avatar
      Merge branch 'x86-build-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 5941fe3b
      Linus Torvalds authored
      Pull x86 build update from Ingo Molnar:
       "A single commit that simplifies the no-FPU-ops build options"
      
      * 'x86-build-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/kbuild: Eliminate duplicate command line options
      5941fe3b
    • Linus Torvalds's avatar
      Merge branch 'x86-boot-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 19e00d59
      Linus Torvalds authored
      Pull x86 bootup updates from Ingo Molnar:
       "The changes in this cycle were:
      
         - Fix rare SMP-boot hang (mostly in virtual environments)
      
         - Fix build warning with certain (rare) toolchains"
      
      * 'x86-boot-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/relocs: Make per_cpu_load_addr static
        x86/smpboot: Initialize secondary CPU only if master CPU will wait for it
      19e00d59
    • Linus Torvalds's avatar
      Merge branch 'x86-asm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 197fe6b0
      Linus Torvalds authored
      Pull x86 asm updates from Ingo Molnar:
       "The changes in this cycle were:
      
         - Speed up the x86 __preempt_schedule() implementation
         - Fix/improve low level asm code debug info annotations"
      
      * 'x86-asm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86: Unwind-annotate thunk_32.S
        x86: Improve cmpxchg8b_emu.S
        x86: Improve cmpxchg16b_emu.S
        x86/lib/Makefile: Remove the unnecessary "+= thunk_64.o"
        x86: Speed up ___preempt_schedule*() by using THUNK helpers
      197fe6b0
    • Linus Torvalds's avatar
      Merge branch 'sched-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · faafcba3
      Linus Torvalds authored
      Pull scheduler updates from Ingo Molnar:
       "The main changes in this cycle were:
      
         - Optimized support for Intel "Cluster-on-Die" (CoD) topologies (Dave
           Hansen)
      
         - Various sched/idle refinements for better idle handling (Nicolas
           Pitre, Daniel Lezcano, Chuansheng Liu, Vincent Guittot)
      
         - sched/numa updates and optimizations (Rik van Riel)
      
         - sysbench speedup (Vincent Guittot)
      
         - capacity calculation cleanups/refactoring (Vincent Guittot)
      
         - Various cleanups to thread group iteration (Oleg Nesterov)
      
         - Double-rq-lock removal optimization and various refactorings
           (Kirill Tkhai)
      
         - various sched/deadline fixes
      
        ... and lots of other changes"
      
      * 'sched-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (72 commits)
        sched/dl: Use dl_bw_of() under rcu_read_lock_sched()
        sched/fair: Delete resched_cpu() from idle_balance()
        sched, time: Fix build error with 64 bit cputime_t on 32 bit systems
        sched: Improve sysbench performance by fixing spurious active migration
        sched/x86: Fix up typo in topology detection
        x86, sched: Add new topology for multi-NUMA-node CPUs
        sched/rt: Use resched_curr() in task_tick_rt()
        sched: Use rq->rd in sched_setaffinity() under RCU read lock
        sched: cleanup: Rename 'out_unlock' to 'out_free_new_mask'
        sched: Use dl_bw_of() under RCU read lock
        sched/fair: Remove duplicate code from can_migrate_task()
        sched, mips, ia64: Remove __ARCH_WANT_UNLOCKED_CTXSW
        sched: print_rq(): Don't use tasklist_lock
        sched: normalize_rt_tasks(): Don't use _irqsave for tasklist_lock, use task_rq_lock()
        sched: Fix the task-group check in tg_has_rt_tasks()
        sched/fair: Leverage the idle state info when choosing the "idlest" cpu
        sched: Let the scheduler see CPU idle states
        sched/deadline: Fix inter- exclusive cpusets migrations
        sched/deadline: Clear dl_entity params when setscheduling to different class
        sched/numa: Kill the wrong/dead TASK_DEAD check in task_numa_fault()
        ...
      faafcba3
    • Linus Torvalds's avatar
      Merge branch 'perf-watchdog-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 13ead805
      Linus Torvalds authored
      Pull watchdog fixes from Ingo Molnar:
       "Two small watchdog subsystem fixes"
      
      * 'perf-watchdog-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        watchdog: Fix print-once on enable
        watchdog: Remove unnecessary header files
      13ead805
    • Linus Torvalds's avatar
      Merge branch 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · ebf546cc
      Linus Torvalds authored
      Pull perf fixes from Ingo Molnar:
       "Two leftover fixes from the v3.17 cycle - these will be forwarded to
        stable as well, if they prove problem-free in wider testing as well"
      
      [ Side note: the "fix perf bug in fork()" fix had also come in through
        Andrew's patch-bomb   - Linus ]
      
      * 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        perf: Fix perf bug in fork()
        perf: Fix unclone_ctx() vs. locking
      ebf546cc
    • Linus Torvalds's avatar
      Merge branch 'perf-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 9d9420f1
      Linus Torvalds authored
      Pull perf updates from Ingo Molnar:
       "Kernel side updates:
      
         - Fix and enhance poll support (Jiri Olsa)
      
         - Re-enable inheritance optimization (Jiri Olsa)
      
         - Enhance Intel memory events support (Stephane Eranian)
      
         - Refactor the Intel uncore driver to be more maintainable (Zheng
           Yan)
      
         - Enhance and fix Intel CPU and uncore PMU drivers (Peter Zijlstra,
           Andi Kleen)
      
         - [ plus various smaller fixes/cleanups ]
      
        User visible tooling updates:
      
         - Add +field argument support for --field option, so that one can add
           fields to the default list of fields to show, ie now one can just
           do:
      
               perf report --fields +pid
      
           And the pid will appear in addition to the default fields (Jiri
           Olsa)
      
         - Add +field argument support for --sort option (Jiri Olsa)
      
         - Honour -w in the report tools (report, top), allowing to specify
           the widths for the histogram entries columns (Namhyung Kim)
      
         - Properly show submicrosecond times in 'perf kvm stat' (Christian
           Borntraeger)
      
         - Add beautifier for mremap flags param in 'trace' (Alex Snast)
      
         - perf script: Allow callchains if any event samples them
      
         - Don't truncate Intel style addresses in 'annotate' (Alex Converse)
      
         - Allow profiling when kptr_restrict == 1 for non root users, kernel
           samples will just remain unresolved (Andi Kleen)
      
         - Allow configuring default options for callchains in config file
           (Namhyung Kim)
      
         - Support operations for shared futexes.  (Davidlohr Bueso)
      
         - "perf kvm stat report" improvements by Alexander Yarygin:
             -  Save pid string in opts.target.pid
             -  Enable the target.system_wide flag
             -  Unify the title bar output
      
         - [ plus lots of other fixes and small improvements.  ]
      
        Tooling infrastructure changes:
      
         - Refactor unit and scale function parameters for PMU parsing
           routines (Matt Fleming)
      
         - Improve DSO long names lookup with rbtree, resulting in great
           speedup for workloads with lots of DSOs (Waiman Long)
      
         - We were not handling POLLHUP notifications for event file
           descriptors
      
           Fix it by filtering entries in the events file descriptor array
           after poll() returns, refcounting mmaps so that when the last fd
           pointing to a perf mmap goes away we do the unmap (Arnaldo Carvalho
           de Melo)
      
         - Intel PT prep work, from Adrian Hunter, including:
             - Let a user specify a PMU event without any config terms
             - Add perf-with-kcore script
             - Let default config be defined for a PMU
             - Add perf_pmu__scan_file()
             - Add a 'perf test' for tracking with sched_switch
             - Add 'flush' callback to scripting API
      
         - Use ring buffer consume method to look like other tools (Arnaldo
           Carvalho de Melo)
      
         - hists browser (used in top and report) refactorings, getting rid of
           unused variables and reducing source code size by handling similar
           cases in a fewer functions (Namhyung Kim).
      
         - Replace thread unsafe strerror() with strerror_r() accross the
           whole tools/perf/ tree (Masami Hiramatsu)
      
         - Rename ordered_samples to ordered_events and allow setting a queue
           size for ordering events (Jiri Olsa)
      
         - [ plus lots of fixes, cleanups and other improvements ]"
      
      * 'perf-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (198 commits)
        perf/x86: Tone down kernel messages when the PMU check fails in a virtual environment
        perf/x86/intel/uncore: Fix minor race in box set up
        perf record: Fix error message for --filter option not coming after tracepoint
        perf tools: Fix build breakage on arm64 targets
        perf symbols: Improve DSO long names lookup speed with rbtree
        perf symbols: Encapsulate dsos list head into struct dsos
        perf bench futex: Sanitize -q option in requeue
        perf bench futex: Support operations for shared futexes
        perf trace: Fix mmap return address truncation to 32-bit
        perf tools: Refactor unit and scale function parameters
        perf tools: Fix line number in the config file error message
        perf tools: Convert {record,top}.call-graph option to call-graph.record-mode
        perf tools: Introduce perf_callchain_config()
        perf callchain: Move some parser functions to callchain.c
        perf tools: Move callchain config from record_opts to callchain_param
        perf hists browser: Fix callchain print bug on TUI
        perf tools: Use ACCESS_ONCE() instead of volatile cast
        perf tools: Modify error code for when perf_session__new() fails
        perf tools: Fix perf record as non root with kptr_restrict == 1
        perf stat: Fix --per-core on multi socket systems
        ...
      9d9420f1
    • Linus Torvalds's avatar
      Merge branch 'locking-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 6d5f0ebf
      Linus Torvalds authored
      Pull core locking updates from Ingo Molnar:
       "The main updates in this cycle were:
      
         - mutex MCS refactoring finishing touches: improve comments, refactor
           and clean up code, reduce debug data structure footprint, etc.
      
         - qrwlock finishing touches: remove old code, self-test updates.
      
         - small rwsem optimization
      
         - various smaller fixes/cleanups"
      
      * 'locking-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        locking/lockdep: Revert qrwlock recusive stuff
        locking/rwsem: Avoid double checking before try acquiring write lock
        locking/rwsem: Move EXPORT_SYMBOL() lines to follow function definition
        locking/rwlock, x86: Delete unused asm/rwlock.h and rwlock.S
        locking/rwlock, x86: Clean up asm/spinlock*.h to remove old rwlock code
        locking/semaphore: Resolve some shadow warnings
        locking/selftest: Support queued rwlock
        locking/lockdep: Restrict the use of recursive read_lock() with qrwlock
        locking/spinlocks: Always evaluate the second argument of spin_lock_nested()
        locking/Documentation: Update locking/mutex-design.txt disadvantages
        locking/Documentation: Move locking related docs into Documentation/locking/
        locking/mutexes: Use MUTEX_SPIN_ON_OWNER when appropriate
        locking/mutexes: Refactor optimistic spinning code
        locking/mcs: Remove obsolete comment
        locking/mutexes: Document quick lock release when unlocking
        locking/mutexes: Standardize arguments in lock/unlock slowpaths
        locking: Remove deprecated smp_mb__() barriers
      6d5f0ebf
    • Linus Torvalds's avatar
      Merge branch 'locking-arch-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · dbb885fe
      Linus Torvalds authored
      Pull arch atomic cleanups from Ingo Molnar:
       "This is a series kept separate from the main locking tree, which
        cleans up and improves various details in the atomics type handling:
      
         - Remove the unused atomic_or_long() method
      
         - Consolidate and compress atomic ops implementations between
           architectures, to reduce linecount and to make it easier to add new
           ops.
      
         - Rewrite generic atomic support to only require cmpxchg() from an
           architecture - generate all other methods from that"
      
      * 'locking-arch-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (23 commits)
        locking,arch: Use ACCESS_ONCE() instead of cast to volatile in atomic_read()
        locking, mips: Fix atomics
        locking, sparc64: Fix atomics
        locking,arch: Rewrite generic atomic support
        locking,arch,xtensa: Fold atomic_ops
        locking,arch,sparc: Fold atomic_ops
        locking,arch,sh: Fold atomic_ops
        locking,arch,powerpc: Fold atomic_ops
        locking,arch,parisc: Fold atomic_ops
        locking,arch,mn10300: Fold atomic_ops
        locking,arch,mips: Fold atomic_ops
        locking,arch,metag: Fold atomic_ops
        locking,arch,m68k: Fold atomic_ops
        locking,arch,m32r: Fold atomic_ops
        locking,arch,ia64: Fold atomic_ops
        locking,arch,hexagon: Fold atomic_ops
        locking,arch,cris: Fold atomic_ops
        locking,arch,avr32: Fold atomic_ops
        locking,arch,arm64: Fold atomic_ops
        locking,arch,arm: Fold atomic_ops
        ...
      dbb885fe
    • Linus Torvalds's avatar
      Merge branch 'core-rcu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · d6dd50e0
      Linus Torvalds authored
      Pull RCU updates from Ingo Molnar:
       "The main changes in this cycle were:
      
         - changes related to No-CBs CPUs and NO_HZ_FULL
      
         - RCU-tasks implementation
      
         - torture-test updates
      
         - miscellaneous fixes
      
         - locktorture updates
      
         - RCU documentation updates"
      
      * 'core-rcu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (81 commits)
        workqueue: Use cond_resched_rcu_qs macro
        workqueue: Add quiescent state between work items
        locktorture: Cleanup header usage
        locktorture: Cannot hold read and write lock
        locktorture: Fix __acquire annotation for spinlock irq
        locktorture: Support rwlocks
        rcu: Eliminate deadlock between CPU hotplug and expedited grace periods
        locktorture: Document boot/module parameters
        rcutorture: Rename rcutorture_runnable parameter
        locktorture: Add test scenario for rwsem_lock
        locktorture: Add test scenario for mutex_lock
        locktorture: Make torture scripting account for new _runnable name
        locktorture: Introduce torture context
        locktorture: Support rwsems
        locktorture: Add infrastructure for torturing read locks
        torture: Address race in module cleanup
        locktorture: Make statistics generic
        locktorture: Teach about lock debugging
        locktorture: Support mutexes
        locktorture: Add documentation
        ...
      d6dd50e0
    • Linus Torvalds's avatar
      Merge tag 'xfs-for-linus-3.18-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/dgc/linux-xfs · 5ff0b9e1
      Linus Torvalds authored
      Pull xfs update from Dave Chinner:
       "This update contains:
         - various cleanups
         - log recovery debug hooks
         - seek hole/data implementation merge
         - extent shift rework to fix collapse range bugs
         - various sparse warning fixes
         - log recovery transaction processing rework to fix use after free
           bugs
         - metadata buffer IO infrastructuer rework to ensure all buffers
           under IO have valid reference counts
         - various fixes for ondisk flags, writeback and zero range corner
           cases"
      
      * tag 'xfs-for-linus-3.18-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/dgc/linux-xfs: (56 commits)
        xfs: fix agno increment in xfs_inumbers() loop
        xfs: xfs_iflush_done checks the wrong log item callback
        xfs: flush the range before zero range conversion
        xfs: restore buffer_head unwritten bit on ioend cancel
        xfs: check for null dquot in xfs_quota_calc_throttle()
        xfs: fix crc field handling in xfs_sb_to/from_disk
        xfs: don't send null bp to xfs_trans_brelse()
        xfs: check for inode size overflow in xfs_new_eof()
        xfs: only set extent size hint when asked
        xfs: project id inheritance is a directory only flag
        xfs: kill time.h
        xfs: compat_xfs_bstat does not have forkoff
        xfs: simplify xfs_zero_remaining_bytes
        xfs: check xfs_buf_read_uncached returns correctly
        xfs: introduce xfs_buf_submit[_wait]
        xfs: kill xfs_bioerror_relse
        xfs: xfs_bioerror can die.
        xfs: kill xfs_bdstrat_cb
        xfs: rework xfs_buf_bio_endio error handling
        xfs: xfs_buf_ioend and xfs_buf_iodone_work duplicate functionality
        ...
      5ff0b9e1
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs · 77c688ac
      Linus Torvalds authored
      Pull vfs updates from Al Viro:
       "The big thing in this pile is Eric's unmount-on-rmdir series; we
        finally have everything we need for that.  The final piece of prereqs
        is delayed mntput() - now filesystem shutdown always happens on
        shallow stack.
      
        Other than that, we have several new primitives for iov_iter (Matt
        Wilcox, culled from his XIP-related series) pushing the conversion to
        ->read_iter()/ ->write_iter() a bit more, a bunch of fs/dcache.c
        cleanups and fixes (including the external name refcounting, which
        gives consistent behaviour of d_move() wrt procfs symlinks for long
        and short names alike) and assorted cleanups and fixes all over the
        place.
      
        This is just the first pile; there's a lot of stuff from various
        people that ought to go in this window.  Starting with
        unionmount/overlayfs mess...  ;-/"
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs: (60 commits)
        fs/file_table.c: Update alloc_file() comment
        vfs: Deduplicate code shared by xattr system calls operating on paths
        reiserfs: remove pointless forward declaration of struct nameidata
        don't need that forward declaration of struct nameidata in dcache.h anymore
        take dname_external() into fs/dcache.c
        let path_init() failures treated the same way as subsequent link_path_walk()
        fix misuses of f_count() in ppp and netlink
        ncpfs: use list_for_each_entry() for d_subdirs walk
        vfs: move getname() from callers to do_mount()
        gfs2_atomic_open(): skip lookups on hashed dentry
        [infiniband] remove pointless assignments
        gadgetfs: saner API for gadgetfs_create_file()
        f_fs: saner API for ffs_sb_create_file()
        jfs: don't hash direct inode
        [s390] remove pointless assignment of ->f_op in vmlogrdr ->open()
        ecryptfs: ->f_op is never NULL
        android: ->f_op is never NULL
        nouveau: __iomem misannotations
        missing annotation in fs/file.c
        fs: namespace: suppress 'may be used uninitialized' warnings
        ...
      77c688ac
  3. 12 Oct, 2014 22 commits
    • Dave Chinner's avatar
      6889e783
    • Eric Sandeen's avatar
      xfs: fix agno increment in xfs_inumbers() loop · a8b1ee8b
      Eric Sandeen authored
      caused a regression in xfs_inumbers, which in turn broke
      xfsdump, causing incomplete dumps.
      
      The loop in xfs_inumbers() needs to fill the user-supplied
      buffers, and iterates via xfs_btree_increment, reading new
      ags as needed.
      
      But the first time through the loop, if xfs_btree_increment()
      succeeds, we continue, which triggers the ++agno at the bottom
      of the loop, and we skip to soon to the next ag - without
      the proper setup under next_ag to read the next ag.
      
      Fix this by removing the agno increment from the loop conditional,
      and only increment agno if we have actually hit the code under
      the next_ag: target.
      
      Cc: stable@vger.kernel.org
      Signed-off-by: default avatarEric Sandeen <sandeen@redhat.com>
      Reviewed-by: default avatarDave Chinner <dchinner@redhat.com>
      Signed-off-by: default avatarDave Chinner <david@fromorbit.com>
      a8b1ee8b
    • Eric Biggers's avatar
      fs/file_table.c: Update alloc_file() comment · a457606a
      Eric Biggers authored
      This comment is 5 years outdated; init_file() no longer exists.
      Signed-off-by: default avatarEric Biggers <ebiggers3@gmail.com>
      Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
      a457606a
    • Eric Biggers's avatar
      vfs: Deduplicate code shared by xattr system calls operating on paths · 8cc43116
      Eric Biggers authored
      The following pairs of system calls dealing with extended attributes only
      differ in their behavior on whether the symbolic link is followed (when
      the named file is a symbolic link):
      
      - setxattr() and lsetxattr()
      - getxattr() and lgetxattr()
      - listxattr() and llistxattr()
      - removexattr() and lremovexattr()
      
      Despite this, the implementations all had duplicated code, so this commit
      redirects each of the above pairs of system calls to a corresponding
      function to which different lookup flags (LOOKUP_FOLLOW or 0) are passed.
      
      For me this reduced the stripped size of xattr.o from 8824 to 8248 bytes.
      Signed-off-by: default avatarEric Biggers <ebiggers3@gmail.com>
      Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
      8cc43116
    • Al Viro's avatar
    • Al Viro's avatar
    • Al Viro's avatar
      take dname_external() into fs/dcache.c · 810bb172
      Al Viro authored
      never used outside and it's too low-level for legitimate uses outside
      of fs/dcache.c anyway
      Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
      810bb172
    • Al Viro's avatar
      let path_init() failures treated the same way as subsequent link_path_walk() · 115cbfdc
      Al Viro authored
      As it is, path_lookupat() and path_mounpoint() might end up leaking struct file
      reference in some cases.
      Spotted-by: default avatarEric Biggers <ebiggers3@gmail.com>
      Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
      115cbfdc
    • Linus Torvalds's avatar
      Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security · 5e40d331
      Linus Torvalds authored
      Pull security subsystem updates from James Morris.
      
      Mostly ima, selinux, smack and key handling updates.
      
      * 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security: (65 commits)
        integrity: do zero padding of the key id
        KEYS: output last portion of fingerprint in /proc/keys
        KEYS: strip 'id:' from ca_keyid
        KEYS: use swapped SKID for performing partial matching
        KEYS: Restore partial ID matching functionality for asymmetric keys
        X.509: If available, use the raw subjKeyId to form the key description
        KEYS: handle error code encoded in pointer
        selinux: normalize audit log formatting
        selinux: cleanup error reporting in selinux_nlmsg_perm()
        KEYS: Check hex2bin()'s return when generating an asymmetric key ID
        ima: detect violations for mmaped files
        ima: fix race condition on ima_rdwr_violation_check and process_measurement
        ima: added ima_policy_flag variable
        ima: return an error code from ima_add_boot_aggregate()
        ima: provide 'ima_appraise=log' kernel option
        ima: move keyring initialization to ima_init()
        PKCS#7: Handle PKCS#7 messages that contain no X.509 certs
        PKCS#7: Better handling of unsupported crypto
        KEYS: Overhaul key identification when searching for asymmetric keys
        KEYS: Implement binary asymmetric key ID handling
        ...
      5e40d331
    • Linus Torvalds's avatar
      Merge branch 'parisc-3.18-1' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux · d0ca4757
      Linus Torvalds authored
      Pull parisc fix from Helge Deller:
       "This patch intentionally breaks the ABI on PARISC Linux!
      
        It assigns new numbers to SIGSTKFLT, SIGXCPU, SIGXFSZ and SIGSYS so
        that those are below 32 and thus leaves us with 32 RT signals like
        other Linux architectures (SIGRTMIN now becomes 32 instead of 37).
      
        Even if it breaks the ABI, it doesn't seem to have any visible impact
        on existing userspace applications.  I was able to mix new kernel
        and/or glibc without impacting normal bootup.  So, even if it breaks
        the ABI, the benefits (e.g.  being able to use systemd on PARISC
        Linux) outperforms the minimal (if any) impact it gives.
      
        The patch has been discussed on the parisc kernel mailing list and the
        coresponding glibc patch will be committed by the parisc glibc
        maintainer after this patch went into 3.18.
      
        Some more background information about this patch is in the commit
        message"
      
      [ Side note: the "no regressions" rule has always been about *users*,
        not ABI's.  You can change ABI's all you like, until somebody actually
        notices.  At that point it gets reverted regardless of how good your
        reasons and excuses.
      
        And admittedly, with parisc, the distinct lack of many users makes
        that fairly unlikely anyway :^p    - Linus ]
      
      * 'parisc-3.18-1' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux:
        parisc: Reduce SIGRTMIN from 37 to 32 to behave like other Linux architectures
      d0ca4757
    • Linus Torvalds's avatar
      Merge tag 'platform-drivers-x86-v3.18-1' of... · 4ee9f611
      Linus Torvalds authored
      Merge tag 'platform-drivers-x86-v3.18-1' of git://git.infradead.org/users/dvhart/linux-platform-drivers-x86
      
      Pull x86 platform driver updates from Darren Hart:
       "The following have all spent at least a few days in linux-next, most
        for more than a week.  These are mostly cleanups and error handling
        improvements with a few updates to extend existing support to newer
        hardware.
      
        Details:
         - dell-wmi: fix access out of memory
         - eeepc-laptop: cleanups, refactoring, sysfs perms, and improved
           error handling
         - intel-rst: ACPI and error handling cleanups
         - thinkpad-acpi: whitespace cleanup
         - toshiba_acpi: HCI/SCI interface update, keyboard backlight type 2
           support, new scancodes, cleanups"
      
      * tag 'platform-drivers-x86-v3.18-1' of git://git.infradead.org/users/dvhart/linux-platform-drivers-x86: (23 commits)
        toshiba_acpi: Adapt kbd_bl_timeout_store to the new kbd type
        toshiba_acpi: Change HCI/SCI functions return code type
        toshiba_acpi: Unify return codes prefix from HCI/SCI to TOS
        toshiba_acpi: Rename hci_raw to tci_raw
        dell-wmi: Fix access out of memory
        eeepc-laptop: clean up control flow in *_rfkill_notifier
        eeepc-laptop: store_cpufv: return error if set_acpi fails
        eeepc-laptop: check proper return values in get_cpufv
        eeepc-laptop: make fan1_input really read-only
        eeepc-laptop: pull out SENSOR_STORE_FUNC and SENSOR_SHOW_FUNC macros
        eeepc-laptop: tell sysfs that the disp attribute is write-only
        eeepc-laptop: pull out ACPI_STORE_FUNC and ACPI_SHOW_FUNC macros
        eeepc-laptop: use DEVICE_ATTR* to instantiate device_attributes
        eeepc-laptop: change sysfs function names to API expectations
        eeepc-laptop: clean up coding style
        eeepc-laptop: simplify parse_arg()
        intel-rst: Clean up ACPI add function
        intel-rst: Use ACPI_FAILURE() macro instead !ACPI_SUCCESS() for error checking
        x86: thinkpad_acpi.c: fixed spacing coding style issue
        toshiba_acpi: Support new keyboard backlight type
        ...
      4ee9f611
    • Linus Torvalds's avatar
      Merge tag 'tiny/no-advice-fixup-3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/josh/linux · ce254b34
      Linus Torvalds authored
      Pull tinification fix from Josh "Paper Bag" Triplett:
       "Fixup to use PATCHv2 of 'mm: Support compiling out madvise and
        fadvise'"
      
      * tag 'tiny/no-advice-fixup-3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/josh/linux:
        mm: Support fadvise without CONFIG_MMU
      ce254b34
    • Linus Torvalds's avatar
      Merge tag 'kselftest-3.18-updates-1' of... · 47e0de1a
      Linus Torvalds authored
      Merge tag 'kselftest-3.18-updates-1' of git://git.kernel.org/pub/scm/linux/kernel/git/shuah/linux-kselftest
      
      Pull kselftest updates from Shuah Khan:
       - fix for missing arguments to printf
       - fix to build failures on 32-bit systems.
       - enhancement to run memfd_test run on all architectures as most
         architectures support __NR_memfd_create
      
      * tag 'kselftest-3.18-updates-1' of git://git.kernel.org/pub/scm/linux/kernel/git/shuah/linux-kselftest:
        selftests/memfd: Run test on all architectures
        memfd_test: Add missing argument to printf()
        memfd_test: Make it work on 32-bit systems
      47e0de1a
    • Linus Torvalds's avatar
      Merge tag 'ftracetest-3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace · 90eac7ee
      Linus Torvalds authored
      Pull ftrace test code from Steven Rostedt:
       "This patch series starts a new selftests section in the
        tools/testing/selftest directory called "ftrace" that holds tests
        aimed at testing ftrace and subsystems that use ftrace (like kprobes).
      
        So far only a few tests were written (by Masami Hiramatsu), but more
        will be added in the near future (3.19)"
      
      * tag 'ftracetest-3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace:
        tracing/kprobes: Add selftest scripts testing kprobe-tracer as startup test
        ftracetest: Add POSIX.3 standard and XFAIL result codes
        ftracetest: Add kprobe basic testcases
        ftracetest: Add ftrace basic testcases
        ftracetest: Initial commit for ftracetest
      90eac7ee
    • Linus Torvalds's avatar
      Merge tag 'ktest-v3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-ktest · 6bbcb1d3
      Linus Torvalds authored
      Pull ktest update from Steven Rostedt:
       "A fix and a clean up to ktest, as well as two small features.
      
         - A way to allow users to skip a manual bisect.
         - Allowing cherry picked patches to be tested.
      
        The cherry pick worked for a test I needed, but stressing it may not
        have all the desired effects.  It doesn't cause any regressions so I
        kept it in"
      
      * tag 'ktest-v3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-ktest:
        ktest: Don't bother with bisect good or bad on replay
        ktest: Fix check for new kernel success on rebooting to good kernel
        ktest: add ability to skip during BISECT_MANUAL
        ktest: Add PATCHCHECK_CHERRY
      6bbcb1d3
    • Linus Torvalds's avatar
      Merge tag 'trace-3.18-2' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace · 8df6be11
      Linus Torvalds authored
      Pull tracing fixes from Steven Rostedt:
       "Seems that Peter Zijlstra added a new check that is making old code
        scream nasty warnings:
      
          WARNING: CPU: 0 PID: 91 at kernel/sched/core.c:7253 __might_sleep+0x9a/0x378()
          do not call blocking ops when !TASK_RUNNING; state=1 set at [<ffffffff8d79b511>] event_test_thread+0x48/0x93
          Call Trace:
            __might_sleep+0x9a/0x378
            down_read+0x26/0x98
            exit_signals+0x27/0x1c2
            do_exit+0x193/0x10bd
            kthread+0x156/0x156
            ret_from_fork+0x7a/0xb0
      
        These are triggered by some self tests that run at start up when
        configure in.  Although the code is technically correct, they are a
        little sloppy and not very robust.  They work now because it runs at
        boot up and the tests do not call anything that might trigger a
        spurious wake up.  But that doesn't mean those tests wont change in
        the future.
      
        It's best to clean them now to make sure the tests used to test the
        internal workings of the system don't cause breakage themselves.
      
        This also quiets the warnings made by the new checks"
      
      * tag 'trace-3.18-2' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace:
        tracing: Clean up scheduling in trace_wakeup_test_thread()
        tracing: Robustify wait loop
      8df6be11
    • Linus Torvalds's avatar
      Merge tag 'trace-3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace · 9837acff
      Linus Torvalds authored
      Pull tracing updates from Steven Rostedt:
       "This set has a few minor updates, but the big change is the redesign
        of the trampoline logic.
      
        The trampoline logic of 3.17 required a descriptor for every function
        that is registered to be traced and uses a trampoline.  Currently,
        only the function graph tracer uses a trampoline, but if you were to
        trace all 32,000 (give or take a few thousand) functions with the
        function graph tracer, it would create 32,000 descriptors to let us
        know that there's a trampoline associated with it.  This takes up a
        bit of memory when there's a better way to do it.
      
        The redesign now reuses the ftrace_ops' (what registers the function
        graph tracer) hash tables.  The hash tables tell ftrace what the
        tracer wants to trace or doesn't want to trace.  There's two of them:
        one that tells us what to trace, the other tells us what not to trace.
        If the first one is empty, it means all functions should be traced,
        otherwise only the ones that are listed should be.  The second hash
        table tells us what not to trace, and if it is empty, all functions
        may be traced, and if there's any listed, then those should not be
        traced even if they exist in the first hash table.
      
        It took a bit of massaging, but now these hashes can be used to keep
        track of what has a trampoline and what does not, and allows the
        ftrace accounting to work.  Now we can trace all functions when using
        the function graph trampoline, and avoid needing to create any special
        descriptors to hold all the functions that are being traced"
      
      * tag 'trace-3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace:
        ftrace: Only disable ftrace_enabled to test buffer in selftest
        ftrace: Add sanity check when unregistering last ftrace_ops
        kernel: trace_syscalls: Replace rcu_assign_pointer() with RCU_INIT_POINTER()
        tracing: generate RCU warnings even when tracepoints are disabled
        ftrace: Replace tramp_hash with old_*_hash to save space
        ftrace: Annotate the ops operation on update
        ftrace: Grab any ops for a rec for enabled_functions output
        ftrace: Remove freeing of old_hash from ftrace_hash_move()
        ftrace: Set callback to ftrace_stub when no ops are registered
        ftrace: Add helper function ftrace_ops_get_func()
        ftrace: Add separate function for non recursive callbacks
      9837acff
    • Helge Deller's avatar
      parisc: Reduce SIGRTMIN from 37 to 32 to behave like other Linux architectures · 1f25df2e
      Helge Deller authored
      This patch reduces the value of SIGRTMIN on PARISC from 37 to 32, thus
      increasing the number of available RT signals and bring it in sync with other
      Linux architectures.
      
      Historically we wanted to natively support HP-UX 32bit binaries with the
      PA-RISC Linux port.  Because of that we carried the various available signals
      from HP-UX (e.g. SIGEMT and SIGLOST) and folded them in between the native
      Linux signals.  Although this was the right decision at that time, this
      required us to increase SIGRTMIN to at least 37 which left us with 27 (64-37)
      RT signals.
      
      Those 27 RT signals haven't been a problem in the past, but with the upcoming
      importance of systemd we now got the problem that systemd alloctes (hardcoded)
      signals up to SIGRTMIN+29 which is beyond our NSIG of 64. Because of that we
      have not been able to use systemd on the PARISC Linux port yet.
      
      Of course we could ask the systemd developers to not use those hardcoded
      values, but this change is very unlikely, esp. with PA-RISC being a niche
      architecture.
      
      The other possibility would be to increase NSIG to e.g. 128, but this would
      mean to duplicate most of the existing Linux signal handling code into the
      parisc specific Linux kernel tree which would most likely introduce lots of new
      bugs beside the code duplication.
      
      The third option is to drop some HP-UX signals and shuffle some other signals
      around to bring SIGRTMIN to 32.  This is of course an ABI change, but testing
      has shown that existing Linux installations are not visibly affected by this
      change - most likely because we move those signals around which are rarely used
      and move them to slots which haven't been used in Linux yet. In an existing
      installation I was able to exchange either the Linux kernel or glibc (or both)
      without affecting the boot process and installed applications.
      
      Dropping the HP-UX signals isn't an issue either, since support for HP-UX was
      basically dropped a few months back with Kernel 3.14 in commit
      f5a408d5 already, when we changed EWOULDBLOCK
      to be equal to EAGAIN.
      
      So, even if this is an ABI change, it's better to change it now and thus bring
      PARISC Linux in sync with other architectures to avoid other issues in the
      future.
      Signed-off-by: default avatarHelge Deller <deller@gmx.de>
      Cc: Carlos O'Donell <carlos@systemhalted.org>
      Cc: John David Anglin <dave.anglin@bell.net>
      Cc: James Bottomley <James.Bottomley@HansenPartnership.com>
      Cc: Aaro Koskinen <aaro.koskinen@iki.fi>
      Cc: PARISC Linux Kernel Mailinglist <linux-parisc@vger.kernel.org>
      Tested-by: default avatarAaro Koskinen <aaro.koskinen@iki.fi>
      1f25df2e
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net · ca321885
      Linus Torvalds authored
      Pull networking fixes from David Miller:
       "This set fixes a bunch of fallout from the changes that went in during
        this merge window, particularly:
      
         - Fix fsl_pq_mdio (Claudiu Manoil) and fm10k (Pranith Kumar) build
           failures.
      
         - Several networking drivers do atomic_set() on page counts where
           that's not exactly legal.  From Eric Dumazet.
      
         - Make __skb_flow_get_ports() work cleanly with unaligned data, from
           Alexander Duyck.
      
         - Fix some kernel-doc buglets in rfkill and netlabel, from Fabian
           Frederick.
      
         - Unbalanced enable_irq_wake usage in bcmgenet and systemport
           drivers, from Florian Fainelli.
      
         - pxa168_eth needs to depend on HAS_DMA, from Geert Uytterhoeven.
      
         - Multi-dequeue in the qdisc layer severely bypasses the fairness
           limits the previous code used to enforce, reintroduce in a way that
           at the same time doesn't compromise bulk dequeue opportunities.
           From Jesper Dangaard Brouer.
      
         - macvlan receive path unnecessarily hops through a softirq by using
           netif_rx() instead of netif_receive_skb().  From Jason Baron"
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (51 commits)
        net: systemport: avoid unbalanced enable_irq_wake calls
        net: bcmgenet: avoid unbalanced enable_irq_wake calls
        net: bcmgenet: fix off-by-one in incrementing read pointer
        net: fix races in page->_count manipulation
        mlx4: fix race accessing page->_count
        ixgbe: fix race accessing page->_count
        igb: fix race accessing page->_count
        fm10k: fix race accessing page->_count
        net/phy: micrel: Add clock support for KSZ8021/KSZ8031
        flow-dissector: Fix alignment issue in __skb_flow_get_ports
        net: filter: fix the comments
        Documentation: replace __sk_run_filter with __bpf_prog_run
        macvlan: optimize the receive path
        macvlan: pass 'bool' type to macvlan_count_rx()
        drivers: net: xgene: Add 10GbE ethtool support
        drivers: net: xgene: Add 10GbE support
        drivers: net: xgene: Preparing for adding 10GbE support
        dtb: Add 10GbE node to APM X-Gene SoC device tree
        Documentation: dts: Update section header for APM X-Gene
        MAINTAINERS: Update APM X-Gene section
        ...
      ca321885
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc · 052db7ec
      Linus Torvalds authored
      Pull sparc updates from David Miller:
      
       1) Move to 4-level page tables on sparc64 and support up to 53-bits of
          physical addressing.  Kernel static image BSS size reduced by
          several megabytes.
      
       2) M6/M7 cpu support, from Allan Pais.
      
       3) Move to sparse IRQs, handle hypervisor TLB call errors more
          gracefully, and add T5 perf_event support.  From Bob Picco.
      
       4) Recognize cdroms and compute geometry from capacity in virtual disk
          driver, also from Allan Pais.
      
       5) Fix memset() return value on sparc32, from Andreas Larsson.
      
       6) Respect gfp flags in dma_alloc_coherent on sparc32, from Daniel
          Hellstrom.
      
       7) Fix handling of compound pages in virtual disk driver, from Dwight
          Engen.
      
       8) Fix lockdep warnings in LDC layer by moving IRQ requesting to
          ldc_alloc() from ldc_bind().
      
       9) Increase boot string length to 1024 bytes, from Dave Kleikamp.
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc: (31 commits)
        sparc64: Fix lockdep warnings on reboot on Ultra-5
        sparc64: Increase size of boot string to 1024 bytes
        sparc64: Kill unnecessary tables and increase MAX_BANKS.
        sparc64: sparse irq
        sparc64: Adjust vmalloc region size based upon available virtual address bits.
        sparc64: Increase MAX_PHYS_ADDRESS_BITS to 53.
        sparc64: Use kernel page tables for vmemmap.
        sparc64: Fix physical memory management regressions with large max_phys_bits.
        sparc64: Adjust KTSB assembler to support larger physical addresses.
        sparc64: Define VA hole at run time, rather than at compile time.
        sparc64: Switch to 4-level page tables.
        sparc64: Fix reversed start/end in flush_tlb_kernel_range()
        sparc64: Add vio_set_intr() to enable/disable Rx interrupts
        vio: fix reuse of vio_dring slot
        sunvdc: limit each sg segment to a page
        sunvdc: compute vdisk geometry from capacity
        sunvdc: add cdrom and v1.1 protocol support
        sparc: VIO protocol version 1.6
        sparc64: Fix hibernation code refrence to PAGE_OFFSET.
        sparc64: Move request_irq() from ldc_bind() to ldc_alloc()
        ...
      052db7ec
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mpe/linux · fd9879b9
      Linus Torvalds authored
      Pull powerpc updates from Michael Ellerman:
       "Here's a first pull request for powerpc updates for 3.18.
      
        The bulk of the additions are for the "cxl" driver, for IBM's Coherent
        Accelerator Processor Interface (CAPI).  Most of it's in drivers/misc,
        which Greg & Arnd maintain, Greg said he was happy for us to take it
        through our tree.
      
        There's the usual minor cleanups and fixes, including a bit of noise
        in drivers from some of those.  A bunch of updates to our EEH code,
        which has been getting more testing.  Several nice speedups from
        Anton, including 20% in clear_page().
      
        And a bunch of updates for freescale from Scott"
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mpe/linux: (130 commits)
        cxl: Fix afu_read() not doing finish_wait() on signal or non-blocking
        cxl: Add documentation for userspace APIs
        cxl: Add driver to Kbuild and Makefiles
        cxl: Add userspace header file
        cxl: Driver code for powernv PCIe based cards for userspace access
        cxl: Add base builtin support
        powerpc/mm: Add hooks for cxl
        powerpc/opal: Add PHB to cxl mode call
        powerpc/mm: Add new hash_page_mm()
        powerpc/powerpc: Add new PCIe functions for allocating cxl interrupts
        cxl: Add new header for call backs and structs
        powerpc/powernv: Split out set MSI IRQ chip code
        powerpc/mm: Export mmu_kernel_ssize and mmu_linear_psize
        powerpc/msi: Improve IRQ bitmap allocator
        powerpc/cell: Make spu_flush_all_slbs() generic
        powerpc/cell: Move data segment faulting code out of cell platform
        powerpc/cell: Move spu_handle_mm_fault() out of cell platform
        powerpc/pseries: Use new defines when calling H_SET_MODE
        powerpc: Update contact info in Documentation files
        powerpc/perf/hv-24x7: Simplify catalog_read()
        ...
      fd9879b9
    • Linus Torvalds's avatar
      Merge tag 'stable/for-linus-3.18-rc0-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip · 81ae31d7
      Linus Torvalds authored
      Pull Xen updates from David Vrabel:
       "Features and fixes:
      
         - Add pvscsi frontend and backend drivers.
         - Remove _PAGE_IOMAP PTE flag, freeing it for alternate uses.
         - Try and keep memory contiguous during PV memory setup (reduces
           SWIOTLB usage).
         - Allow front/back drivers to use threaded irqs.
         - Support large initrds in PV guests.
         - Fix PVH guests in preparation for Xen 4.5"
      
      * tag 'stable/for-linus-3.18-rc0-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip: (22 commits)
        xen: remove DEFINE_XENBUS_DRIVER() macro
        xen/xenbus: Remove BUG_ON() when error string trucated
        xen/xenbus: Correct the comments for xenbus_grant_ring()
        x86/xen: Set EFER.NX and EFER.SCE in PVH guests
        xen: eliminate scalability issues from initrd handling
        xen: sync some headers with xen tree
        xen: make pvscsi frontend dependant on xenbus frontend
        arm{,64}/xen: Remove "EXPERIMENTAL" in the description of the Xen options
        xen-scsifront: don't deadlock if the ring becomes full
        x86: remove the Xen-specific _PAGE_IOMAP PTE flag
        x86/xen: do not use _PAGE_IOMAP PTE flag for I/O mappings
        x86: skip check for spurious faults for non-present faults
        xen/efi: Directly include needed headers
        xen-scsiback: clean up a type issue in scsiback_make_tpg()
        xen-scsifront: use GFP_ATOMIC under spin_lock
        MAINTAINERS: Add xen pvscsi maintainer
        xen-scsiback: Add Xen PV SCSI backend driver
        xen-scsifront: Add Xen PV SCSI frontend driver
        xen: Add Xen pvSCSI protocol description
        xen/events: support threaded irqs for interdomain event channels
        ...
      81ae31d7