14 Oct, 2014

8 commits

  • format_corename() can only pass the leader's pid to the core handler,
    but there is no simple way to figure out which thread originated the
    coredump.

    As Jan explains, this also means that there is no simple way to create
    the backtrace of the crashed process:

    As programs are mostly compiled with implicit gcc -fomit-frame-pointer
    one needs program's .eh_frame section (equivalently PT_GNU_EH_FRAME
    segment) or .debug_frame section. .debug_frame usually is present only
    in separate debug info files usually not even installed on the system.
    While .eh_frame is a part of the executable/library (and it is even
    always mapped for C++ exceptions unwinding) it no longer has to be
    present anywhere on the disk as the program could be upgraded in the
    meantime and the running instance has its executable file already
    unlinked from disk.

    One possibility is to echo 0x3f >/proc/*/coredump_filter and dump all
    the file-backed memory including the executable's .eh_frame section.
    But that can create huge core files, for example even due to mmapped
    data files.

    Other possibility would be to read .eh_frame from /proc/PID/mem at the
    core_pattern handler time of the core dump. For the backtrace one needs
    to read the register state first which can be done from core_pattern
    handler:

    ptrace(PTRACE_SEIZE, tid, 0, PTRACE_O_TRACEEXIT)
    close(0); // close pipe fd to resume the sleeping dumper
    waitpid(); // should report EXIT
    PTRACE_GETREGS or other requests

    The remaining problem is how to get the 'tid' value of the crashed
    thread. It could be read from the first NT_PRSTATUS note of the core
    file but that makes the core_pattern handler complicated.

    Unfortunately %t is already used so this patch uses %i/%I.

    Automatic Bug Reporting Tool (https://github.com/abrt/abrt/wiki/overview)
    is experimenting with this. It is using the elfutils
    (https://fedorahosted.org/elfutils/) unwinder for generating the
    backtraces. Apart from not needing matching executables as mentioned
    above, another advantage is that we can get the backtrace without saving
    the core (which might be quite large) to disk.

    [mmilata@redhat.com: final paragraph of changelog]
    Signed-off-by: Jan Kratochvil
    Signed-off-by: Oleg Nesterov
    Cc: Alexander Viro
    Cc: Denys Vlasenko
    Cc: Jan Kratochvil
    Cc: Mark Wielaard
    Cc: Martin Milata
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Oleg Nesterov
     
  • BQ32000 have "trickle chargers". Introduce a device tree binding for
    specifying the trickle charger configuration for that.

    Signed-off-by: Pavel Machek
    Reviewed-by: Jason Cooper
    Cc: Matti Vaittinen
    Cc: Rob Herring
    Cc: Ian Campbell
    Cc: Alessandro Zummo
    Cc: Guenter Roeck
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Pavel Machek
     
  • Some DS13XX devices have "trickle chargers". Introduce a device tree
    binding for the resistor and diode configuration for enabling trickle
    charger.

    Signed-off-by: Matti Vaittinen
    Acked-by: Jason Cooper
    Cc: Rob Herring
    Cc: Pawel Moll
    Cc: Guenter Roeck
    Cc: Alessandro Zummo
    Cc: Mark Rutland
    Cc: Pavel Machek
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Matti Vaittinen
     
  • Add support for RTC of Exynos3250 SoC. The Exynos3250 needs source
    clock(32.768KHz) for RTC block. If source clock of RTC is registerd on
    clock list of common clk framework, Exynos RTC drvier have to control
    this clock.

    Clock list for s3c-rtc device:
    - rtc : CLK_RTC of CLK_GATE_IP_PERIR is gate clock for RTC.
    - rtc_src : XrtcXTI is 32.768.kHz source clock for RTC.
    (XRTCXTI: Specifies a clock from 32.768 kHz crystal pad with XRTCXTI and
    XRTCXTO pins. RTC uses this clock as the source of a real-time clock.)

    Signed-off-by: Chanwoo Choi
    Acked-by: Kyungmin Park
    Cc: Alessandro Zummo
    Cc: Kukjin Kim
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Chanwoo Choi
     
  • Remove warning message when checking codeing style with checkpatch script
    and reduce un-necessary i2c read operation on s3c_rtc_enable.

    WARNING: line over 80 characters
    #406: FILE: drivers/rtc/rtc-s3c.c:406:
    + if ((readw(info->base + S3C2410_RTCCON) & S3C2410_RTCCON_RTCEN) == 0) {

    WARNING: line over 80 characters
    #414: FILE: drivers/rtc/rtc-s3c.c:414:
    + if ((readw(info->base + S3C2410_RTCCON) & S3C2410_RTCCON_CNTSEL)) {

    WARNING: line over 80 characters
    #422: FILE: drivers/rtc/rtc-s3c.c:422:
    + if ((readw(info->base + S3C2410_RTCCON) & S3C2410_RTCCON_CLKRST)) {

    WARNING: Missing a blank line after declarations
    #451: FILE: drivers/rtc/rtc-s3c.c:451:
    + struct s3c_rtc_drv_data *data;
    + if (pdev->dev.of_node) {

    WARNING: Missing a blank line after declarations
    #453: FILE: drivers/rtc/rtc-s3c.c:453:
    + const struct of_device_id *match;
    + match = of_match_node(s3c_rtc_dt_match, pdev->dev.of_node);

    WARNING: DT compatible string "samsung,s3c2416-rtc" appears un-documented -- check ./Documentation/devicetree/bindings/
    #650: FILE: drivers/rtc/rtc-s3c.c:650:
    + .compatible = "samsung,s3c2416-rtc",

    WARNING: DT compatible string "samsung,s3c2443-rtc" appears un-documented -- check ./Documentation/devicetree/bindings/
    #653: FILE: drivers/rtc/rtc-s3c.c:653:
    + .compatible = "samsung,s3c2443-rtc",

    Signed-off-by: Chanwoo Choi
    Acked-by: Kyungmin Park
    Cc: Alessandro Zummo
    Cc: Kukjin Kim
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Chanwoo Choi
     
  • This documents autofs from the perspective of what the module actually
    supports rather than how automount is expected to use it.

    It is formatted using "markdown" and works best with Markdown.pl
    (markdown_py doesn't like some constructs).

    [rdunlap@infradead.org: copy editing]
    Signed-off-by: NeilBrown
    Cc: Randy Dunlap
    Acked-by: Ian Kent
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    NeilBrown
     
  • Line wrap the content to 80 cols, and add more details to various fields
    to match the code. Drop reference to a website that does not exist
    anymore.

    Signed-off-by: Mike Frysinger
    Cc: Al Viro
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Mike Frysinger
     
  • The current code places a 256 byte limit on the registration format.
    This ends up being fairly limited when you try to do matching against a
    binary format like ELF:

    - the magic & mask formats cannot have any embedded NUL chars
    (string_unescape_inplace halts at the first NUL)
    - each escape sequence quadruples the size: \x00 is needed for NUL
    - trying to match bytes at the start of the file as well as further
    on leads to a lot of \x00 sequences in the mask
    - magic & mask have to be the same length (when decoded)
    - still need bytes for the other fields
    - impossible!

    Let's look at a concrete (and common) example: using QEMU to run MIPS
    ELFs. The name field uses 11 bytes "qemu-mipsel". The interp uses 20
    bytes "/usr/bin/qemu-mipsel". The type & flags takes up 4 bytes. We
    need 7 bytes for the delimiter (usually ":"). We can skip offset. So
    already we're down to 107 bytes to use with the magic/mask instead of
    the real limit of 128 (BINPRM_BUF_SIZE). If people use shell code to
    register (which they do the majority of the time), they're down to ~26
    possible bytes since the escape sequence must be \x##.

    The ELF format looks like (both 32 & 64 bit):

    e_ident: 16 bytes
    e_type: 2 bytes
    e_machine: 2 bytes

    Those 20 bytes are enough for most architectures because they have so few
    formats in the first place, thus they can be uniquely identified. That
    also means for shell users, since 20 is smaller than 26, they can sanely
    register a handler.

    But for some targets (like MIPS), we need to poke further. The ELF fields
    continue on:

    e_entry: 4 or 8 bytes
    e_phoff: 4 or 8 bytes
    e_shoff: 4 or 8 bytes
    e_flags: 4 bytes

    We only care about e_flags here as that includes the bits to identify
    whether the ELF is O32/N32/N64. But now we have to consume another 16
    bytes (for 32 bit ELFs) or 28 bytes (for 64 bit ELFs) just to match the
    flags. If every byte is escaped, we send 288 more bytes to the kernel
    ((20 {e_ident,e_type,e_machine} + 12 {e_entry,e_phoff,e_shoff} + 4
    {e_flags}) * 2 {mask,magic} * 4 {escape}) and we've clearly blown our
    budget.

    Even if we try to be clever and do the decoding ourselves (rather than
    relying on the kernel to process \x##), we still can't hit the mark --
    string_unescape_inplace treats mask & magic as C strings so NUL cannot
    be embedded. That leaves us with having to pass \x00 for the 12/24
    entry/phoff/shoff bytes (as those will be completely random addresses),
    and that is a minimum requirement of 48/96 bytes for the mask alone.
    Add up the rest and we blow through it (this is for 64 bit ELFs):
    magic: 20 {e_ident,e_type,e_machine} + 24 {e_entry,e_phoff,e_shoff} +
    4 {e_flags} = 48 # ^^ See note below.
    mask: 20 {e_ident,e_type,e_machine} + 96 {e_entry,e_phoff,e_shoff} +
    4 {e_flags} = 120
    Remember above we had 107 left over, and now we're at 168. This is of
    course the *best* case scenario -- you'll also want to have NUL bytes
    in the magic & mask too to match literal zeros.

    Note: the reason we can use 24 in the magic is that we can work off of the
    fact that for bytes the mask would clobber, we can stuff any value into
    magic that we want. So when mask is \x00, we don't need the magic to also
    be \x00, it can be an unescaped raw byte like '!'. This lets us handle
    more formats (barely) under the current 256 limit, but that's a pretty
    tall hoop to force people to jump through.

    With all that said, let's bump the limit from 256 bytes to 1920. This way
    we support escaping every byte of the mask & magic field (which is 1024
    bytes by themselves -- 128 * 4 * 2), and we leave plenty of room for other
    fields. Like long paths to the interpreter (when you have source in your
    /really/long/homedir/qemu/foo). Since the current code stuffs more than
    one structure into the same buffer, we leave a bit of space to easily
    round up to 2k. 1920 is just as arbitrary as 256 ;).

    Signed-off-by: Mike Frysinger
    Cc: Al Viro
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Mike Frysinger
     

13 Oct, 2014

4 commits

  • 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()
    ...

    Linus Torvalds
     
  • 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

    Linus Torvalds
     
  • 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
    ...

    Linus Torvalds
     
  • 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
    ...

    Linus Torvalds
     

12 Oct, 2014

4 commits

  • 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
    ...

    Linus Torvalds
     
  • 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
    ...

    Linus Torvalds
     
  • 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()
    ...

    Linus Torvalds
     
  • Pull file locking related changes from Jeff Layton:
    "This release is a little more busy for file locking changes than the
    last:

    - a set of patches from Kinglong Mee to fix the lockowner handling in
    knfsd
    - a pile of cleanups to the internal file lease API. This should get
    us a bit closer to allowing for setlease methods that can block.

    There are some dependencies between mine and Bruce's trees this cycle,
    and I based my tree on top of the requisite patches in Bruce's tree"

    * tag 'locks-v3.18-1' of git://git.samba.org/jlayton/linux: (26 commits)
    locks: fix fcntl_setlease/getlease return when !CONFIG_FILE_LOCKING
    locks: flock_make_lock should return a struct file_lock (or PTR_ERR)
    locks: set fl_owner for leases to filp instead of current->files
    locks: give lm_break a return value
    locks: __break_lease cleanup in preparation of allowing direct removal of leases
    locks: remove i_have_this_lease check from __break_lease
    locks: move freeing of leases outside of i_lock
    locks: move i_lock acquisition into generic_*_lease handlers
    locks: define a lm_setup handler for leases
    locks: plumb a "priv" pointer into the setlease routines
    nfsd: don't keep a pointer to the lease in nfs4_file
    locks: clean up vfs_setlease kerneldoc comments
    locks: generic_delete_lease doesn't need a file_lock at all
    nfsd: fix potential lease memory leak in nfs4_setlease
    locks: close potential race in lease_get_mtime
    security: make security_file_set_fowner, f_setown and __f_setown void return
    locks: consolidate "nolease" routines
    locks: remove lock_may_read and lock_may_write
    lockd: rip out deferred lock handling from testlock codepath
    NFSD: Get reference of lockowner when coping file_lock
    ...

    Linus Torvalds
     

11 Oct, 2014

8 commits

  • Pull devicetree changes from Grant Likely:
    "This branch contains bug fixes and new features for the devicetree
    code.

    Most of the changes are either new testcases for the selftest code or
    documentation changes. The most notable change is the addition of a
    phandle resolver for use when grafting in a second device tree blob
    into the core tree. The resolver isn't currently used by anything
    other than the selftest module, but it will be used to support device
    tree overlays; probably in the v3.19 timeframe.

    Also note that I've moved my normal tree from git.secretlab.ca to
    git.kernel.org"

    * tag 'devicetree-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/glikely/linux:
    of/selftest: Move hash table off stack to fix large frame size
    To remove non-ascii characters in of_selftest.txt
    of/selftest: Use the resolver to fixup phandles
    of: Introduce Device Tree resolve support.
    of/selftest: Add a test for duplicate phandles
    of: Don't try to search when phandle == 0
    of/selftest: Test structure of device tree
    of: Fix NULL dereference in selftest removal code
    of: add vendor prefix for Chipidea
    of: Add vendor prefix for Innolux Corporation
    of: Add vendor prefix for Sitronix
    devicetree: bindings: Document Gateworks vendor prefix
    of: Add vendor prefix for Energy Micro
    dt/documentation: add specification of dma bus information

    Linus Torvalds
     
  • Pull MMC updates from Ulf Hansson:
    "MMC core:
    - Fix SDIO IRQ bug
    - MMC regulator improvements
    - Fix slot-gpio card detect bug
    - Add support for Driver Stage Register
    - Convert the common MMC OF parser to use GPIO descriptors
    - Convert MMC_CAP2_NO_MULTI_READ into a callback, ->multi_io_quirk()
    - Some additional minor fixes

    MMC host:
    - mmci: Support Qualcomm specific DML layer for DMA
    - dw_mmc: Use common MMC regulators
    - dw_mmc: Add support for Rock-chips RK3288
    - tmio: Enable runtime PM support
    - tmio: Add support for R-Car Gen2 SoCs
    - tmio: Several fixes and improvements
    - omap_hsmmc: Removed Balaji from MAINTAINERS
    - jz4740: add DMA and pre/post support
    - sdhci: Add support for Intel Braswell
    - sdhci: Several fixes and improvements"

    * tag 'mmc-v3.18-1' of git://git.linaro.org/people/ulf.hansson/mmc: (119 commits)
    ARM: dts: fix MMC2 regulators for Exynos5420 Arndale Octa board
    mmc: sdhci-acpi: Fix Braswell eMMC timeout clock frequency
    mmc: sdhci-acpi: Pass HID and UID to probe_slot
    mmc: sdhci-acpi: Get UID directly from acpi_device
    mmc, sdhci, bcm-kona, LLVMLinux: Remove use of __initconst
    mmc: sdhci-pci: Fix Braswell eMMC timeout clock frequency
    mmc: sdhci: Let a driver override timeout clock frequency
    mmc: sdhci-pci: Add Bay Trail and Braswell SD card detect
    mmc: sdhci-pci: Set SDHCI_QUIRK2_STOP_WITH_TC for Intel BYT host controllers
    mmc: sdhci-acpi: Add a HID and UID for a SD Card host controller
    mmc: sdhci-acpi: Set SDHCI_QUIRK2_STOP_WITH_TC for Intel host controllers
    mmc: sdhci: Add quirk for always getting TC with stop cmd
    mmc: core: restore detect line inversion semantics
    mmc: Fix incorrect warning when setting 0 Hz via debugfs
    mmc: Fix use of wrong device in mmc_gpiod_free_cd()
    mmc: atmel-mci: fix mismatched section on atmci_cleanup_slot
    mmc: rtsx_pci: Set power related cap2 macros
    mmc: core: Add new power_mode MMC_POWER_UNDEFINED
    mmc: sdhci: execute tuning when device is not busy
    mmc: atmel-mci: Release mmc resources on failure in probe
    ..

    Linus Torvalds
     
  • Pull sound updates from Takashi Iwai:
    "This time it's a relatively calm update batch, but the amount isn't
    too small in the end. Here we go over some highlights:

    ALSA core:
    - One major change is the support of nonatomic PCM operations. This
    allows the trigger and other callbacks to call schedule(), which
    would be useful for mailbox type communications. Already some
    drivers (Digigram ones) have been converted to use together with
    threaded irqs as an example.
    - Improvement / fixes of DSD PCM format support

    HD-audio:
    - Large volume of rewrites are found in Realtek codec driver for
    converting Dell and HP quirks to generic forms.
    - Inverted dmic code cleanup from David.
    - Realtek COEF access has been optimized.
    - Now HD-audio jack infrastructure allows multiple callbacks, which
    fixes / simplifies the jack-dependent power controls on STAC/IDT
    and VIA codecs.
    - Many additional device-specific fixups as usual
    - A few deadcode cleanups, CA0132 code cleanup, etc.

    ASoC:
    - More componentization work from Lars-Peter, this time mainly
    cleaning up the suspend and bias level transition callbacks.
    - Real system support for the Intel drivers and a bunch of fixes and
    enhancements for the associated CODEC drivers, this is going to
    need a lot quirks over time due to the lack of any firmware
    description of the boards.
    - Jack detect support for simple card from Dylan Reid.
    - A bunch of small fixes and enhancements for the Freescale drivers.
    - New drivers for Analog Devices SSM4567, Cirrus Logic CS35L32,
    Everest Semiconductor ES8328 and Freescale cards using the ASRC in
    newer i.MX processors.
    - A few simple-card fixes, mostly cleanups but also a fix for
    interaction between GPIO 0 and simple-card.

    Misc:
    - Virtuoso / Oxygen updates by Clemens
    - USB-audio: Yamaha MOTIF XF MIDI port name fixes
    - Conversion of kernel messages to standard dev_*() in ctxfi driver"

    * tag 'sound-3.18-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: (251 commits)
    ASoC: mc13783: Ensure we only try to dereference valid of_nodes
    ASoC: rockchip-i2s: fix infinite loop in rockchip_snd_txctrl
    ALSA: hda - Add dock port support to Thinkpad L440 (71aa:501e)
    ALSA: Allow pass NULL dev for snd_pci_quirk_lookup()
    ASoC: imx-es8328: Fix of_node_put() call with uninitialized object
    ASoC: soc-pcm: fix sig_bits determination in soc_pcm_apply_msb()
    ASoC: simple-card: Initialize headphone and mic GPIO numbers
    ASoC: imx-es8328: Fix missing return code in imx_es8328_probe()
    ALSA: hda - Add dock support for Thinkpad T440 (17aa:2212)
    ALSA: usb: caiaq: check for cdev->n_streams > 1
    ASoC: 88pm860x-codec: Fix possibly missing string termination
    ASoC: core: fix use after free in snd_soc_remove_platform()
    ASoC: soc-dapm: fix use after free
    ALSA: hda - Make the inv dmic handling for Realtek use generic parser
    ALSA: hda - Add Inverted Internal mic for Samsung Ativ book 9 (NP900X3G)
    ALSA: hda - Add inverted internal mic for Asus Aspire 4830T
    ASoC: Intel: byt-rt5640: fix coccinelle warnings
    ASoC: fsl_esai doc: Add "fsl,vf610-esai" as compatible string
    ASoC: da732x: Remove unnecessary KERN_ERR in pr_err()
    ASoC: simple-card: Fix detect gpio documentation.
    ...

    Linus Torvalds
     
  • Pull media updates from Mauro Carvalho Chehab:

    - new IR driver: hix5hd2-ir

    - the virtual test driver (vivi) was replaced by vivid, with has an
    almost complete set of features to emulate most v4l2 devices and
    properly test all sorts of userspace apps

    - the as102 driver had several bugs fixed and was properly split into a
    frontend and a core driver. With that, it got promoted from staging
    into mainstream

    - one new CI driver got added for CIMaX SP2/SP2HF (sp2 driver)

    - one new frontend driver for Toshiba ISDB-T/ISDB-S demod (tc90522)

    - one new PCI driver for ISDB-T/ISDB-S (pt3 driver)

    - saa7134 driver got support for go7007-based devices

    - added a new PCI driver for Techwell 68xx chipsets (tw68)

    - a new platform driver was added (coda)

    - new tuner drivers: mxl301rf and qm1d1c0042

    - a new DVB USB driver was added for DVBSky S860 & similar devices

    - added a new SDR driver (hackrf)

    - usbtv got audio support

    - several platform drivers are now compiled with COMPILE_TEST

    - a series of compiler fixup patches, making sparse/spatch happier with
    the media stuff and removing several warnings, especially on those
    platform drivers that didn't use to compile on x86

    - Support for several new modern devices got added

    - lots of other fixes, improvements and cleanups

    * tag 'media/v3.18-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media: (544 commits)
    [media] ir-hix5hd2: fix build on c6x arch
    [media] pt3: fix DTV FE I2C driver load error paths
    Revert "[media] media: em28xx - remove reset_resume interface"
    [media] exynos4-is: fix some warnings when compiling on arm64
    [media] usb drivers: use %zu instead of %zd
    [media] pci drivers: use %zu instead of %zd
    [media] dvb-frontends: use %zu instead of %zd
    [media] s5p-mfc: Fix several printk warnings
    [media] s5p_mfc_opr: Fix warnings
    [media] ti-vpe: Fix typecast
    [media] s3c-camif: fix dma_addr_t printks
    [media] s5p_mfc_opr_v6: get rid of warnings when compiled with 64 bits
    [media] s5p_mfc_opr_v5: Fix lots of warnings on x86_64
    [media] em28xx: Fix identation
    [media] drxd: remove a dead code
    [media] saa7146: remove return after BUG()
    [media] cx88: remove return after BUG()
    [media] cx88: fix cards table CodingStyle
    [media] radio-sf16fmr2: declare some structs as static
    [media] radio-sf16fmi: declare pnp_attached as static
    ...

    Linus Torvalds
     
  • …it/groeck/linux-staging

    Pull hwmon updates from Guenter Roeck:
    - new driver for menf21bmc.
    - convert k10temp, smsc47b397, da9052, da9055 to new hwmon API.
    - register ntc_thermistor driver with thermal subsystem.
    - add support for F15h M60h to k10temp driver.
    - add driver for MEN14F021P00 BMC HWMON driver; this required a merge
    with tag mfd-hwmon-leds-watchdog-v3.18

    * tag 'hwmon-for-linus-v3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging:
    hwmon: (ab8500) Call kernel_power_off instead of pm_power_off
    hwmon: (menf21bmc) Introduce MEN14F021P00 BMC HWMON driver
    leds: leds-menf21bmc: Introduce MEN 14F021P00 BMC LED driver
    watchdog: menf21bmc_wdt: Introduce MEN 14F021P00 BMC Watchdog driver
    mfd: menf21bmc: Introduce MEN 14F021P00 BMC MFD Core driver
    hwmon: (ntc_thermistor) Add ntc thermistor to thermal subsystem as a sensor.
    hwmon: (smsc47b397) Convert to devm_hwmon_device_register_with_groups
    MAINTAINERS: add entry for the PWM fan driver
    hwmon: (k10temp) Convert to devm_hwmon_device_register_with_groups
    hwmon: (k10temp) Add support for F15h M60h
    hwmon: (da9052) Convert to devm_hwmon_device_register_with_groups
    hwmon: (da9055) Convert to devm_hwmon_device_register_with_groups
    hwmon: (ads1015) Use of_property_read_u32 at appropriate places

    Linus Torvalds
     
  • The KSZ8021 and KSZ8031 support RMII reference input clocks of 25MHz
    and 50MHz. Both PHYs differ in the default frequency they expect
    after reset. If this differs from the actual input clock, then
    register 0x1f bit 7 must be changed.

    Signed-off-by: Sascha Hauer
    Reviewed-by: Florian Fainelli
    Signed-off-by: David S. Miller

    Sascha Hauer
     
  • __sk_run_filter has been renamed as __bpf_prog_run, so replace them in comments

    Signed-off-by: Li RongQing
    Acked-by: Alexei Starovoitov
    Signed-off-by: David S. Miller

    Li RongQing
     
  • Signed-off-by: Iyappan Subramanian
    Signed-off-by: Keyur Chudgar
    Signed-off-by: David S. Miller

    Iyappan Subramanian
     

10 Oct, 2014

13 commits

  • Pull libata update from Tejun Heo:
    "AHCI is getting per-port irq handling and locks for better
    scalability. The gain is not huge but measureable with multiple high
    iops devices connected to the same host; however, the value of
    threaded IRQ handling seems negligible for AHCI and it likely will
    revert to non-threaded handling soon.

    Another noteworthy change is George Spelvin's "libata: Un-break ATA
    blacklist". During 3.17 devel cycle, the libata blacklist glob
    matching got generalized and rewritten; unfortunately, the patch
    forgot to swap arguments to match the new match function and ended up
    breaking blacklist matching completely. It got noticed only a couple
    days ago so it couldn't make for-3.17-fixes either. :(

    Other than the above two, nothing too interesting - the usual cleanup
    churns and device-specific changes"

    * 'for-3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/libata: (22 commits)
    pata_serverworks: disable 64-KB DMA transfers on Broadcom OSB4 IDE Controller
    libata: Un-break ATA blacklist
    AHCI: Do not acquire ata_host::lock from single IRQ handler
    AHCI: Optimize single IRQ interrupt processing
    AHCI: Do not read HOST_IRQ_STAT reg in multi-MSI mode
    AHCI: Make few function names more descriptive
    AHCI: Move host activation code into ahci_host_activate()
    AHCI: Move ahci_host_activate() function to libahci.c
    AHCI: Pass SCSI host template as arg to ahci_host_activate()
    ata: pata_imx: Use the SIMPLE_DEV_PM_OPS() macro
    AHCI: Cleanup checking of multiple MSIs/SLM modes
    libata-sff: Fix controllers with no ctl port
    ahci_xgene: Fix the error print invalid resource for APM X-Gene SoC AHCI SATA Host Controller driver.
    libata: change ata__printk routines to return void
    ata: qcom: Add device tree bindings information
    ahci-platform: Bump max number of clocks to 5
    ahci: ahci_p5wdh_workaround - constify DMI table
    libahci_platform: Staticize ahci_platform_able_phys()
    pata_platform: Remove useless irq_flags field
    pata_of_platform: Remove "electra-ide" quirk
    ...

    Linus Torvalds
     
  • Merge patch-bomb from Andrew Morton:
    - part of OCFS2 (review is laggy again)
    - procfs
    - slab
    - all of MM
    - zram, zbud
    - various other random things: arch, filesystems.

    * emailed patches from Andrew Morton : (164 commits)
    nosave: consolidate __nosave_{begin,end} in
    include/linux/screen_info.h: remove unused ORIG_* macros
    kernel/sys.c: compat sysinfo syscall: fix undefined behavior
    kernel/sys.c: whitespace fixes
    acct: eliminate compile warning
    kernel/async.c: switch to pr_foo()
    include/linux/blkdev.h: use NULL instead of zero
    include/linux/kernel.h: deduplicate code implementing clamp* macros
    include/linux/kernel.h: rewrite min3, max3 and clamp using min and max
    alpha: use Kbuild logic to include
    frv: remove deprecated IRQF_DISABLED
    frv: remove unused cpuinfo_frv and friends to fix future build error
    zbud: avoid accessing last unused freelist
    zsmalloc: simplify init_zspage free obj linking
    mm/zsmalloc.c: correct comment for fullness group computation
    zram: use notify_free to account all free notifications
    zram: report maximum used memory
    zram: zram memory size limitation
    zsmalloc: change return value unit of zs_get_total_size_bytes
    zsmalloc: move pages_allocated to zs_pool
    ...

    Linus Torvalds
     
  • `notify_free' device attribute accounts the number of slot free
    notifications and internally represents the number of zram_free_page()
    calls. Slot free notifications are sent only when device is used as a
    swap device, hence `notify_free' is used only for swap devices. Since
    f4659d8e620d08 (zram: support REQ_DISCARD) ZRAM handles yet another one
    free notification (also via zram_free_page() call) -- REQ_DISCARD
    requests, which are sent by a filesystem, whenever some data blocks are
    discarded. However, there is no way to know the number of notifications
    in the latter case.

    Use `notify_free' to account the number of pages freed by
    zram_bio_discard() and zram_slot_free_notify(). Depending on usage
    scenario `notify_free' represents:

    a) the number of pages freed because of slot free notifications, which is
    equal to the number of swap_slot_free_notify() calls, so there is no
    behaviour change

    b) the number of pages freed because of REQ_DISCARD notifications

    Signed-off-by: Sergey Senozhatsky
    Acked-by: Minchan Kim
    Acked-by: Jerome Marchand
    Cc: Nitin Gupta
    Cc: Chao Yu
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Sergey Senozhatsky
     
  • Normally, zram user could get maximum memory usage zram consumed via
    polling mem_used_total with sysfs in userspace.

    But it has a critical problem because user can miss peak memory usage
    during update inverval of polling. For avoiding that, user should poll it
    with shorter interval(ie, 0.0000000001s) with mlocking to avoid page fault
    delay when memory pressure is heavy. It would be troublesome.

    This patch adds new knob "mem_used_max" so user could see the maximum
    memory usage easily via reading the knob and reset it via "echo 0 >
    /sys/block/zram0/mem_used_max".

    Signed-off-by: Minchan Kim
    Reviewed-by: Dan Streetman
    Cc: Sergey Senozhatsky
    Cc: Jerome Marchand
    Cc:
    Cc:
    Cc: Luigi Semenzato
    Cc: Nitin Gupta
    Cc: Seth Jennings
    Reviewed-by: David Horner
    Cc: Joonsoo Kim
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Minchan Kim
     
  • Since zram has no control feature to limit memory usage, it makes hard to
    manage system memrory.

    This patch adds new knob "mem_limit" via sysfs to set up the a limit so
    that zram could fail allocation once it reaches the limit.

    In addition, user could change the limit in runtime so that he could
    manage the memory more dynamically.

    Initial state is no limit so it doesn't break old behavior.

    [akpm@linux-foundation.org: fix typo, per Sergey]
    Signed-off-by: Minchan Kim
    Cc: Dan Streetman
    Cc: Sergey Senozhatsky
    Cc: Jerome Marchand
    Cc:
    Cc:
    Cc: Luigi Semenzato
    Cc: Nitin Gupta
    Cc: Seth Jennings
    Cc: David Horner
    Cc: Joonsoo Kim
    Cc: Minchan Kim
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Minchan Kim
     
  • It isn't obvious that CMA can be disabled on the kernel's command line, so
    document it.

    Signed-off-by: Jean Delvare
    Cc: Joonsoo Kim
    Cc: Greg Kroah-Hartman
    Cc: Akinobu Mita
    Cc: Chuck Ebbert
    Cc: Marek Szyprowski
    Cc: Konrad Rzeszutek Wilk
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jean Delvare
     
  • The deprecation warnings for the scan_unevictable interface triggers by
    scripts doing `sysctl -a | grep something else'. This is annoying and not
    helpful.

    The interface has been defunct since 264e56d8247e ("mm: disable user
    interface to manually rescue unevictable pages"), which was in 2011, and
    there haven't been any reports of usecases for it, only reports that the
    deprecation warnings are annying. It's unlikely that anybody is using
    this interface specifically at this point, so remove it.

    Signed-off-by: Johannes Weiner
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Johannes Weiner
     
  • Currently memory-hotplug has two limits:

    1. If the memory block is in ZONE_NORMAL, you can change it to
    ZONE_MOVABLE, but this memory block must be adjacent to ZONE_MOVABLE.

    2. If the memory block is in ZONE_MOVABLE, you can change it to
    ZONE_NORMAL, but this memory block must be adjacent to ZONE_NORMAL.

    With this patch, we can easy to know a memory block can be onlined to
    which zone, and don't need to know the above two limits.

    Updated the related Documentation.

    [akpm@linux-foundation.org: use conventional comment layout]
    [akpm@linux-foundation.org: fix build with CONFIG_MEMORY_HOTREMOVE=n]
    [akpm@linux-foundation.org: remove unused local zone_prev]
    Signed-off-by: Zhang Zhen
    Cc: Dave Hansen
    Cc: David Rientjes
    Cc: Toshi Kani
    Cc: Yasuaki Ishimatsu
    Cc: Naoya Horiguchi
    Cc: Wang Nan
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Zhang Zhen
     
  • Slab merge is good feature to reduce fragmentation. Now, it is only
    applied to SLUB, but, it would be good to apply it to SLAB. This patch is
    preparation step to apply slab merge to SLAB by commonizing slab merge
    logic.

    Signed-off-by: Joonsoo Kim
    Cc: Randy Dunlap
    Cc: Christoph Lameter
    Cc: Pekka Enberg
    Cc: David Rientjes
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Joonsoo Kim
     
  • Pull ACPI and power management updates from Rafael Wysocki:
    "Features-wise, to me the most important this time is a rework of
    wakeup interrupts handling in the core that makes them work
    consistently across all of the available sleep states, including
    suspend-to-idle. Many thanks to Thomas Gleixner for his help with
    this work.

    Second is an update of the generic PM domains code that has been in
    need of some care for quite a while. Unused code is being removed, DT
    support is being added and domains are now going to be attached to
    devices in bus type code in analogy with the ACPI PM domain. The
    majority of work here was done by Ulf Hansson who also has been the
    most active developer this time.

    Apart from this we have a traditional ACPICA update, this time to
    upstream version 20140828 and a few ACPI wakeup interrupts handling
    patches on top of the general rework mentioned above. There also are
    several cpufreq commits including renaming the cpufreq-cpu0 driver to
    cpufreq-dt, as this is what implements generic DT-based cpufreq
    support, and a new DT-based idle states infrastructure for cpuidle.

    In addition to that, the ACPI LPSS driver is updated, ACPI support for
    Apple machines is improved, a few bugs are fixed and a few cleanups
    are made all over.

    Finally, the Adaptive Voltage Scaling (AVS) subsystem now has a tree
    maintained by Kevin Hilman that will be merged through the PM tree.

    Numbers-wise, the generic PM domains update takes the lead this time
    with 32 non-merge commits, second is cpufreq (15 commits) and the 3rd
    place goes to the wakeup interrupts handling rework (13 commits).

    Specifics:

    - Rework the handling of wakeup IRQs by the IRQ core such that all of
    them will be switched over to "wakeup" mode in suspend_device_irqs()
    and in that mode the first interrupt will abort system suspend in
    progress or wake up the system if already in suspend-to-idle (or
    equivalent) without executing any interrupt handlers. Among other
    things that eliminates the wakeup-related motivation to use the
    IRQF_NO_SUSPEND interrupt flag with interrupts which don't really
    need it and should not use it (Thomas Gleixner and Rafael Wysocki)

    - Switch over ACPI to handling wakeup interrupts with the help of the
    new mechanism introduced by the above IRQ core rework (Rafael Wysocki)

    - Rework the core generic PM domains code to eliminate code that's
    not used, add DT support and add a generic mechanism by which
    devices can be added to PM domains automatically during enumeration
    (Ulf Hansson, Geert Uytterhoeven and Tomasz Figa).

    - Add debugfs-based mechanics for debugging generic PM domains
    (Maciej Matraszek).

    - ACPICA update to upstream version 20140828. Included are updates
    related to the SRAT and GTDT tables and the _PSx methods are in the
    METHOD_NAME list now (Bob Moore and Hanjun Guo).

    - Add _OSI("Darwin") support to the ACPI core (unfortunately, that
    can't really be done in a straightforward way) to prevent
    Thunderbolt from being turned off on Apple systems after boot (or
    after resume from system suspend) and rework the ACPI Smart Battery
    Subsystem (SBS) driver to work correctly with Apple platforms
    (Matthew Garrett and Andreas Noever).

    - ACPI LPSS (Low-Power Subsystem) driver update cleaning up the code,
    adding support for 133MHz I2C source clock on Intel Baytrail to it
    and making it avoid using UART RTS override with Auto Flow Control
    (Heikki Krogerus).

    - ACPI backlight updates removing the video_set_use_native_backlight
    quirk which is not necessary any more, making the code check the
    list of output devices returned by the _DOD method to avoid
    creating acpi_video interfaces that won't work and adding a quirk
    for Lenovo Ideapad Z570 (Hans de Goede, Aaron Lu and Stepan Bujnak)

    - New Win8 ACPI OSI quirks for some Dell laptops (Edward Lin)

    - Assorted ACPI code cleanups (Fabian Frederick, Rasmus Villemoes,
    Sudip Mukherjee, Yijing Wang, and Zhang Rui)

    - cpufreq core updates and cleanups (Viresh Kumar, Preeti U Murthy,
    Rasmus Villemoes)

    - cpufreq driver updates: cpufreq-cpu0/cpufreq-dt (driver name change
    among other things), ppc-corenet, powernv (Viresh Kumar, Preeti U
    Murthy, Shilpasri G Bhat, Lucas Stach)

    - cpuidle support for DT-based idle states infrastructure, new ARM64
    cpuidle driver, cpuidle core cleanups (Lorenzo Pieralisi, Rasmus
    Villemoes)

    - ARM big.LITTLE cpuidle driver updates: support for DT-based
    initialization and Exynos5800 compatible string (Lorenzo Pieralisi,
    Kevin Hilman)

    - Rework of the test_suspend kernel command line argument and a new
    trace event for console resume (Srinivas Pandruvada, Todd E Brandt)

    - Second attempt to optimize swsusp_free() (hibernation core) to make
    it avoid going through all PFNs which may be way too slow on some
    systems (Joerg Roedel)

    - devfreq updates (Paul Bolle, Punit Agrawal, Ãrjan Eide).

    - rockchip-io Adaptive Voltage Scaling (AVS) driver and AVS entry
    update in MAINTAINERS (Heiko Stübner, Kevin Hilman)

    - PM core fix related to clock management (Geert Uytterhoeven)

    - PM core's sysfs code cleanup (Johannes Berg)"

    * tag 'pm+acpi-3.18-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: (105 commits)
    ACPI / fan: printk replacement
    PM / clk: Fix crash in clocks management code if !CONFIG_PM_RUNTIME
    PM / Domains: Rename cpu_data to cpuidle_data
    cpufreq: cpufreq-dt: fix potential double put of cpu OF node
    cpufreq: cpu0: rename driver and internals to 'cpufreq_dt'
    PM / hibernate: Iterate over set bits instead of PFNs in swsusp_free()
    cpufreq: ppc-corenet: remove duplicate update of cpu_data
    ACPI / sleep: Rework the handling of ACPI GPE wakeup from suspend-to-idle
    PM / sleep: Rename platform suspend/resume functions in suspend.c
    PM / sleep: Export dpm_suspend_late/noirq() and dpm_resume_early/noirq()
    ACPICA: Introduce acpi_enable_all_wakeup_gpes()
    ACPICA: Clear all non-wakeup GPEs in acpi_hw_enable_wakeup_gpe_block()
    ACPI / video: check _DOD list when creating backlight devices
    PM / Domains: Move dev_pm_domain_attach|detach() to pm_domain.h
    cpufreq: Replace strnicmp with strncasecmp
    cpufreq: powernv: Set the cpus to nominal frequency during reboot/kexec
    cpufreq: powernv: Set the pstate of the last hotplugged out cpu in policy->cpus to minimum
    cpufreq: Allow stop CPU callback to be used by all cpufreq drivers
    PM / devfreq: exynos: Enable building exynos PPMU as module
    PM / devfreq: Export helper functions for drivers
    ...

    Linus Torvalds
     
  • Pull PCI updates from Bjorn Helgaas:
    "The interesting things here are:

    - Turn on Config Request Retry Status Software Visibility. This
    caused hangs last time, but we included a fix this time.
    - Rework PCI device configuration to use _HPP/_HPX more aggressively
    - Allow PCI devices to be put into D3cold during system suspend
    - Add arm64 PCI support
    - Add APM X-Gene host bridge driver
    - Add TI Keystone host bridge driver
    - Add Xilinx AXI host bridge driver

    More detailed summary:

    Enumeration
    - Check Vendor ID only for Config Request Retry Status (Rajat Jain)
    - Enable Config Request Retry Status when supported (Rajat Jain)
    - Add generic domain handling (Catalin Marinas)
    - Generate uppercase hex for modalias interface class (Ricardo Ribalda Delgado)

    Resource management
    - Add missing MEM_64 mask in pci_assign_unassigned_bridge_resources() (Yinghai Lu)
    - Increase IBM ipr SAS Crocodile BARs to at least system page size (Douglas Lehr)

    PCI device hotplug
    - Prevent NULL dereference during pciehp probe (Andreas Noever)
    - Move _HPP & _HPX handling into core (Bjorn Helgaas)
    - Apply _HPP to PCIe devices as well as PCI (Bjorn Helgaas)
    - Apply _HPP/_HPX to display devices (Bjorn Helgaas)
    - Preserve SERR & PARITY settings when applying _HPP/_HPX (Bjorn Helgaas)
    - Preserve MPS and MRRS settings when applying _HPP/_HPX (Bjorn Helgaas)
    - Apply _HPP/_HPX to all devices, not just hot-added ones (Bjorn Helgaas)
    - Fix wait time in pciehp timeout message (Yinghai Lu)
    - Add more pciehp Slot Control debug output (Yinghai Lu)
    - Stop disabling pciehp notifications during init (Yinghai Lu)

    MSI
    - Remove arch_msi_check_device() (Alexander Gordeev)
    - Rename pci_msi_check_device() to pci_msi_supported() (Alexander Gordeev)
    - Move D0 check into pci_msi_check_device() (Alexander Gordeev)
    - Remove unused kobject from struct msi_desc (Yijing Wang)
    - Remove "pos" from the struct msi_desc msi_attrib (Yijing Wang)
    - Add "msi_bus" sysfs MSI/MSI-X control for endpoints (Yijing Wang)
    - Use __get_cached_msi_msg() instead of get_cached_msi_msg() (Yijing Wang)
    - Use __read_msi_msg() instead of read_msi_msg() (Yijing Wang)
    - Use __write_msi_msg() instead of write_msi_msg() (Yijing Wang)

    Power management
    - Drop unused runtime PM support code for PCIe ports (Rafael J. Wysocki)
    - Allow PCI devices to be put into D3cold during system suspend (Rafael J. Wysocki)

    AER
    - Add additional AER error strings (Gong Chen)
    - Make standalone includable (Thierry Reding)

    Virtualization
    - Add ACS quirk for Solarflare SFC9120 & SFC9140 (Alex Williamson)
    - Add ACS quirk for Intel 10G NICs (Alex Williamson)
    - Add ACS quirk for AMD A88X southbridge (Marti Raudsepp)
    - Remove unused pci_find_upstream_pcie_bridge(), pci_get_dma_source() (Alex Williamson)
    - Add device flag helpers (Ethan Zhao)
    - Assume all Mellanox devices have broken INTx masking (Gavin Shan)

    Generic host bridge driver
    - Fix ioport_map() for !CONFIG_GENERIC_IOMAP (Liviu Dudau)
    - Add pci_register_io_range() and pci_pio_to_address() (Liviu Dudau)
    - Define PCI_IOBASE as the base of virtual PCI IO space (Liviu Dudau)
    - Fix the conversion of IO ranges into IO resources (Liviu Dudau)
    - Add pci_get_new_domain_nr() and of_get_pci_domain_nr() (Liviu Dudau)
    - Add support for parsing PCI host bridge resources from DT (Liviu Dudau)
    - Add pci_remap_iospace() to map bus I/O resources (Liviu Dudau)
    - Add arm64 architectural support for PCI (Liviu Dudau)

    APM X-Gene
    - Add APM X-Gene PCIe driver (Tanmay Inamdar)
    - Add arm64 DT APM X-Gene PCIe device tree nodes (Tanmay Inamdar)

    Freescale i.MX6
    - Probe in module_init(), not fs_initcall() (Lucas Stach)
    - Delay enabling reference clock for SS until it stabilizes (Tim Harvey)

    Marvell MVEBU
    - Fix uninitialized variable in mvebu_get_tgt_attr() (Thomas Petazzoni)

    NVIDIA Tegra
    - Make sure the PCIe PLL is really reset (Eric Yuen)
    - Add error path tegra_msi_teardown_irq() cleanup (Jisheng Zhang)
    - Fix extended configuration space mapping (Peter Daifuku)
    - Implement resource hierarchy (Thierry Reding)
    - Clear CLKREQ# enable on port disable (Thierry Reding)
    - Add Tegra124 support (Thierry Reding)

    ST Microelectronics SPEAr13xx
    - Pass config resource through reg property (Pratyush Anand)

    Synopsys DesignWare
    - Use NULL instead of false (Fabio Estevam)
    - Parse bus-range property from devicetree (Lucas Stach)
    - Use pci_create_root_bus() instead of pci_scan_root_bus() (Lucas Stach)
    - Remove pci_assign_unassigned_resources() (Lucas Stach)
    - Check private_data validity in single place (Lucas Stach)
    - Setup and clear exactly one MSI at a time (Lucas Stach)
    - Remove open-coded bitmap operations (Lucas Stach)
    - Fix configuration base address when using 'reg' (Minghuan Lian)
    - Fix IO resource end address calculation (Minghuan Lian)
    - Rename get_msi_data() to get_msi_addr() (Minghuan Lian)
    - Add get_msi_data() to pcie_host_ops (Minghuan Lian)
    - Add support for v3.65 hardware (Murali Karicheri)
    - Fold struct pcie_port_info into struct pcie_port (Pratyush Anand)

    TI Keystone
    - Add TI Keystone PCIe driver (Murali Karicheri)
    - Limit MRSS for all downstream devices (Murali Karicheri)
    - Assume controller is already in RC mode (Murali Karicheri)
    - Set device ID based on SoC to support multiple ports (Murali Karicheri)

    Xilinx AXI
    - Add Xilinx AXI PCIe driver (Srikanth Thokala)
    - Fix xilinx_pcie_assign_msi() return value test (Dan Carpenter)

    Miscellaneous
    - Clean up whitespace (Quentin Lambert)
    - Remove assignments from "if" conditions (Quentin Lambert)
    - Move PCI_VENDOR_ID_VMWARE to pci_ids.h (Francesco Ruggeri)
    - x86: Mark DMI tables as initialization data (Mathias Krause)
    - x86: Move __init annotation to the correct place (Mathias Krause)
    - x86: Mark constants of pci_mmcfg_nvidia_mcp55() as __initconst (Mathias Krause)
    - x86: Constify pci_mmcfg_probes[] array (Mathias Krause)
    - x86: Mark PCI BIOS initialization code as such (Mathias Krause)
    - Parenthesize PCI_DEVID and PCI_VPD_LRDT_ID parameters (Megan Kamiya)
    - Remove unnecessary variable in pci_add_dynid() (Tobias Klauser)"

    * tag 'pci-v3.18-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci: (109 commits)
    arm64: dts: Add APM X-Gene PCIe device tree nodes
    PCI: Add ACS quirk for AMD A88X southbridge devices
    PCI: xgene: Add APM X-Gene PCIe driver
    PCI: designware: Remove open-coded bitmap operations
    PCI/MSI: Remove unnecessary temporary variable
    PCI/MSI: Use __write_msi_msg() instead of write_msi_msg()
    MSI/powerpc: Use __read_msi_msg() instead of read_msi_msg()
    PCI/MSI: Use __get_cached_msi_msg() instead of get_cached_msi_msg()
    PCI/MSI: Add "msi_bus" sysfs MSI/MSI-X control for endpoints
    PCI/MSI: Remove "pos" from the struct msi_desc msi_attrib
    PCI/MSI: Remove unused kobject from struct msi_desc
    PCI/MSI: Rename pci_msi_check_device() to pci_msi_supported()
    PCI/MSI: Move D0 check into pci_msi_check_device()
    PCI/MSI: Remove arch_msi_check_device()
    irqchip: armada-370-xp: Remove arch_msi_check_device()
    PCI/MSI/PPC: Remove arch_msi_check_device()
    arm64: Add architectural support for PCI
    PCI: Add pci_remap_iospace() to map bus I/O resources
    of/pci: Add support for parsing PCI host bridge resources from DT
    of/pci: Add pci_get_new_domain_nr() and of_get_pci_domain_nr()
    ...

    Conflicts:
    arch/arm64/boot/dts/apm-storm.dtsi

    Linus Torvalds
     
  • Pull GPIO changes from Linus Walleij:
    "This is the bulk of GPIO changes for the v3.18 development cycle:

    - Increase the default ARCH_NR_GPIO from 256 to 512. This was done
    to avoid having a custom header for the x86
    architecture - GPIO is custom and complicated enough as it is
    already! We want to move to a radix to store the descriptors going
    forward, and finally get rid of this fixed array size altogether.

    - Endgame patching of the gpio_remove() semantics initiated by
    Abdoulaye Berthe. It is not accepted by the system that the
    removal of a GPIO chip fails during eg reboot or shutdown, and
    therefore the return value has now painfully been refactored away.
    For special cases like GPIO expanders on a hot-pluggable bus like
    USB, we may later add some gpiochip_try_remove() call, but for the
    cases we have now, return values are moot.

    - Some incremental refactoring of the gpiolib core and ACPI GPIO
    library for more descriptor usage.

    - Refactor the chained IRQ handler set-up method to handle also
    threaded, nested interrupts and set up the parent IRQ correctly.
    Switch STMPE and TC3589x drivers to use this registration method.

    - Add a .irq_not_threaded flag to the struct gpio_chip, so that also
    GPIO expanders that block but are still not using threaded IRQ
    handlers.

    - New drivers for the ARM64 X-Gene SoC GPIO controller.

    - The syscon GPIO driver has been improved to handle the "DSP GPIO"
    found on the TI Keystone 2 SoC:s.

    - ADNP driver switched to use gpiolib irqchip helpers.

    - Refactor the DWAPB driver to support being instantiated from and
    MFD cell (platform device).

    - Incremental feature improvement in the Zynq, MCP23S08, DWAPB, OMAP,
    Xilinx and Crystalcove drivers.

    - Various minor fixes"

    * tag 'gpio-v3.18-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-gpio: (52 commits)
    gpio: pch: Build context save/restore only for PM
    pinctrl: abx500: get rid of unused variable
    gpio: ks8695: fix 'else should follow close brace '}''
    gpio: stmpe: add verbose debug code
    gpio: stmpe: fix up interrupt enable logic
    gpio: staticize xway_stp_init()
    gpio: handle also nested irqchips in the chained handler set-up
    gpio: set parent irq on chained handlers
    gpiolib: irqchip: use irq_find_mapping while removing irqchip
    gpio: crystalcove: support virtual GPIO
    pinctrl: bcm281xx: make Kconfig dependency more strict
    gpio: kona: enable only on BCM_MOBILE or for compile testing
    gpio, bcm-kona, LLVMLinux: Remove use of __initconst
    gpio: Fix ngpio in gpio-xilinx driver
    gpio: dwapb: fix pointer to integer cast
    gpio: xgene: Remove unneeded #ifdef CONFIG_OF guard
    gpio: xgene: Remove unneeded forward declation for struct xgene_gpio
    gpio: xgene: Fix missing spin_lock_init()
    gpio: ks8695: fix switch case indentation
    gpiolib: add irq_not_threaded flag to gpio_chip
    ...

    Linus Torvalds
     
  • * patchwork: (544 commits)
    [media] ir-hix5hd2: fix build on c6x arch
    [media] pt3: fix DTV FE I2C driver load error paths
    Revert "[media] media: em28xx - remove reset_resume interface"
    [media] exynos4-is: fix some warnings when compiling on arm64
    [media] usb drivers: use %zu instead of %zd
    [media] pci drivers: use %zu instead of %zd
    [media] dvb-frontends: use %zu instead of %zd
    [media] s5p-mfc: Fix several printk warnings
    [media] s5p_mfc_opr: Fix warnings
    [media] ti-vpe: Fix typecast
    [media] s3c-camif: fix dma_addr_t printks
    [media] s5p_mfc_opr_v6: get rid of warnings when compiled with 64 bits
    [media] s5p_mfc_opr_v5: Fix lots of warnings on x86_64
    [media] em28xx: Fix identation
    [media] drxd: remove a dead code
    [media] saa7146: remove return after BUG()
    [media] cx88: remove return after BUG()
    [media] cx88: fix cards table CodingStyle
    [media] radio-sf16fmr2: declare some structs as static
    [media] radio-sf16fmi: declare pnp_attached as static
    ...

    Conflicts:
    Documentation/DocBook/media/v4l/compat.xml

    Mauro Carvalho Chehab
     

09 Oct, 2014

3 commits

  • Pull irq updates from Thomas Gleixner:
    "The irq departement delivers:

    - a cleanup series to get rid of mindlessly copied code.

    - another bunch of new pointlessly different interrupt chip drivers.

    Adding homebrewn irq chips (and timers) to SoCs must provide a
    value add which is beyond the imagination of mere mortals.

    - the usual SoC irq controller updates, IOW my second cat herding
    project"

    * 'irq-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (44 commits)
    irqchip: gic-v3: Implement CPU PM notifier
    irqchip: gic-v3: Refactor gic_enable_redist to support both enabling and disabling
    irqchip: renesas-intc-irqpin: Add minimal runtime PM support
    irqchip: renesas-intc-irqpin: Add helper variable dev = &pdev->dev
    irqchip: atmel-aic5: Add sama5d4 support
    irqchip: atmel-aic5: The sama5d3 has 48 IRQs
    Documentation: bcm7120-l2: Add Broadcom BCM7120-style L2 binding
    irqchip: bcm7120-l2: Add Broadcom BCM7120-style Level 2 interrupt controller
    irqchip: renesas-irqc: Add binding docs for new R-Car Gen2 SoCs
    irqchip: renesas-irqc: Add DT binding documentation
    irqchip: renesas-intc-irqpin: Document SoC-specific bindings
    openrisc: Get rid of handle_IRQ
    arm64: Get rid of handle_IRQ
    ARM: omap2: irq: Convert to handle_domain_irq
    ARM: imx: tzic: Convert to handle_domain_irq
    ARM: imx: avic: Convert to handle_domain_irq
    irqchip: or1k-pic: Convert to handle_domain_irq
    irqchip: atmel-aic5: Convert to handle_domain_irq
    irqchip: atmel-aic: Convert to handle_domain_irq
    irqchip: gic-v3: Convert to handle_domain_irq
    ...

    Linus Torvalds
     
  • Pull timer updates from Thomas Gleixner:
    "Nothing really exciting this time:

    - a few fixlets in the NOHZ code

    - a new ARM SoC timer abomination. One should expect that we have
    enough of them already, but they insist on inventing new ones.

    - the usual bunch of ARM SoC timer updates. That feels like herding
    cats"

    * 'timers-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    clocksource: arm_arch_timer: Consolidate arch_timer_evtstrm_enable
    clocksource: arm_arch_timer: Enable counter access for 32-bit ARM
    clocksource: arm_arch_timer: Change clocksource name if CP15 unavailable
    clocksource: sirf: Disable counter before re-setting it
    clocksource: cadence_ttc: Add support for 32bit mode
    clocksource: tcb_clksrc: Sanitize IRQ request
    clocksource: arm_arch_timer: Discard unavailable timers correctly
    clocksource: vf_pit_timer: Support shutdown mode
    ARM: meson6: clocksource: Add Meson6 timer support
    ARM: meson: documentation: Add timer documentation
    clocksource: sh_tmu: Document r8a7779 binding
    clocksource: sh_mtu2: Document r7s72100 binding
    clocksource: sh_cmt: Document SoC specific bindings
    timerfd: Remove an always true check
    nohz: Avoid tick's double reprogramming in highres mode
    nohz: Fix spurious periodic tick behaviour in low-res dynticks mode

    Linus Torvalds
     
  • …/linux-rcu into core/rcu

    Pull additional commits for locktorture, from Paul E. McKenney.

    Signed-off-by: Ingo Molnar <mingo@kernel.org>

    Ingo Molnar