04 Apr, 2014

4 commits

  • Pull cgroup updates from Tejun Heo:
    "A lot updates for cgroup:

    - The biggest one is cgroup's conversion to kernfs. cgroup took
    after the long abandoned vfs-entangled sysfs implementation and
    made it even more convoluted over time. cgroup's internal objects
    were fused with vfs objects which also brought in vfs locking and
    object lifetime rules. Naturally, there are places where vfs rules
    don't fit and nasty hacks, such as credential switching or lock
    dance interleaving inode mutex and cgroup_mutex with object serial
    number comparison thrown in to decide whether the operation is
    actually necessary, needed to be employed.

    After conversion to kernfs, internal object lifetime and locking
    rules are mostly isolated from vfs interactions allowing shedding
    of several nasty hacks and overall simplification. This will also
    allow implmentation of operations which may affect multiple cgroups
    which weren't possible before as it would have required nesting
    i_mutexes.

    - Various simplifications including dropping of module support,
    easier cgroup name/path handling, simplified cgroup file type
    handling and task_cg_lists optimization.

    - Prepatory changes for the planned unified hierarchy, which is still
    a patchset away from being actually operational. The dummy
    hierarchy is updated to serve as the default unified hierarchy.
    Controllers which aren't claimed by other hierarchies are
    associated with it, which BTW was what the dummy hierarchy was for
    anyway.

    - Various fixes from Li and others. This pull request includes some
    patches to add missing slab.h to various subsystems. This was
    triggered xattr.h include removal from cgroup.h. cgroup.h
    indirectly got included a lot of files which brought in xattr.h
    which brought in slab.h.

    There are several merge commits - one to pull in kernfs updates
    necessary for converting cgroup (already in upstream through
    driver-core), others for interfering changes in the fixes branch"

    * 'for-3.15' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup: (74 commits)
    cgroup: remove useless argument from cgroup_exit()
    cgroup: fix spurious lockdep warning in cgroup_exit()
    cgroup: Use RCU_INIT_POINTER(x, NULL) in cgroup.c
    cgroup: break kernfs active_ref protection in cgroup directory operations
    cgroup: fix cgroup_taskset walking order
    cgroup: implement CFTYPE_ONLY_ON_DFL
    cgroup: make cgrp_dfl_root mountable
    cgroup: drop const from @buffer of cftype->write_string()
    cgroup: rename cgroup_dummy_root and related names
    cgroup: move ->subsys_mask from cgroupfs_root to cgroup
    cgroup: treat cgroup_dummy_root as an equivalent hierarchy during rebinding
    cgroup: remove NULL checks from [pr_cont_]cgroup_{name|path}()
    cgroup: use cgroup_setup_root() to initialize cgroup_dummy_root
    cgroup: reorganize cgroup bootstrapping
    cgroup: relocate setting of CGRP_DEAD
    cpuset: use rcu_read_lock() to protect task_cs()
    cgroup_freezer: document freezer_fork() subtleties
    cgroup: update cgroup_transfer_tasks() to either succeed or fail
    cgroup: drop task_lock() protection around task->cgroups
    cgroup: update how a newly forked task gets associated with css_set
    ...

    Linus Torvalds
     
  • Pull tracing updates from Steven Rostedt:
    "Most of the changes were largely clean ups, and some documentation.
    But there were a few features that were added:

    Uprobes now work with event triggers and multi buffers and have
    support under ftrace and perf.

    The big feature is that the function tracer can now be used within the
    multi buffer instances. That is, you can now trace some functions in
    one buffer, others in another buffer, all functions in a third buffer
    and so on. They are basically agnostic from each other. This only
    works for the function tracer and not for the function graph trace,
    although you can have the function graph tracer running in the top
    level buffer (or any tracer for that matter) and have different
    function tracing going on in the sub buffers"

    * tag 'trace-3.15' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace: (45 commits)
    tracing: Add BUG_ON when stack end location is over written
    tracepoint: Remove unused API functions
    Revert "tracing: Move event storage for array from macro to standalone function"
    ftrace: Constify ftrace_text_reserved
    tracepoints: API doc update to tracepoint_probe_register() return value
    tracepoints: API doc update to data argument
    ftrace: Fix compilation warning about control_ops_free
    ftrace/x86: BUG when ftrace recovery fails
    ftrace: Warn on error when modifying ftrace function
    ftrace: Remove freelist from struct dyn_ftrace
    ftrace: Do not pass data to ftrace_dyn_arch_init
    ftrace: Pass retval through return in ftrace_dyn_arch_init()
    ftrace: Inline the code from ftrace_dyn_table_alloc()
    ftrace: Cleanup of global variables ftrace_new_pgs and ftrace_update_cnt
    tracing: Evaluate len expression only once in __dynamic_array macro
    tracing: Correctly expand len expressions from __dynamic_array macro
    tracing/module: Replace include of tracepoint.h with jump_label.h in module.h
    tracing: Fix event header migrate.h to include tracepoint.h
    tracing: Fix event header writeback.h to include tracepoint.h
    tracing: Warn if a tracepoint is not set via debugfs
    ...

    Linus Torvalds
     
  • Pull crypto updates from Herbert Xu:
    "Here is the crypto update for 3.15:
    - Added 3DES driver for OMAP4/AM43xx
    - Added AVX2 acceleration for SHA
    - Added hash-only AEAD algorithms in caam
    - Removed tegra driver as it is not functioning and the hardware is
    too slow
    - Allow blkcipher walks over AEAD (needed for ARM)
    - Fixed unprotected FPU/SSE access in ghash-clmulni-intel
    - Fixed highmem crash in omap-sham
    - Add (zero entropy) randomness when initialising hardware RNGs
    - Fixed unaligned ahash comletion functions
    - Added soft module depedency for crc32c for initrds that use crc32c"

    * git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6: (60 commits)
    crypto: ghash-clmulni-intel - use C implementation for setkey()
    crypto: x86/sha1 - reduce size of the AVX2 asm implementation
    crypto: x86/sha1 - fix stack alignment of AVX2 variant
    crypto: x86/sha1 - re-enable the AVX variant
    crypto: sha - SHA1 transform x86_64 AVX2
    crypto: crypto_wq - Fix late crypto work queue initialization
    crypto: caam - add missing key_dma unmap
    crypto: caam - add support for aead null encryption
    crypto: testmgr - add aead null encryption test vectors
    crypto: export NULL algorithms defines
    crypto: caam - remove error propagation handling
    crypto: hash - Simplify the ahash_finup implementation
    crypto: hash - Pull out the functions to save/restore request
    crypto: hash - Fix the pointer voodoo in unaligned ahash
    crypto: caam - Fix first parameter to caam_init_rng
    crypto: omap-sham - Map SG pages if they are HIGHMEM before accessing
    crypto: caam - Dynamic memory allocation for caam_rng_ctx object
    crypto: allow blkcipher walks over AEAD data
    crypto: remove direct blkcipher_walk dependency on transform
    hwrng: add randomness to system from rng sources
    ...

    Linus Torvalds
     
  • Pull security subsystem updates from James Morris:
    "Apart from reordering the SELinux mmap code to ensure DAC is called
    before MAC, these are minor maintenance updates"

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security: (23 commits)
    selinux: correctly label /proc inodes in use before the policy is loaded
    selinux: put the mmap() DAC controls before the MAC controls
    selinux: fix the output of ./scripts/get_maintainer.pl for SELinux
    evm: enable key retention service automatically
    ima: skip memory allocation for empty files
    evm: EVM does not use MD5
    ima: return d_name.name if d_path fails
    integrity: fix checkpatch errors
    ima: fix erroneous removal of security.ima xattr
    security: integrity: Use a more current logging style
    MAINTAINERS: email updates and other misc. changes
    ima: reduce memory usage when a template containing the n field is used
    ima: restore the original behavior for sending data with ima template
    Integrity: Pass commname via get_task_comm()
    fs: move i_readcount
    ima: use static const char array definitions
    security: have cap_dentry_init_security return error
    ima: new helper: file_inode(file)
    kernel: Mark function as static in kernel/seccomp.c
    capability: Use current logging styles
    ...

    Linus Torvalds
     

03 Apr, 2014

21 commits

  • Pull networking updates from David Miller:
    "Here is my initial pull request for the networking subsystem during
    this merge window:

    1) Support for ESN in AH (RFC 4302) from Fan Du.

    2) Add full kernel doc for ethtool command structures, from Ben
    Hutchings.

    3) Add BCM7xxx PHY driver, from Florian Fainelli.

    4) Export computed TCP rate information in netlink socket dumps, from
    Eric Dumazet.

    5) Allow IPSEC SA to be dumped partially using a filter, from Nicolas
    Dichtel.

    6) Convert many drivers to pci_enable_msix_range(), from Alexander
    Gordeev.

    7) Record SKB timestamps more efficiently, from Eric Dumazet.

    8) Switch to microsecond resolution for TCP round trip times, also
    from Eric Dumazet.

    9) Clean up and fix 6lowpan fragmentation handling by making use of
    the existing inet_frag api for it's implementation.

    10) Add TX grant mapping to xen-netback driver, from Zoltan Kiss.

    11) Auto size SKB lengths when composing netlink messages based upon
    past message sizes used, from Eric Dumazet.

    12) qdisc dumps can take a long time, add a cond_resched(), From Eric
    Dumazet.

    13) Sanitize netpoll core and drivers wrt. SKB handling semantics.
    Get rid of never-used-in-tree netpoll RX handling. From Eric W
    Biederman.

    14) Support inter-address-family and namespace changing in VTI tunnel
    driver(s). From Steffen Klassert.

    15) Add Altera TSE driver, from Vince Bridgers.

    16) Optimizing csum_replace2() so that it doesn't adjust the checksum
    by checksumming the entire header, from Eric Dumazet.

    17) Expand BPF internal implementation for faster interpreting, more
    direct translations into JIT'd code, and much cleaner uses of BPF
    filtering in non-socket ocntexts. From Daniel Borkmann and Alexei
    Starovoitov"

    * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next: (1976 commits)
    netpoll: Use skb_irq_freeable to make zap_completion_queue safe.
    net: Add a test to see if a skb is freeable in irq context
    qlcnic: Fix build failure due to undefined reference to `vxlan_get_rx_port'
    net: ptp: move PTP classifier in its own file
    net: sxgbe: make "core_ops" static
    net: sxgbe: fix logical vs bitwise operation
    net: sxgbe: sxgbe_mdio_register() frees the bus
    Call efx_set_channels() before efx->type->dimension_resources()
    xen-netback: disable rogue vif in kthread context
    net/mlx4: Set proper build dependancy with vxlan
    be2net: fix build dependency on VxLAN
    mac802154: make csma/cca parameters per-wpan
    mac802154: allow only one WPAN to be up at any given time
    net: filter: minor: fix kdoc in __sk_run_filter
    netlink: don't compare the nul-termination in nla_strcmp
    can: c_can: Avoid led toggling for every packet.
    can: c_can: Simplify TX interrupt cleanup
    can: c_can: Store dlc private
    can: c_can: Reduce register access
    can: c_can: Make the code readable
    ...

    Linus Torvalds
     
  • Pull HID updates from Jiri Kosina:
    - substantial cleanup of the generic and transport layers, in the
    direction of an ultimate goal of making struct hid_device completely
    transport independent, by Benjamin Tissoires
    - cp2112 driver from David Barksdale
    - a lot of fixes and new hardware support (Dualshock 4) to hid-sony
    driver, by Frank Praznik
    - support for Win 8.1 multitouch protocol by Andrew Duggan
    - other smaller fixes / device ID additions

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid: (75 commits)
    HID: sony: fix force feedback mismerge
    HID: sony: Set the quriks flag for Bluetooth controllers
    HID: sony: Fix Sixaxis cable state detection
    HID: uhid: Add UHID_CREATE2 + UHID_INPUT2
    HID: hyperv: fix _raw_request() prototype
    HID: hyperv: Implement a stub raw_request() entry point
    HID: hid-sensor-hub: fix sleeping function called from invalid context
    HID: multitouch: add support for Win 8.1 multitouch touchpads
    HID: remove hid_output_raw_report transport implementations
    HID: sony: do not rely on hid_output_raw_report
    HID: cp2112: remove the last hid_output_raw_report() call
    HID: cp2112: remove various hid_out_raw_report calls
    HID: multitouch: add support of other generic collections in hid-mt
    HID: multitouch: remove pen special handling
    HID: multitouch: remove registered devices with default behavior
    HID: hidp: Add a comment that some devices depend on the current behavior of uniq
    HID: sony: Prevent duplicate controller connections.
    HID: sony: Perform a boundry check on the sixaxis battery level index.
    HID: sony: Fix work queue issues
    HID: sony: Fix multi-line comment styling
    ...

    Linus Torvalds
     
  • Pull trivial tree updates from Jiri Kosina:
    "Usual rocket science -- mostly documentation and comment updates"

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial:
    sparse: fix comment
    doc: fix double words
    isdn: capi: fix "CAPI_VERSION" comment
    doc: DocBook: Fix typos in xml and template file
    Bluetooth: add module name for btwilink
    driver core: unexport static function create_syslog_header
    mmc: core: typo fix in printk specifier
    ARM: spear: clean up editing mistake
    net-sysfs: fix comment typo 'CONFIG_SYFS'
    doc: Insert MODULE_ in module-signing macros
    Documentation: update URL to hfsplus Technote 1150
    gpio: update path to documentation
    ixgbe: Fix format string in ixgbe_fcoe.
    Kconfig: Remove useless "default N" lines
    user_namespace.c: Remove duplicated word in comment
    CREDITS: fix formatting
    treewide: Fix typo in Documentation/DocBook
    mm: Fix warning on make htmldocs caused by slab.c
    ata: ata-samsung_cf: cleanup in header file
    idr: remove unused prototype of idr_free()

    Linus Torvalds
     
  • Pull sched/idle changes from Ingo Molnar:
    "More idle code reorganization, to prepare for more integration.

    (Sent separately because it depended on pending timer work, which is
    now upstream)"

    * 'sched-idle-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    sched/idle: Add more comments to the code
    sched/idle: Move idle conditions in cpuidle_idle main function
    sched/idle: Reorganize the idle loop
    cpuidle/idle: Move the cpuidle_idle_call function to idle.c
    idle/cpuidle: Split cpuidle_idle_call main function into smaller functions

    Linus Torvalds
     
  • pidns_get()->get_pid_ns() can hit ns == NULL. This task_struct can't
    go away, but task_active_pid_ns(task) is NULL if release_task(task)
    was already called. Alternatively we could change get_pid_ns(ns) to
    check ns != NULL, but it seems that other callers are fine.

    Signed-off-by: Oleg Nesterov
    Cc: Eric W. Biederman ebiederm@xmission.com>
    Cc: stable@kernel.org
    Signed-off-by: Linus Torvalds

    Oleg Nesterov
     
  • Pull kvm updates from Paolo Bonzini:
    "PPC and ARM do not have much going on this time. Most of the cool
    stuff, instead, is in s390 and (after a few releases) x86.

    ARM has some caching fixes and PPC has transactional memory support in
    guests. MIPS has some fixes, with more probably coming in 3.16 as
    QEMU will soon get support for MIPS KVM.

    For x86 there are optimizations for debug registers, which trigger on
    some Windows games, and other important fixes for Windows guests. We
    now expose to the guest Broadwell instruction set extensions and also
    Intel MPX. There's also a fix/workaround for OS X guests, nested
    virtualization features (preemption timer), and a couple kvmclock
    refinements.

    For s390, the main news is asynchronous page faults, together with
    improvements to IRQs (floating irqs and adapter irqs) that speed up
    virtio devices"

    * tag 'kvm-3.15-1' of git://git.kernel.org/pub/scm/virt/kvm/kvm: (96 commits)
    KVM: PPC: Book3S HV: Save/restore host PMU registers that are new in POWER8
    KVM: PPC: Book3S HV: Fix decrementer timeouts with non-zero TB offset
    KVM: PPC: Book3S HV: Don't use kvm_memslots() in real mode
    KVM: PPC: Book3S HV: Return ENODEV error rather than EIO
    KVM: PPC: Book3S: Trim top 4 bits of physical address in RTAS code
    KVM: PPC: Book3S HV: Add get/set_one_reg for new TM state
    KVM: PPC: Book3S HV: Add transactional memory support
    KVM: Specify byte order for KVM_EXIT_MMIO
    KVM: vmx: fix MPX detection
    KVM: PPC: Book3S HV: Fix KVM hang with CONFIG_KVM_XICS=n
    KVM: PPC: Book3S: Introduce hypervisor call H_GET_TCE
    KVM: PPC: Book3S HV: Fix incorrect userspace exit on ioeventfd write
    KVM: s390: clear local interrupts at cpu initial reset
    KVM: s390: Fix possible memory leak in SIGP functions
    KVM: s390: fix calculation of idle_mask array size
    KVM: s390: randomize sca address
    KVM: ioapic: reinject pending interrupts on KVM_SET_IRQCHIP
    KVM: Bump KVM_MAX_IRQ_ROUTES for s390
    KVM: s390: irq routing for adapter interrupts.
    KVM: s390: adapter interrupt sources
    ...

    Linus Torvalds
     
  • Pull virtio updates from Rusty Russell:
    "Nothing exciting: virtio-blk users might see a bit of a boost from the
    doubling of the default queue length though"

    * tag 'virtio-next-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux:
    virtio-blk: base queue-depth on virtqueue ringsize or module param
    Revert a02bbb1ccfe8: MAINTAINERS: add virtio-dev ML for virtio
    virtio: fail adding buffer on broken queues.
    virtio-rng: don't crash if virtqueue is broken.
    virtio_balloon: don't crash if virtqueue is broken.
    virtio_blk: don't crash, report error if virtqueue is broken.
    virtio_net: don't crash if virtqueue is broken.
    virtio_balloon: don't softlockup on huge balloon changes.
    virtio: Use pci_enable_msix_exact() instead of pci_enable_msix()
    MAINTAINERS: virtio-dev is subscribers only
    tools/virtio: add a missing )
    tools/virtio: fix missing kmemleak_ignore symbol
    tools/virtio: update internal copies of headers

    Linus Torvalds
     
  • Pull DMA-mapping updates from Marek Szyprowski:
    "This contains extension for more efficient handling of io address
    space for dma-mapping subsystem for ARM architecture"

    * 'for-3.15' of git://git.linaro.org/people/mszyprowski/linux-dma-mapping:
    arm: dma-mapping: remove order parameter from arm_iommu_create_mapping()
    arm: dma-mapping: Add support to extend DMA IOMMU mappings

    Linus Torvalds
     
  • Pull devicetree changes from Grant Likely:
    "Updates to devicetree core code. This branch contains the following
    notable changes:

    - add reserved memory binding
    - make struct device_node a kobject and remove legacy
    /proc/device-tree
    - ePAPR conformance fixes
    - update in-kernel DTC copy to version v1.4.0
    - preparatory changes for dynamic device tree overlays
    - minor bug fixes and documentation changes

    The most significant change in this branch is the conversion of struct
    device_node to be a kobject that is exposed via sysfs and removal of
    the old /proc/device-tree code. This simplifies the device tree
    handling code and tightens up the lifecycle on device tree nodes.

    [updated: added fix for dangling select PROC_DEVICETREE]"

    * tag 'dt-for-linus' of git://git.secretlab.ca/git/linux: (29 commits)
    dt: Remove dangling "select PROC_DEVICETREE"
    of: Add support for ePAPR "stdout-path" property
    of: device_node kobject lifecycle fixes
    of: only scan for reserved mem when fdt present
    powerpc: add support for reserved memory defined by device tree
    arm64: add support for reserved memory defined by device tree
    of: add missing major vendors
    of: add vendor prefix for SMSC
    of: remove /proc/device-tree
    of/selftest: Add self tests for manipulation of properties
    of: Make device nodes kobjects so they show up in sysfs
    arm: add support for reserved memory defined by device tree
    drivers: of: add support for custom reserved memory drivers
    drivers: of: add initialization code for dynamic reserved memory
    drivers: of: add initialization code for static reserved memory
    of: document bindings for reserved-memory nodes
    Revert "of: fix of_update_property()"
    kbuild: dtbs_install: new make target
    ARM: mvebu: Allows to get the SoC ID even without PCI enabled
    of: Allows to use the PCI translator without the PCI core
    ...

    Linus Torvalds
     
  • Pull more ACPI and power management updates from Rafael Wysocki:
    "These are commits that were not quite ready when I sent the original
    pull request for 3.15-rc1 several days ago, but they have spent some
    time in linux-next since then and appear to be good to go. All of
    them are fixes and cleanups.

    Specifics:

    - Remaining changes from upstream ACPICA release 20140214 that
    introduce code to automatically serialize the execution of methods
    creating any named objects which really cannot be executed in
    parallel with each other anyway (previously ACPICA attempted to
    address that by aborting methods upon conflict detection, but that
    wasn't reliable enough and led to other issues). From Bob Moore
    and Lv Zheng.

    - intel_pstate fix to use del_timer_sync() instead of del_timer() in
    the exit path before freeing the timer structure from Dirk
    Brandewie (original patch from Thomas Gleixner).

    - cpufreq fix related to system resume from Viresh Kumar.

    - Serialization of frequency transitions in cpufreq that involve
    PRECHANGE and POSTCHANGE notifications to avoid ordering issues
    resulting from race conditions. From Srivatsa S Bhat and Viresh
    Kumar.

    - Revert of an ACPI processor driver change that was based on a
    specific interpretation of the ACPI spec which may not be correct
    (the relevant part of the spec appears to be incomplete). From
    Hanjun Guo.

    - Runtime PM core cleanups and documentation updates from Geert
    Uytterhoeven.

    - PNP core cleanup from Michael Opdenacker"

    * tag 'pm+acpi-3.15-rc1-2' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
    cpufreq: Make cpufreq_notify_transition & cpufreq_notify_post_transition static
    cpufreq: Convert existing drivers to use cpufreq_freq_transition_{begin|end}
    cpufreq: Make sure frequency transitions are serialized
    intel_pstate: Use del_timer_sync in intel_pstate_cpu_stop
    cpufreq: resume drivers before enabling governors
    PM / Runtime: Spelling s/competing/completing/
    PM / Runtime: s/foo_process_requests/foo_process_next_request/
    PM / Runtime: GENERIC_SUBSYS_PM_OPS is gone
    PM / Runtime: Correct documented return values for generic PM callbacks
    PM / Runtime: Split line longer than 80 characters
    PM / Runtime: dev_pm_info.runtime_error is signed
    Revert "ACPI / processor: Make it possible to get APIC ID via GIC"
    ACPICA: Enable auto-serialization as a default kernel behavior.
    ACPICA: Ignore sync_level for methods that have been auto-serialized.
    ACPICA: Add additional named objects for the auto-serialize method scan.
    ACPICA: Add auto-serialization support for ill-behaved control methods.
    ACPICA: Remove global option to serialize all control methods.
    PNP: remove deprecated IRQF_DISABLED

    Linus Torvalds
     
  • Pull powerpc non-virtualized cpuidle from Ben Herrenschmidt:
    "This is the branch I mentioned in my other pull request which contains
    our improved cpuidle support for the "powernv" platform
    (non-virtualized).

    It adds support for the "fast sleep" feature of the processor which
    provides higher power savings than our usual "nap" mode but at the
    cost of losing the timers while asleep, and thus exploits the new
    timer broadcast framework to work around that limitation.

    It's based on a tip timer tree that you seem to have already merged"

    * 'powernv-cpuidle' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc:
    cpuidle/powernv: Parse device tree to setup idle states
    cpuidle/powernv: Add "Fast-Sleep" CPU idle state
    powerpc/powernv: Add OPAL call to resync timebase on wakeup
    powerpc/powernv: Add context management for Fast Sleep
    powerpc: Split timer_interrupt() into timer handling and interrupt handling routines
    powerpc: Implement tick broadcast IPI as a fixed IPI message
    powerpc: Free up the slot of PPC_MSG_CALL_FUNC_SINGLE IPI message

    Linus Torvalds
     
  • Pull main powerpc updates from Ben Herrenschmidt:
    "This time around, the powerpc merges are going to be a little bit more
    complicated than usual.

    This is the main pull request with most of the work for this merge
    window. I will describe it a bit more further down.

    There is some additional cpuidle driver work, however I haven't
    included it in this tree as it depends on some work in tip/timer-core
    which Thomas accidentally forgot to put in a topic branch. Since I
    didn't want to carry all of that tip timer stuff in powerpc -next, I
    setup a separate branch on top of Thomas tree with just that cpuidle
    driver in it, and Stephen has been carrying that in next separately
    for a while now. I'll send a separate pull request for it.

    Additionally, two new pieces in this tree add users for a sysfs API
    that Tejun and Greg have been deprecating in drivers-core-next.
    Thankfully Greg reverted the patch that removes the old API so this
    merge can happen cleanly, but once merged, I will send a patch
    adjusting our new code to the new API so that Greg can send you the
    removal patch.

    Now as for the content of this branch, we have a lot of perf work for
    power8 new counters including support for our new "nest" counters
    (also called 24x7) under pHyp (not natively yet).

    We have new functionality when running under the OPAL firmware
    (non-virtualized or KVM host), such as access to the firmware error
    logs and service processor dumps, system parameters and sensors, along
    with a hwmon driver for the latter.

    There's also a bunch of bug fixes accross the board, some LE fixes,
    and a nice set of selftests for validating our various types of copy
    loops.

    On the Freescale side, we see mostly new chip/board revisions, some
    clock updates, better support for machine checks and debug exceptions,
    etc..."

    * 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc: (70 commits)
    powerpc/book3s: Fix CFAR clobbering issue in machine check handler.
    powerpc/compat: 32-bit little endian machine name is ppcle, not ppc
    powerpc/le: Big endian arguments for ppc_rtas()
    powerpc: Use default set of netfilter modules (CONFIG_NETFILTER_ADVANCED=n)
    powerpc/defconfigs: Enable THP in pseries defconfig
    powerpc/mm: Make sure a local_irq_disable prevent a parallel THP split
    powerpc: Rate-limit users spamming kernel log buffer
    powerpc/perf: Fix handling of L3 events with bank == 1
    powerpc/perf/hv_{gpci, 24x7}: Add documentation of device attributes
    powerpc/perf: Add kconfig option for hypervisor provided counters
    powerpc/perf: Add support for the hv 24x7 interface
    powerpc/perf: Add support for the hv gpci (get performance counter info) interface
    powerpc/perf: Add macros for defining event fields & formats
    powerpc/perf: Add a shared interface to get gpci version and capabilities
    powerpc/perf: Add 24x7 interface headers
    powerpc/perf: Add hv_gpci interface header
    powerpc: Add hvcalls for 24x7 and gpci (Get Performance Counter Info)
    sysfs: create bin_attributes under the requested group
    powerpc/perf: Enable BHRB access for EBB events
    powerpc/perf: Add BHRB constraint and IFM MMCRA handling for EBB
    ...

    Linus Torvalds
     
  • Pull MIPS updates from Ralf Baechle:
    - Support for Imgtec's Aptiv family of MIPS cores.
    - Improved detection of BCM47xx configurations.
    - Fix hiberation for certain configurations.
    - Add support for the Chinese Loongson 3 CPU, a MIPS64 R2 core and
    systems.
    - Detection and support for the MIPS P5600 core.
    - A few more random fixes that didn't make 3.14.
    - Support for the EVA Extended Virtual Addressing
    - Switch Alchemy to the platform PATA driver
    - Complete unification of Alchemy support
    - Allow availability of I/O cache coherency to be runtime detected
    - Improvments to multiprocessing support for Imgtec platforms
    - A few microoptimizations
    - Cleanups of FPU support
    - Paul Gortmaker's fixes for the init stuff
    - Support for seccomp

    * 'mips-for-linux-next' of git://git.linux-mips.org/pub/scm/ralf/upstream-sfr: (165 commits)
    MIPS: CPC: Use __raw_ memory access functions
    MIPS: CM: use __raw_ memory access functions
    MIPS: Fix warning when including smp-ops.h with CONFIG_SMP=n
    MIPS: Malta: GIC IPIs may be used without MT
    MIPS: smp-mt: Use common GIC IPI implementation
    MIPS: smp-cmp: Remove incorrect core number probe
    MIPS: Fix gigaton of warning building with microMIPS.
    MIPS: Fix core number detection for MT cores
    MIPS: MT: core_nvpes function to retrieve VPE count
    MIPS: Provide empty mips_mt_set_cpuoptions when CONFIG_MIPS_MT=n
    MIPS: Lasat: Replace del_timer by del_timer_sync
    MIPS: Malta: Setup PM I/O region on boot
    MIPS: Loongson: Add a Loongson-3 default config file
    MIPS: Loongson 3: Add CPU hotplug support
    MIPS: Loongson 3: Add Loongson-3 SMP support
    MIPS: Loongson: Add Loongson-3 Kconfig options
    MIPS: Loongson: Add swiotlb to support All-Memory DMA
    MIPS: Loongson 3: Add serial port support
    MIPS: Loongson 3: Add IRQ init and dispatch support
    MIPS: Loongson 3: Add HT-linked PCI support
    ...

    Linus Torvalds
     
  • Commit 74397174989e5f70 attempted to clean up the power management options
    for arm64, but when things were merged it didn't fully take effect. Fix
    it again.

    Signed-off-by: Josh Boyer
    Signed-off-by: Linus Torvalds

    Josh Boyer
     
  • Pull x86 old platform removal from Peter Anvin:
    "This patchset removes support for several completely obsolete
    platforms, where the maintainers either have completely vanished or
    acked the removal. For some of them it is questionable if there even
    exists functional specimens of the hardware"

    Geert Uytterhoeven apparently thought this was a April Fool's pull request ;)

    * 'x86-nuke-platforms-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    x86, platforms: Remove NUMAQ
    x86, platforms: Remove SGI Visual Workstation
    x86, apic: Remove support for IBM Summit/EXA chipset
    x86, apic: Remove support for ia32-based Unisys ES7000

    Linus Torvalds
     
  • Pull compat time conversion changes from Peter Anvin:
    "Despite the branch name this is really neither an x86 nor an
    x32-specific patchset, although it the implementation of the
    discussions that followed the x32 security hole a few months ago.

    This removes get/put_compat_timespec/val() and replaces them with
    compat_get/put_timespec/val() which are savvy as to the current status
    of COMPAT_USE_64BIT_TIME.

    It removes several unused and/or incorrect/misleading functions (like
    compat_put_timeval_convert which doesn't in fact do any conversion)
    and also replaces several open-coded implementations what is now
    called compat_convert_timespec() with that function"

    * 'x86-x32-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    compat: Fix sparse address space warnings
    compat: Get rid of (get|put)_compat_time(val|spec)

    Linus Torvalds
     
  • Pull x86 vdso changes from Peter Anvin:
    "This is the revamp of the 32-bit vdso and the associated cleanups.

    This adds timekeeping support to the 32-bit vdso that we already have
    in the 64-bit vdso. Although 32-bit x86 is legacy, it is likely to
    remain in the embedded space for a very long time to come.

    This removes the traditional COMPAT_VDSO support; the configuration
    variable is reused for simply removing the 32-bit vdso, which will
    produce correct results but obviously suffer a performance penalty.
    Only one beta version of glibc was affected, but that version was
    unfortunately included in one OpenSUSE release.

    This is not the end of the vdso cleanups. Stefani and Andy have
    agreed to continue work for the next kernel cycle; in fact Andy has
    already produced another set of cleanups that came too late for this
    cycle.

    An incidental, but arguably important, change is that this ensures
    that unused space in the VVAR page is properly zeroed. It wasn't
    before, and would contain whatever garbage was left in memory by BIOS
    or the bootloader. Since the VVAR page is accessible to user space
    this had the potential of information leaks"

    * 'x86-vdso-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (23 commits)
    x86, vdso: Fix the symbol versions on the 32-bit vDSO
    x86, vdso, build: Don't rebuild 32-bit vdsos on every make
    x86, vdso: Actually discard the .discard sections
    x86, vdso: Fix size of get_unmapped_area()
    x86, vdso: Finish removing VDSO32_PRELINK
    x86, vdso: Move more vdso definitions into vdso.h
    x86: Load the 32-bit vdso in place, just like the 64-bit vdsos
    x86, vdso32: handle 32 bit vDSO larger one page
    x86, vdso32: Disable stack protector, adjust optimizations
    x86, vdso: Zero-pad the VVAR page
    x86, vdso: Add 32 bit VDSO time support for 64 bit kernel
    x86, vdso: Add 32 bit VDSO time support for 32 bit kernel
    x86, vdso: Patch alternatives in the 32-bit VDSO
    x86, vdso: Introduce VVAR marco for vdso32
    x86, vdso: Cleanup __vdso_gettimeofday()
    x86, vdso: Replace VVAR(vsyscall_gtod_data) by gtod macro
    x86, vdso: __vdso_clock_gettime() cleanup
    x86, vdso: Revamp vclock_gettime.c
    mm: Add new func _install_special_mapping() to mmap.c
    x86, vdso: Make vsyscall_gtod_data handling x86 generic
    ...

    Linus Torvalds
     
  • Pull x86 boot changes from Peter Anvin:
    "This patchset is a set of cleanups aiming at librarize some of the
    common code from the boot environments. We currently have three
    different "little environments" (boot, boot/compressed, and
    realmode/rm) in x86, and we are likely to soon get a fourth one
    (kexec/purgatory, which will have to be integrated in the kernel to
    support secure kexec). This is primarily a cleanup in the
    anticipation of the latter.

    While Vivek implemented this, he ran into some bugs, in particular the
    memcmp implementation for when gcc punts from using the builtin would
    have a misnamed symbol, causing compilation errors if we were ever
    unlucky enough that gcc didn't want to inline the test"

    * 'x86/boot' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    x86, boot: Move memset() definition in compressed/string.c
    x86, boot: Move memcmp() into string.h and string.c
    x86, boot: Move optimized memcpy() 32/64 bit versions to compressed/string.c
    x86, boot: Create a separate string.h file to provide standard string functions
    x86, boot: Undef memcmp before providing a new definition

    Linus Torvalds
     
  • Pull Metag architecture changes from James Hogan:
    - Remove unused NUMA definition (SD_NODE_INIT)
    - Refactor signal code to use struct ksignal
    - IRQ migration cleanup to use irq_set_affinity
    - Clean up main Kconfig file a little

    * tag 'metag-for-v3.15' of git://git.kernel.org/pub/scm/linux/kernel/git/jhogan/metag:
    sched: remove unused SCHED_INIT_NODE
    metag: Use get_signal() signal_setup_done()
    metag: Fix METAG Kconfig symbol select ordering
    metag: Use irq_set_affinity instead of homebrewn code

    Linus Torvalds
     
  • Commit 2223f6f6eeaa "x86: Clean up dumpstack_64.c code" changed
    the irq_stack processing a little from what it was before.
    The irq_stack_end variable needed to be cleared after its first
    use. By setting irq_stack to the per cpu irq_stack and passing
    that to analyze_stack(), and then clearing it after it is processed,
    we can get back the original behavior.

    Signed-off-by: Steven Rostedt
    Signed-off-by: Linus Torvalds

    Steven Rostedt (Red Hat)
     
  • Commit 2223f6f6eeaa "x86: Clean up dumpstack_64.c code" moved the used
    variable to a local within the loop, but the in_exception_stack()
    depended on being non-volatile with the ability to change it.

    By always re-initializing the "used" variable to zero, it would cause
    the in_exception_stack() to return the same thing each time, and
    cause the dump_stack loop to go into an infinite loop.

    Reported-by: Linus Torvalds
    Signed-off-by: Steven Rostedt
    Signed-off-by: Linus Torvalds

    Steven Rostedt (Red Hat)
     

02 Apr, 2014

15 commits

  • retmain -> remain

    Signed-off-by: Li Zhong
    Signed-off-by: Jiri Kosina

    Li Zhong
     
  • Pull block driver update from Jens Axboe:
    "On top of the core pull request, here's the pull request for the
    driver related changes for 3.15. It contains:

    - Improvements for msi-x registration for block drivers (mtip32xx,
    skd, cciss, nvme) from Alexander Gordeev.

    - A round of cleanups and improvements for drbd from Andreas
    Gruenbacher and Rashika Kheria.

    - A round of clanups and improvements for bcache from Kent.

    - Removal of sleep_on() and friends in DAC960, ataflop, swim3 from
    Arnd Bergmann.

    - Bug fix for a bug in the mtip32xx async completion code from Sam
    Bradshaw.

    - Bug fix for accidentally bouncing IO on 32-bit platforms with
    mtip32xx from Felipe Franciosi"

    * 'for-3.15/drivers' of git://git.kernel.dk/linux-block: (103 commits)
    bcache: remove nested function usage
    bcache: Kill bucket->gc_gen
    bcache: Kill unused freelist
    bcache: Rework btree cache reserve handling
    bcache: Kill btree_io_wq
    bcache: btree locking rework
    bcache: Fix a race when freeing btree nodes
    bcache: Add a real GC_MARK_RECLAIMABLE
    bcache: Add bch_keylist_init_single()
    bcache: Improve priority_stats
    bcache: Better alloc tracepoints
    bcache: Kill dead cgroup code
    bcache: stop moving_gc marking buckets that can't be moved.
    bcache: Fix moving_pred()
    bcache: Fix moving_gc deadlocking with a foreground write
    bcache: Fix discard granularity
    bcache: Fix another bug recovering from unclean shutdown
    bcache: Fix a bug recovering from unclean shutdown
    bcache: Fix a journalling reclaim after recovery bug
    bcache: Fix a null ptr deref in journal replay
    ...

    Linus Torvalds
     
  • Pull core block layer updates from Jens Axboe:
    "This is the pull request for the core block IO bits for the 3.15
    kernel. It's a smaller round this time, it contains:

    - Various little blk-mq fixes and additions from Christoph and
    myself.

    - Cleanup of the IPI usage from the block layer, and associated
    helper code. From Frederic Weisbecker and Jan Kara.

    - Duplicate code cleanup in bio-integrity from Gu Zheng. This will
    give you a merge conflict, but that should be easy to resolve.

    - blk-mq notify spinlock fix for RT from Mike Galbraith.

    - A blktrace partial accounting bug fix from Roman Pen.

    - Missing REQ_SYNC detection fix for blk-mq from Shaohua Li"

    * 'for-3.15/core' of git://git.kernel.dk/linux-block: (25 commits)
    blk-mq: add REQ_SYNC early
    rt,blk,mq: Make blk_mq_cpu_notify_lock a raw spinlock
    blk-mq: support partial I/O completions
    blk-mq: merge blk_mq_insert_request and blk_mq_run_request
    blk-mq: remove blk_mq_alloc_rq
    blk-mq: don't dump CPU -> hw queue map on driver load
    blk-mq: fix wrong usage of hctx->state vs hctx->flags
    blk-mq: allow blk_mq_init_commands() to return failure
    block: remove old blk_iopoll_enabled variable
    blktrace: fix accounting of partially completed requests
    smp: Rename __smp_call_function_single() to smp_call_function_single_async()
    smp: Remove wait argument from __smp_call_function_single()
    watchdog: Simplify a little the IPI call
    smp: Move __smp_call_function_single() below its safe version
    smp: Consolidate the various smp_call_function_single() declensions
    smp: Teach __smp_call_function_single() to check for offline cpus
    smp: Remove unused list_head from csd
    smp: Iterate functions through llist_for_each_entry_safe()
    block: Stop abusing rq->csd.list in blk-softirq
    block: Remove useless IPI struct initialization
    ...

    Linus Torvalds
     
  • Pull first round of SCSI updates from James Bottomley:
    "This patch consists of the usual driver updates (megaraid_sas,
    scsi_debug, qla2xxx, qla4xxx, lpfc, bnx2fc, be2iscsi, hpsa, ipr) plus
    an assortment of minor fixes and the first precursors of SCSI-MQ (the
    code path simplifications) and the bug fix for the USB oops on remove
    (which involves an infrastructure change, so is sent via the main tree
    with a delayed backport after a cycle in which it is shown to
    introduce no new bugs)"

    * tag 'scsi-misc' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi: (196 commits)
    [SCSI] sd: Quiesce mode sense error messages
    [SCSI] add support for per-host cmd pools
    [SCSI] simplify command allocation and freeing a bit
    [SCSI] megaraid: simplify internal command handling
    [SCSI] ses: Use vpd information from scsi_device
    [SCSI] Add EVPD page 0x83 and 0x80 to sysfs
    [SCSI] Return VPD page length in scsi_vpd_inquiry()
    [SCSI] scsi_sysfs: Implement 'is_visible' callback
    [SCSI] hpsa: update driver version to 3.4.4-1
    [SCSI] hpsa: fix bad endif placement in RAID 5 mapper code
    [SCSI] qla2xxx: Fix build errors related to invalid print fields on some architectures.
    [SCSI] bfa: Replace large udelay() with mdelay()
    [SCSI] vmw_pvscsi: Some improvements in pvscsi driver.
    [SCSI] vmw_pvscsi: Add support for I/O requests coalescing.
    [SCSI] vmw_pvscsi: Fix pvscsi_abort() function.
    [SCSI] remove deprecated IRQF_DISABLED from SCSI
    [SCSI] bfa: Updating Maintainers email ids
    [SCSI] ipr: Add new CCIN definition for Grand Canyon support
    [SCSI] ipr: Format HCAM overlay ID 0x21
    [SCSI] ipr: Use pci_enable_msi_range() and pci_enable_msix_range()
    ...

    Linus Torvalds
     
  • Pull USB patches from Greg KH:
    "Here's the big USB pull request for 3.15-rc1.

    The normal set of patches, lots of controller driver updates, and a
    smattering of individual USB driver updates as well.

    All have been in linux-next for a while"

    * tag 'usb-3.15-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb: (249 commits)
    xhci: Transition maintainership to Mathias Nyman.
    USB: disable reset-resume when USB_QUIRK_RESET is set
    USB: unbind all interfaces before rebinding any
    usb: phy: Add ulpi IDs for SMSC USB3320 and TI TUSB1210
    usb: gadget: tcm_usb_gadget: stop format strings
    usb: gadget: f_fs: add missing spinlock and mutex unlock
    usb: gadget: composite: switch over to ERR_CAST()
    usb: gadget: inode: switch over to memdup_user()
    usb: gadget: f_subset: switch over to PTR_RET
    usb: gadget: lpc32xx_udc: fix wrong clk_put() sequence
    USB: keyspan: remove dead debugging code
    USB: serial: add missing newlines to dev_ messages.
    USB: serial: add missing braces
    USB: serial: continue to write on errors
    USB: serial: continue to read on errors
    USB: serial: make bulk_out_size a lower limit
    USB: cypress_m8: fix potential scheduling while atomic
    devicetree: bindings: document lsi,zevio-usb
    usb: chipidea: add support for USB OTG controller on LSI Zevio SoCs
    usb: chipidea: imx: Use dev_name() for ci_hdrc name to distinguish USBs
    ...

    Linus Torvalds
     
  • Pull tty/serial driver update from Greg KH:
    "Here's the big tty/serial driver update for 3.15-rc1.

    Nothing major, a number of serial driver updates and a few tty core
    fixes as well.

    All have been in linux-next for a while"

    * tag 'tty-3.15-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty: (71 commits)
    tty/serial: omap: empty the RX FIFO at the end of half-duplex TX
    tty/serial: omap: fix RX interrupt enable/disable in half-duplex TX
    serial: sh-sci: Neaten dev_ uses
    serial: sh-sci: Replace hardcoded 3 by UART_PM_STATE_OFF
    serial: sh-sci: Add more register documentation
    serial: sh-sci: Remove useless casts
    serial: sh-sci: Replace printk() by pr_*()
    serial_core: Avoid NULL pointer dereference in uart_close()
    serial_core: Get a reference for port->tty in uart_remove_one_port()
    serial: clps711x: Give a chance to perform useful tasks during wait loop
    serial_core: Grammar s/ports/port's/
    serial_core: Spelling s/contro/control/
    serial: efm32: properly namespace location property
    serial: max310x: Add missing #include
    synclink: fix info leak in ioctl
    serial: 8250: Clean up the locking for -rt
    serial: 8250_pci: change BayTrail default uartclk
    serial: 8250_pci: more BayTrail error-free bauds
    serial: sh-sci: Add missing call to uart_remove_one_port() in failure path
    serial_core: Unregister console in uart_remove_one_port()
    ...

    Linus Torvalds
     
  • Pull staging driver updates from Greg KH:
    "Here's the huge drivers/staging/ update for 3.15-rc1.

    Loads of cleanup fixes, a few drivers removed, and some new ones
    added.

    All have been in linux-next for a while"

    * tag 'staging-3.15-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging: (1375 commits)
    staging: xillybus: XILLYBUS_PCIE depends on PCI_MSI
    staging: xillybus: Added "select CRC32" for XILLYBUS in Kconfig
    staging: comedi: poc: remove obsolete driver
    staging: unisys: replace kzalloc/kfree with UISMALLOC/UISFREE
    staging: octeon-usb: prevent memory corruption
    staging: usbip: fix line over 80 characters
    staging: usbip: fix quoted string split across lines
    Staging: unisys: Remove RETINT macro
    Staging: unisys: Remove FAIL macro
    Staging: unisys: Remove RETVOID macro
    Staging: unisys: Remove RETPTR macro
    Staging: unisys: Remove RETBOOL macro
    Staging: unisys: Remove FAIL_WPOSTCODE_1 macro
    Staging: unisys: Cleanup macros to get rid of goto statements
    Staging: unisys: include: Remove unused macros from timskmod.h
    staging: dgap: fix the rest of the checkpatch warnings in dgap.c
    Staging: bcm: Remove unnecessary parentheses
    staging: wlags49_h2: Delete unnecessary braces
    staging: wlags49_h2: Do not use assignment in if condition
    staging: wlags49_h2: Enclose macro in a do-while loop
    ...

    Linus Torvalds
     
  • Pull driver core and sysfs updates from Greg KH:
    "Here's the big driver core / sysfs update for 3.15-rc1.

    Lots of kernfs updates to make it useful for other subsystems, and a
    few other tiny driver core patches.

    All have been in linux-next for a while"

    * tag 'driver-core-3.15-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core: (42 commits)
    Revert "sysfs, driver-core: remove unused {sysfs|device}_schedule_callback_owner()"
    kernfs: cache atomic_write_len in kernfs_open_file
    numa: fix NULL pointer access and memory leak in unregister_one_node()
    Revert "driver core: synchronize device shutdown"
    kernfs: fix off by one error.
    kernfs: remove duplicate dir.c at the top dir
    x86: align x86 arch with generic CPU modalias handling
    cpu: add generic support for CPU feature based module autoloading
    sysfs: create bin_attributes under the requested group
    driver core: unexport static function create_syslog_header
    firmware: use power efficient workqueue for unloading and aborting fw load
    firmware: give a protection when map page failed
    firmware: google memconsole driver fixes
    firmware: fix google/gsmi duplicate efivars_sysfs_init()
    drivers/base: delete non-required instances of include
    kernfs: fix kernfs_node_from_dentry()
    ACPI / platform: drop redundant ACPI_HANDLE check
    kernfs: fix hash calculation in kernfs_rename_ns()
    kernfs: add CONFIG_KERNFS
    sysfs, kobject: add sysfs wrapper for kernfs_enable_ns()
    ...

    Linus Torvalds
     
  • Pull char/misc driver patches from Greg KH:
    "Here's the big char/misc driver updates for 3.15-rc1.

    Lots of various things here, including the new mcb driver subsystem.

    All of these have been in linux-next for a while"

    * tag 'char-misc-3.15-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc: (118 commits)
    extcon: Move OF helper function to extcon core and change function name
    extcon: of: Remove unnecessary function call by using the name of device_node
    extcon: gpio: Use SIMPLE_DEV_PM_OPS macro
    extcon: palmas: Use SIMPLE_DEV_PM_OPS macro
    mei: don't use deprecated DEFINE_PCI_DEVICE_TABLE macro
    mei: amthif: fix checkpatch error
    mei: client.h fix checkpatch errors
    mei: use cl_dbg where appropriate
    mei: fix Unnecessary space after function pointer name
    mei: report consistently copy_from/to_user failures
    mei: drop pr_fmt macros
    mei: make me hw headers private to me hw.
    mei: fix memory leak of pending write cb objects
    mei: me: do not reset when less than expected data is received
    drivers: mcb: Fix build error discovered by 0-day bot
    cs5535-mfgpt: Simplify dependencies
    spmi: pm: drop bus-level PM suspend/resume routines
    spmi: pmic_arb: make selectable on ARCH_QCOM
    Drivers: hv: vmbus: Increase the limit on the number of pfns we can handle
    pch_phub: Report error writing MAC back to user
    ...

    Linus Torvalds
     
  • Pull sound updates from Takashi Iwai:
    "There have been lots of changes in ALSA core, HD-audio and ASoC, also
    most of PCI drivers touched by conversions of printks. All these
    resulted in a high volume and wide ranged patch sets in this release.
    Many changes are fairly trivial, but also lots of nice cleanups and
    refactors. There are a few new drivers, most notably, the Intel
    Haswell and Baytrail ASoC driver.

    Core changes:
    - A bit modernization; embed the device struct into snd_card struct,
    so that it may be referred from the beginning. A new
    snd_card_new() function is introduced for that, and all drivers
    have been converted.

    - Simplification in the device management code in ALSA core; now
    managed by a simple priority list instead

    - Converted many kernel messages to use the standard dev_err() & co;
    this would be the pretty visible difference, especially for
    HD-audio.

    HD-audio:
    - Conexant codecs use the auto-parser as default now; the old static
    code still remains in case of regressions. Some old quirks have
    been rewritten with the fixups for auto-parser.

    - C-Media codecs also use the auto-parser as default now, too.

    - A device struct is assigned to each HD-audio codec, and the
    formerly hwdep attributes are accessible over the codec sysfs, too.
    hwdep attributes still remain for compatibility.

    - Split the PCI-specific stuff for HD-audio controller into a
    separate module, ane make a helper module for the generic
    controller driver. This is a preliminary change for supporting
    Tegra HDMI controller in near future, which slipped from 3.15
    merge.

    - Device-specific fixes: mute LED support for Lenovo Ideapad, mic LED
    fix for HP laptops, more ASUS subwoofer quirks, yet more Dell
    laptop headset quirks

    - Make the HD-audio codec response a bit more robust

    - A few improvements on Realtek ALC282 / 283 about the pop noises

    - A couple of Intel HDMI fixes

    ASoC:
    - Lots of cleanups for enumerations; refactored lots of error prone
    original codes to use more modern APIs

    - Elimination of the ASoC level wrappers for I2C and SPI moving us
    closer to converting to regmap completely and avoiding some
    randconfig hassle

    - Provide both manually and transparently locked DAPM APIs rather
    than a mix of the two fixing some concurrency issues

    - Start converting CODEC drivers to use separate bus interface
    drivers rather than having them all in one file helping avoid
    dependency issues

    - DPCM support for Intel Haswell and Bay Trail platforms, lots of
    fixes

    - Lots of work on improvements for simple-card, DaVinci and the
    Renesas rcar drivers.

    - New drivers for Analog Devices ADAU1977, TI PCM512x and parts of
    the CSR SiRF SoC, TLV320AIC31XXX, Armada 370 DB, Cirrus cs42xx8

    - Fixes for the simple-card DAI format DT mess

    - DT support for a couple more devices.

    - Use of the tdm_slot mapping in a few drivers

    Others:
    - Support of reset_resume callback for improved S4 in USB-audio
    driver; the device with boot quirks have been little tested, which
    we need to watch out in this development cycle

    - Add PM support for ICE1712 driver (finally!); it's still pretty
    partial support, only for M-Audio devices"

    * tag 'sound-3.15-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: (610 commits)
    ALSA: ice1712: Add suspend support for M-Audio ICE1712-based cards
    ALSA: ice1712: add suspend support for ICE1712 chip
    ALSA: hda - Enable beep for ASUS 1015E
    ALSA: asihpi: fix some indenting in snd_card_asihpi_pcm_new()
    ALSA: hda - add headset mic detect quirks for three Dell laptops
    ASoC: tegra: move AC97 clock handling to the machine driver
    ASoC: simple-card: Handle many DAI links
    ASoC: simple-card: Add DT documentation for multi-DAI links
    ASoC: simple-card: dynamically allocate the DAI link and properties
    ASoC: imx-ssi: Add .xlate_tdm_slot_mask() support.
    ASoC: fsl-esai: Add .xlate_tdm_slot_mask() support.
    ASoC: fsl-utils: Add fsl_asoc_xlate_tdm_slot_mask() support.
    ASoC: core: remove the 'of_' prefix of of_xlate_tdm_slot_mask.
    ASoC: rcar: subnode tidyup for renesas,rsnd.txt
    ASoC: Remove name_prefix unset during DAI link init hack
    ALSA: hda - Inform the unexpectedly ignored pins by auto-parser
    ASoC: rcar: bugfix: it cares about the non-src case
    ARM: bockw: fixup SND_SOC_DAIFMT_CBx_CFx flags
    ASoC: pcm: Drop incorrect double/extra frees
    ASoC: mfld_machine: Fix compile error
    ...

    Linus Torvalds
     
  • Pull PCI changes from Bjorn Helgaas:
    "Enumeration
    - Increment max correctly in pci_scan_bridge() (Andreas Noever)
    - Clarify the "scan anyway" comment in pci_scan_bridge() (Andreas Noever)
    - Assign CardBus bus number only during the second pass (Andreas Noever)
    - Use request_resource_conflict() instead of insert_ for bus numbers (Andreas Noever)
    - Make sure bus number resources stay within their parents bounds (Andreas Noever)
    - Remove pci_fixup_parent_subordinate_busnr() (Andreas Noever)
    - Check for child busses which use more bus numbers than allocated (Andreas Noever)
    - Don't scan random busses in pci_scan_bridge() (Andreas Noever)
    - x86: Drop pcibios_scan_root() check for bus already scanned (Bjorn Helgaas)
    - x86: Use pcibios_scan_root() instead of pci_scan_bus_with_sysdata() (Bjorn Helgaas)
    - x86: Use pcibios_scan_root() instead of pci_scan_bus_on_node() (Bjorn Helgaas)
    - x86: Merge pci_scan_bus_on_node() into pcibios_scan_root() (Bjorn Helgaas)
    - x86: Drop return value of pcibios_scan_root() (Bjorn Helgaas)

    NUMA
    - x86: Add x86_pci_root_bus_node() to look up NUMA node from PCI bus (Bjorn Helgaas)
    - x86: Use x86_pci_root_bus_node() instead of get_mp_bus_to_node() (Bjorn Helgaas)
    - x86: Remove mp_bus_to_node[], set_mp_bus_to_node(), get_mp_bus_to_node() (Bjorn Helgaas)
    - x86: Use NUMA_NO_NODE, not -1, for unknown node (Bjorn Helgaas)
    - x86: Remove acpi_get_pxm() usage (Bjorn Helgaas)
    - ia64: Use NUMA_NO_NODE, not MAX_NUMNODES, for unknown node (Bjorn Helgaas)
    - ia64: Remove acpi_get_pxm() usage (Bjorn Helgaas)
    - ACPI: Fix acpi_get_node() prototype (Bjorn Helgaas)

    Resource management
    - i2o: Fix and refactor PCI space allocation (Bjorn Helgaas)
    - Add resource_contains() (Bjorn Helgaas)
    - Add %pR support for IORESOURCE_UNSET (Bjorn Helgaas)
    - Mark resources as IORESOURCE_UNSET if we can't assign them (Bjorn Helgaas)
    - Don't clear IORESOURCE_UNSET when updating BAR (Bjorn Helgaas)
    - Check IORESOURCE_UNSET before updating BAR (Bjorn Helgaas)
    - Don't try to claim IORESOURCE_UNSET resources (Bjorn Helgaas)
    - Mark 64-bit resource as IORESOURCE_UNSET if we only support 32-bit (Bjorn Helgaas)
    - Don't enable decoding if BAR hasn't been assigned an address (Bjorn Helgaas)
    - Add "weak" generic pcibios_enable_device() implementation (Bjorn Helgaas)
    - alpha, microblaze, sh, sparc, tile: Use default pcibios_enable_device() (Bjorn Helgaas)
    - s390: Use generic pci_enable_resources() (Bjorn Helgaas)
    - Don't check resource_size() in pci_bus_alloc_resource() (Bjorn Helgaas)
    - Set type in __request_region() (Bjorn Helgaas)
    - Check all IORESOURCE_TYPE_BITS in pci_bus_alloc_from_region() (Bjorn Helgaas)
    - Change pci_bus_alloc_resource() type_mask to unsigned long (Bjorn Helgaas)
    - Log IDE resource quirk in dmesg (Bjorn Helgaas)
    - Revert "[PATCH] Insert GART region into resource map" (Bjorn Helgaas)

    PCI device hotplug
    - Make check_link_active() non-static (Rajat Jain)
    - Use link change notifications for hot-plug and removal (Rajat Jain)
    - Enable link state change notifications (Rajat Jain)
    - Don't disable the link permanently during removal (Rajat Jain)
    - Don't check adapter or latch status while disabling (Rajat Jain)
    - Disable link notification across slot reset (Rajat Jain)
    - Ensure very fast hotplug events are also processed (Rajat Jain)
    - Add hotplug_lock to serialize hotplug events (Rajat Jain)
    - Remove a non-existent card, regardless of "surprise" capability (Rajat Jain)
    - Don't turn slot off when hot-added device already exists (Yijing Wang)

    MSI
    - Keep pci_enable_msi() documentation (Alexander Gordeev)
    - ahci: Fix broken single MSI fallback (Alexander Gordeev)
    - ahci, vfio: Use pci_enable_msi_range() (Alexander Gordeev)
    - Check kmalloc() return value, fix leak of name (Greg Kroah-Hartman)
    - Fix leak of msi_attrs (Greg Kroah-Hartman)
    - Fix pci_msix_vec_count() htmldocs failure (Masanari Iida)

    Virtualization
    - Device-specific ACS support (Alex Williamson)

    Freescale i.MX6
    - Wait for retraining (Marek Vasut)

    Marvell MVEBU
    - Use Device ID and revision from underlying endpoint (Andrew Lunn)
    - Fix incorrect size for PCI aperture resources (Jason Gunthorpe)
    - Call request_resource() on the apertures (Jason Gunthorpe)
    - Fix potential issue in range parsing (Jean-Jacques Hiblot)

    Renesas R-Car
    - Check platform_get_irq() return code (Ben Dooks)
    - Add error interrupt handling (Ben Dooks)
    - Fix bridge logic configuration accesses (Ben Dooks)
    - Register each instance independently (Magnus Damm)
    - Break out window size handling (Magnus Damm)
    - Make the Kconfig dependencies more generic (Magnus Damm)

    Synopsys DesignWare
    - Fix RC BAR to be single 64-bit non-prefetchable memory (Mohit Kumar)

    Miscellaneous
    - Remove unused SR-IOV VF Migration support (Bjorn Helgaas)
    - Enable INTx if BIOS left them disabled (Bjorn Helgaas)
    - Fix hex vs decimal typo in cpqhpc_probe() (Dan Carpenter)
    - Clean up par-arch object file list (Liviu Dudau)
    - Set IORESOURCE_ROM_SHADOW only for the default VGA device (Sander Eikelenboom)
    - ACPI, ARM, drm, powerpc, pcmcia, PCI: Use list_for_each_entry() for bus traversal (Yijing Wang)
    - Fix pci_bus_b() build failure (Paul Gortmaker)"

    * tag 'pci-v3.15-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci: (108 commits)
    Revert "[PATCH] Insert GART region into resource map"
    PCI: Log IDE resource quirk in dmesg
    PCI: Change pci_bus_alloc_resource() type_mask to unsigned long
    PCI: Check all IORESOURCE_TYPE_BITS in pci_bus_alloc_from_region()
    resources: Set type in __request_region()
    PCI: Don't check resource_size() in pci_bus_alloc_resource()
    s390/PCI: Use generic pci_enable_resources()
    tile PCI RC: Use default pcibios_enable_device()
    sparc/PCI: Use default pcibios_enable_device() (Leon only)
    sh/PCI: Use default pcibios_enable_device()
    microblaze/PCI: Use default pcibios_enable_device()
    alpha/PCI: Use default pcibios_enable_device()
    PCI: Add "weak" generic pcibios_enable_device() implementation
    PCI: Don't enable decoding if BAR hasn't been assigned an address
    PCI: Enable INTx in pci_reenable_device() only when MSI/MSI-X not enabled
    PCI: Mark 64-bit resource as IORESOURCE_UNSET if we only support 32-bit
    PCI: Don't try to claim IORESOURCE_UNSET resources
    PCI: Check IORESOURCE_UNSET before updating BAR
    PCI: Don't clear IORESOURCE_UNSET when updating BAR
    PCI: Mark resources as IORESOURCE_UNSET if we can't assign them
    ...

    Conflicts:
    arch/x86/include/asm/topology.h
    drivers/ata/ahci.c

    Linus Torvalds
     
  • Replace the test in zap_completion_queue to test when it is safe to
    free skbs in hard irq context with skb_irq_freeable ensuring we only
    free skbs when it is safe, and removing the possibility of subtle
    problems.

    Signed-off-by: "Eric W. Biederman"
    Signed-off-by: David S. Miller

    Eric W. Biederman
     
  • Currently netpoll and skb_release_head_state assume that a skb is
    freeable in hard irq context except when skb->destructor is set.

    The reality is far from this. So add a function skb_irq_freeable to
    compute the full test and in the process be the living documentation
    of what the requirements are of actually freeing a skb in hard irq
    context.

    Signed-off-by: "Eric W. Biederman"
    Acked-by: Eric Dumazet
    Signed-off-by: David S. Miller

    Eric W. Biederman
     
  • linux-can-fixes-for-3.15-20140401

    Marc Kleine-Budde says:

    ====================
    this is a pull request of 16 patches for the 3.15 release cycle.

    Bjorn Van Tilt contributes a patch which fixes a memory leak in usb_8dev's
    usb_8dev_start_xmit()s error path. A patch by Robert Schwebel fixes a typo in
    the can documentation. The remaining patches all target the c_can driver. Two
    of them are by me; they add a missing netif_napi_del() and return value
    checking. Thomas Gleixner contributes 12 patches, which address several
    shortcomings in the driver like hardware initialisation, concurrency, message
    ordering and poor performance.
    ====================

    Signed-off-by: David S. Miller

    David S. Miller
     
  • Commit 2b3d7b758c687("qlcnic: Add VXLAN Rx offload support") uses
    vxlan_get_rx_port() which caused build failure when VXLAN=m.

    This patch fixes the build failure by adding dependency on VXLAN
    in Kconfig of qlcnic module and use vxlan_get_rx_port() and support
    code accordingly.

    Signed-off-by: Shahed Shaikh
    Signed-off-by: David S. Miller

    Shahed Shaikh