12 Dec, 2014

4 commits

  • Pull networking updates from David Miller:

    1) New offloading infrastructure and example 'rocker' driver for
    offloading of switching and routing to hardware.

    This work was done by a large group of dedicated individuals, not
    limited to: Scott Feldman, Jiri Pirko, Thomas Graf, John Fastabend,
    Jamal Hadi Salim, Andy Gospodarek, Florian Fainelli, Roopa Prabhu

    2) Start making the networking operate on IOV iterators instead of
    modifying iov objects in-situ during transfers. Thanks to Al Viro
    and Herbert Xu.

    3) A set of new netlink interfaces for the TIPC stack, from Richard
    Alpe.

    4) Remove unnecessary looping during ipv6 routing lookups, from Martin
    KaFai Lau.

    5) Add PAUSE frame generation support to gianfar driver, from Matei
    Pavaluca.

    6) Allow for larger reordering levels in TCP, which are easily
    achievable in the real world right now, from Eric Dumazet.

    7) Add a variable of napi_schedule that doesn't need to disable cpu
    interrupts, from Eric Dumazet.

    8) Use a doubly linked list to optimize neigh_parms_release(), from
    Nicolas Dichtel.

    9) Various enhancements to the kernel BPF verifier, and allow eBPF
    programs to actually be attached to sockets. From Alexei
    Starovoitov.

    10) Support TSO/LSO in sunvnet driver, from David L Stevens.

    11) Allow controlling ECN usage via routing metrics, from Florian
    Westphal.

    12) Remote checksum offload, from Tom Herbert.

    13) Add split-header receive, BQL, and xmit_more support to amd-xgbe
    driver, from Thomas Lendacky.

    14) Add MPLS support to openvswitch, from Simon Horman.

    15) Support wildcard tunnel endpoints in ipv6 tunnels, from Steffen
    Klassert.

    16) Do gro flushes on a per-device basis using a timer, from Eric
    Dumazet. This tries to resolve the conflicting goals between the
    desired handling of bulk vs. RPC-like traffic.

    17) Allow userspace to ask for the CPU upon what a packet was
    received/steered, via SO_INCOMING_CPU. From Eric Dumazet.

    18) Limit GSO packets to half the current congestion window, from Eric
    Dumazet.

    19) Add a generic helper so that all drivers set their RSS keys in a
    consistent way, from Eric Dumazet.

    20) Add xmit_more support to enic driver, from Govindarajulu
    Varadarajan.

    21) Add VLAN packet scheduler action, from Jiri Pirko.

    22) Support configurable RSS hash functions via ethtool, from Eyal
    Perry.

    * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next: (1820 commits)
    Fix race condition between vxlan_sock_add and vxlan_sock_release
    net/macb: fix compilation warning for print_hex_dump() called with skb->mac_header
    net/mlx4: Add support for A0 steering
    net/mlx4: Refactor QUERY_PORT
    net/mlx4_core: Add explicit error message when rule doesn't meet configuration
    net/mlx4: Add A0 hybrid steering
    net/mlx4: Add mlx4_bitmap zone allocator
    net/mlx4: Add a check if there are too many reserved QPs
    net/mlx4: Change QP allocation scheme
    net/mlx4_core: Use tasklet for user-space CQ completion events
    net/mlx4_core: Mask out host side virtualization features for guests
    net/mlx4_en: Set csum level for encapsulated packets
    be2net: Export tunnel offloads only when a VxLAN tunnel is created
    gianfar: Fix dma check map error when DMA_API_DEBUG is enabled
    cxgb4/csiostor: Don't use MASTER_MUST for fw_hello call
    net: fec: only enable mdio interrupt before phy device link up
    net: fec: clear all interrupt events to support i.MX6SX
    net: fec: reset fep link status in suspend function
    net: sock: fix access via invalid file descriptor
    net: introduce helper macro for_each_cmsghdr
    ...

    Linus Torvalds
     
  • Pull sound updates from Takashi Iwai:
    "This became a fairly large pull request. In addition to the usual
    driver updates / fixes, there have been a high amount of cleanups in
    ASoC area, as well as control API helpers and kernel documentations
    fixes touching through the whole tree.

    In the driver side, the biggest changes are the support for new Intel
    SoC found on new x86 machines, and the updates of FireWire dice and
    oxfw drivers.

    Some remarkable items are below:

    ALSA core:
    - PCM mmap code cleanup, removal of arch-dependent codes
    - PCM xrun injection support
    - PCM hwptr tracepoint support
    - Refactoring of snd_pcm_action(), simplification of PCM locking
    - Robustified sequecner auto-load functionality
    - New control API helpers and lots of cleanups along with them
    - Lots of kerneldoc fixes and cleanups

    USB-audio:
    - The mixer resume code was largely rewritten, and the devices with
    quirks are resumed properly.
    - New hardware support: Focusrite Scarlett, Digidesign Mbox1,
    Denon/Marantz DACs, Zoom R16/24

    FireWire:
    - DICE driver updates with better duplex and sync support, including
    MIDI support
    - New OXFW driver for Oxford Semiconductor FW970/971 chipset,
    including the previous LaCie Speakers device. Fullduplex and MIDI
    support included as well as DICE driver.

    HD-audio:
    - Refactoring the driver-caps quirk handling in snd-hda-intel
    - More consistent control names representing the topology better
    - Fixups: HP mute LED with ALC268 codec, Ideapad S210 built-in mic
    fix, ASUS Z99He laptop EAPD

    ASoC:
    - Conversion of AC'97 drivers to use regmap, bringing us closer to
    the removal of the ASoC level I/O code
    - Clean up a lot of old drivers that were open coding things that
    have subsequently been implemented in the core
    - Some DAPM performance improvements
    - Removal of the now seldom used CODEC mutex
    - Lots of updates for the newer Intel SoC support, including support
    for the DSP and some Cherrytrail and Braswell machine drivers
    - Support for Samsung boards using rt5631 as the CODEC
    - Removal of the obsolete AFEB9260 machine driver
    - Driver support for the TI TS3A227E headset driver used in some
    Chrombeooks

    Others:
    - ASIHPI driver update and cleanups
    - Lots of dev_*() printk conversions
    - Lots of trivial cleanups for the codes spotted by Coccinelle"

    * tag 'sound-3.19-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: (594 commits)
    ALSA: pcxhr: NULL dereference on probe failure
    ALSA: lola: NULL dereference on probe failure
    ALSA: hda - Add "eapd" model string for AD1986A codec
    ALSA: hda - Add EAPD fixup for ASUS Z99He laptop
    ALSA: oxfw: Add hwdep interface
    ALSA: oxfw: Add support for capture/playback MIDI messages
    ALSA: oxfw: add support for capturing PCM samples
    ALSA: oxfw: Add support AMDTP in-stream
    ALSA: oxfw: Add support for Behringer/Mackie devices
    ALSA: oxfw: Change the way to start stream
    ALSA: oxfw: Add proc interface for debugging purpose
    ALSA: oxfw: Change the way to make PCM rules/constraints
    ALSA: oxfw: Add support for AV/C stream format command to get/set supported stream formation
    ALSA: oxfw: Change the way to name card
    ALSA: dice: Add support for MIDI capture/playback
    ALSA: dice: Add support for capturing PCM samples
    ALSA: dice: Support for non SYT-Match sampling clock source mode
    ALSA: dice: Add support for duplex streams with synchronization
    ALSA: dice: Change the way to start stream
    ALSA: jack: Add dummy snd_jack_set_key() definition
    ...

    Linus Torvalds
     
  • Pull virtio updates from Michael Tsirkin:
    "virtio: virtio 1.0 support, misc patches

    This adds a lot of infrastructure for virtio 1.0 support. Notable
    missing pieces: virtio pci, virtio balloon (needs spec extension),
    vhost scsi.

    Plus, there are some minor fixes in a couple of places.

    Note: some net drivers are affected by these patches. David said he's
    fine with merging these patches through my tree.

    Rusty's on vacation, he acked using my tree for these, too"

    * tag 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost: (70 commits)
    virtio_ccw: finalize_features error handling
    virtio_ccw: future-proof finalize_features
    virtio_pci: rename virtio_pci -> virtio_pci_common
    virtio_pci: update file descriptions and copyright
    virtio_pci: split out legacy device support
    virtio_pci: setup config vector indirectly
    virtio_pci: setup vqs indirectly
    virtio_pci: delete vqs indirectly
    virtio_pci: use priv for vq notification
    virtio_pci: free up vq->priv
    virtio_pci: fix coding style for structs
    virtio_pci: add isr field
    virtio: drop legacy_only driver flag
    virtio_balloon: drop legacy_only driver flag
    virtio_ccw: rev 1 devices set VIRTIO_F_VERSION_1
    virtio: allow finalize_features to fail
    virtio_ccw: legacy: don't negotiate rev 1/features
    virtio: add API to detect legacy devices
    virtio_console: fix sparse warnings
    vhost: remove unnecessary forward declarations in vhost.h
    ...

    Linus Torvalds
     
  • Pull media updates from Mauro Carvalho Chehab:
    - Two new dvb frontend drivers: mn88472 and mn88473
    - A new driver for some PCIe DVBSky cards
    - A new remote controller driver: meson-ir
    - One LIRC staging driver got rewritten and promoted to mainstream:
    igorplugusb
    - A new tuner driver (m88rs6000t)
    - The old omap2 media driver got removed from staging. This driver
    uses an old DMA API and it is likely broken on recent kernels.
    Nobody cared enough to fix it
    - Media bus format moved to a separate header, as DRM will also use the
    definitions there
    - mem2mem_testdev were renamed to vim2m, in order to use the same
    naming convention taken by the other virtual test driver (vivid)
    - Added a new driver for coda SoC (coda-jpeg)
    - The cx88 driver got converted to use videobuf2 core
    - Make DMABUF export buffer to work with DMA Scatter/Gather and Vmalloc
    cores
    - Lots of other fixes, improvements and cleanups on the drivers.

    * tag 'media/v3.19-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media: (384 commits)
    [media] mn88473: One function call less in mn88473_init() after error
    [media] mn88473: Remove uneeded check before release_firmware()
    [media] lirc_zilog: Deletion of unnecessary checks before vfree()
    [media] MAINTAINERS: Add myself as img-ir maintainer
    [media] img-ir: Don't set driver's module owner
    [media] img-ir: Depend on METAG or MIPS or COMPILE_TEST
    [media] img-ir/hw: Drop [un]register_decoder declarations
    [media] img-ir/hw: Fix potential deadlock stopping timer
    [media] img-ir/hw: Always read data to clear buffer
    [media] redrat3: ensure dma is setup properly
    [media] ddbridge: remove unneeded check before dvb_unregister_device()
    [media] si2157: One function call less in si2157_init() after error
    [media] tuners: remove uneeded checks before release_firmware()
    [media] arm: omap2: rx51-peripherals: fix build warning
    [media] stv090x: add an extra protetion against buffer overflow
    [media] stv090x: Remove an unreachable code
    [media] stv090x: Some whitespace cleanups
    [media] em28xx: checkpatch cleanup: whitespaces/new lines cleanups
    [media] si2168: add support for firmware files in new format
    [media] si2168: debug printout for firmware version
    ...

    Linus Torvalds
     

11 Dec, 2014

6 commits

  • Merge first patchbomb from Andrew Morton:
    - a few minor cifs fixes
    - dma-debug upadtes
    - ocfs2
    - slab
    - about half of MM
    - procfs
    - kernel/exit.c
    - panic.c tweaks
    - printk upates
    - lib/ updates
    - checkpatch updates
    - fs/binfmt updates
    - the drivers/rtc tree
    - nilfs
    - kmod fixes
    - more kernel/exit.c
    - various other misc tweaks and fixes

    * emailed patches from Andrew Morton : (190 commits)
    exit: pidns: fix/update the comments in zap_pid_ns_processes()
    exit: pidns: alloc_pid() leaks pid_namespace if child_reaper is exiting
    exit: exit_notify: re-use "dead" list to autoreap current
    exit: reparent: call forget_original_parent() under tasklist_lock
    exit: reparent: avoid find_new_reaper() if no children
    exit: reparent: introduce find_alive_thread()
    exit: reparent: introduce find_child_reaper()
    exit: reparent: document the ->has_child_subreaper checks
    exit: reparent: s/while_each_thread/for_each_thread/ in find_new_reaper()
    exit: reparent: fix the cross-namespace PR_SET_CHILD_SUBREAPER reparenting
    exit: reparent: fix the dead-parent PR_SET_CHILD_SUBREAPER reparenting
    exit: proc: don't try to flush /proc/tgid/task/tgid
    exit: release_task: fix the comment about group leader accounting
    exit: wait: drop tasklist_lock before psig->c* accounting
    exit: wait: don't use zombie->real_parent
    exit: wait: cleanup the ptrace_reparented() checks
    usermodehelper: kill the kmod_thread_locker logic
    usermodehelper: don't use CLONE_VFORK for ____call_usermodehelper()
    fs/hfs/catalog.c: fix comparison bug in hfs_cat_keycmp
    nilfs2: fix the nilfs_iget() vs. nilfs_new_inode() races
    ...

    Linus Torvalds
     
  • There have been several times where I have had to rebuild a kernel to
    cause a panic when hitting a WARN() in the code in order to get a crash
    dump from a system. Sometimes this is easy to do, other times (such as
    in the case of a remote admin) it is not trivial to send new images to
    the user.

    A much easier method would be a switch to change the WARN() over to a
    panic. This makes debugging easier in that I can now test the actual
    image the WARN() was seen on and I do not have to engage in remote
    debugging.

    This patch adds a panic_on_warn kernel parameter and
    /proc/sys/kernel/panic_on_warn calls panic() in the
    warn_slowpath_common() path. The function will still print out the
    location of the warning.

    An example of the panic_on_warn output:

    The first line below is from the WARN_ON() to output the WARN_ON()'s
    location. After that the panic() output is displayed.

    WARNING: CPU: 30 PID: 11698 at /home/prarit/dummy_module/dummy-module.c:25 init_dummy+0x1f/0x30 [dummy_module]()
    Kernel panic - not syncing: panic_on_warn set ...

    CPU: 30 PID: 11698 Comm: insmod Tainted: G W OE 3.17.0+ #57
    Hardware name: Intel Corporation S2600CP/S2600CP, BIOS RMLSDP.86I.00.29.D696.1311111329 11/11/2013
    0000000000000000 000000008e3f87df ffff88080f093c38 ffffffff81665190
    0000000000000000 ffffffff818aea3d ffff88080f093cb8 ffffffff8165e2ec
    ffffffff00000008 ffff88080f093cc8 ffff88080f093c68 000000008e3f87df
    Call Trace:
    [] dump_stack+0x46/0x58
    [] panic+0xd0/0x204
    [] ? init_dummy+0x1f/0x30 [dummy_module]
    [] warn_slowpath_common+0xd0/0xd0
    [] ? dummy_greetings+0x40/0x40 [dummy_module]
    [] warn_slowpath_null+0x1a/0x20
    [] init_dummy+0x1f/0x30 [dummy_module]
    [] do_one_initcall+0xd4/0x210
    [] ? __vunmap+0xc2/0x110
    [] load_module+0x16a9/0x1b30
    [] ? store_uevent+0x70/0x70
    [] ? copy_module_from_fd.isra.44+0x129/0x180
    [] SyS_finit_module+0xa6/0xd0
    [] system_call_fastpath+0x12/0x17

    Successfully tested by me.

    hpa said: There is another very valid use for this: many operators would
    rather a machine shuts down than being potentially compromised either
    functionally or security-wise.

    Signed-off-by: Prarit Bhargava
    Cc: Jonathan Corbet
    Cc: Rusty Russell
    Cc: "H. Peter Anvin"
    Cc: Andi Kleen
    Cc: Masami Hiramatsu
    Acked-by: Yasuaki Ishimatsu
    Cc: Fabian Frederick
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Prarit Bhargava
     
  • Pull dlm update from David Teigland:
    "This set includes one feature, which allows locks that have been
    orphaned to be reacquired"

    * tag 'dlm-3.19' of git://git.kernel.org/pub/scm/linux/kernel/git/teigland/linux-dlm:
    dlm: adopt orphan locks

    Linus Torvalds
     
  • Pull NFS client updates from Trond Myklebust:
    "Highlights include:

    Features:
    - NFSv4.2 client support for hole punching and preallocation.
    - Further RPC/RDMA client improvements.
    - Add more RPC transport debugging tracepoints.
    - Add RPC debugging tools in debugfs.

    Bugfixes:
    - Stable fix for layoutget error handling
    - Fix a change in COMMIT behaviour resulting from the recent io code
    updates"

    * tag 'nfs-for-3.19-1' of git://git.linux-nfs.org/projects/trondmy/linux-nfs: (28 commits)
    sunrpc: add a debugfs rpc_xprt directory with an info file in it
    sunrpc: add debugfs file for displaying client rpc_task queue
    nfs: Add DEALLOCATE support
    nfs: Add ALLOCATE support
    NFS: Clean up nfs4_init_callback()
    NFS: SETCLIENTID XDR buffer sizes are incorrect
    SUNRPC: serialize iostats updates
    xprtrdma: Display async errors
    xprtrdma: Enable pad optimization
    xprtrdma: Re-write rpcrdma_flush_cqs()
    xprtrdma: Refactor tasklet scheduling
    xprtrdma: unmap all FMRs during transport disconnect
    xprtrdma: Cap req_cqinit
    xprtrdma: Return an errno from rpcrdma_register_external()
    nfs: define nfs_inc_fscache_stats and using it as possible
    nfs: replace nfs_add_stats with nfs_inc_stats when add one
    NFS: Deletion of unnecessary checks before the function call "nfs_put_client"
    sunrpc: eliminate RPC_TRACEPOINTS
    sunrpc: eliminate RPC_DEBUG
    lockd: eliminate LOCKD_DEBUG
    ...

    Linus Torvalds
     
  • Conflicts:
    drivers/net/ethernet/amd/xgbe/xgbe-desc.c
    drivers/net/ethernet/renesas/sh_eth.c

    Overlapping changes in both conflict cases.

    Signed-off-by: David S. Miller

    David S. Miller
     
  • Pull x86 MPX support from Thomas Gleixner:
    "This enables support for x86 MPX.

    MPX is a new debug feature for bound checking in user space. It
    requires kernel support to handle the bound tables and decode the
    bound violating instruction in the trap handler"

    * 'x86-mpx-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    asm-generic: Remove asm-generic arch_bprm_mm_init()
    mm: Make arch_unmap()/bprm_mm_init() available to all architectures
    x86: Cleanly separate use of asm-generic/mm_hooks.h
    x86 mpx: Change return type of get_reg_offset()
    fs: Do not include mpx.h in exec.c
    x86, mpx: Add documentation on Intel MPX
    x86, mpx: Cleanup unused bound tables
    x86, mpx: On-demand kernel allocation of bounds tables
    x86, mpx: Decode MPX instruction to get bound violation information
    x86, mpx: Add MPX-specific mmap interface
    x86, mpx: Introduce VM_MPX to indicate that a VMA is MPX specific
    x86, mpx: Add MPX to disabled features
    ia64: Sync struct siginfo with general version
    mips: Sync struct siginfo with general version
    mpx: Extend siginfo structure to include bound violation information
    x86, mpx: Rename cfg_reg_u and status_reg
    x86: mpx: Give bndX registers actual names
    x86: Remove arbitrary instruction size limit in instruction decoder

    Linus Torvalds
     

10 Dec, 2014

11 commits

  • This interface is designed for mixer/control application. By using this
    interface, an application can get information about firewire node, can
    lock/unlock kernel streaming and can get notification at starting/stopping
    kernel streaming.

    Signed-off-by: Takashi Sakamoto
    Acked-by: Clemens Ladisch
    Signed-off-by: Takashi Iwai

    Takashi Sakamoto
     
  • Pull scheduler updates from Ingo Molnar:
    "The main changes in this cycle are:

    - 'Nested Sleep Debugging', activated when CONFIG_DEBUG_ATOMIC_SLEEP=y.

    This instruments might_sleep() checks to catch places that nest
    blocking primitives - such as mutex usage in a wait loop. Such
    bugs can result in hard to debug races/hangs.

    Another category of invalid nesting that this facility will detect
    is the calling of blocking functions from within schedule() ->
    sched_submit_work() -> blk_schedule_flush_plug().

    There's some potential for false positives (if secondary blocking
    primitives themselves are not ready yet for this facility), but the
    kernel will warn once about such bugs per bootup, so the warning
    isn't much of a nuisance.

    This feature comes with a number of fixes, for problems uncovered
    with it, so no messages are expected normally.

    - Another round of sched/numa optimizations and refinements, for
    CONFIG_NUMA_BALANCING=y.

    - Another round of sched/dl fixes and refinements.

    Plus various smaller fixes and cleanups"

    * 'sched-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (54 commits)
    sched: Add missing rcu protection to wake_up_all_idle_cpus
    sched/deadline: Introduce start_hrtick_dl() for !CONFIG_SCHED_HRTICK
    sched/numa: Init numa balancing fields of init_task
    sched/deadline: Remove unnecessary definitions in cpudeadline.h
    sched/cpupri: Remove unnecessary definitions in cpupri.h
    sched/deadline: Fix rq->dl.pushable_tasks bug in push_dl_task()
    sched/fair: Fix stale overloaded status in the busiest group finding logic
    sched: Move p->nr_cpus_allowed check to select_task_rq()
    sched/completion: Document when to use wait_for_completion_io_*()
    sched: Update comments about CLONE_NEWUTS and CLONE_NEWIPC
    sched/fair: Kill task_struct::numa_entry and numa_group::task_list
    sched: Refactor task_struct to use numa_faults instead of numa_* pointers
    sched/deadline: Don't check CONFIG_SMP in switched_from_dl()
    sched/deadline: Reschedule from switched_from_dl() after a successful pull
    sched/deadline: Push task away if the deadline is equal to curr during wakeup
    sched/deadline: Add deadline rq status print
    sched/deadline: Fix artificial overrun introduced by yield_task_dl()
    sched/rt: Clean up check_preempt_equal_prio()
    sched/core: Use dl_bw_of() under rcu_read_lock_sched()
    sched: Check if we got a shallowest_idle_cpu before searching for least_loaded_cpu
    ...

    Linus Torvalds
     
  • Pull perf events update from Ingo Molnar:
    "On the kernel side there's few changes, the one that stands out is
    PEBS machine state sampling support on x86, by Stephane Eranian.

    On the tooling side:

    User visible tooling changes:

    - Don't open the DWARF info multiple times, keeping instead a dwfl
    handle in struct dso, greatly speeding up 'perf report' on powerpc.
    (Sukadev Bhattiprolu)

    - Introduce PARSE_OPT_DISABLED option flag and use it to avoid
    showing undersired options in tools that provides frontends to
    'perf record', like sched, kvm, etc (Namhyung Kim)

    - Fallback to kallsyms when using the minimal 'ELF' loader (Arnaldo
    Carvalho de Melo)

    - Fix annotation with kcore (Adrian Hunter)

    - Support source line numbers in annotate using a hotkey (Andi Kleen)

    - Callchain improvements including:
    * Enable printing the srcline in the history
    * Make get_srcline fall back to sym+offset (Andi Kleen)

    - TUI hist_entry browser fixes, including showing missing overhead
    value for first level callchain. Detected comparing the output of
    --stdio/--gui (that matched) with --tui, that had this problem.
    (Namhyung Kim)

    - Support handling complete branch stacks as histograms (Andi Kleen)

    Tooling infrastructure changes:

    - Prep work for supporting per-pkg and snapshot counters in 'perf
    stat' (Jiri Olsa)

    - 'perf stat' refactorings, moving stuff from it to evsel.c to use in
    per-pkg/snapshot format changes (Jiri Olsa)

    - Add per-pkg format file parsing (Matt Fleming)

    - Clean up libelf feature support code (Namhyung Kim)

    - Add gzip decompression support for kernel modules (Namhyung Kim)

    - More prep patches for Intel PT, including a a thread stack and more
    stuff made available via the database export mechanism (Adrian
    Hunter)

    - More Intel PT work, including a facility to export sample data
    (comms, threads, symbol names, etc) in a database friendly way,
    with an script to use this to create a postgresql database.
    (Adrian Hunter)

    - Make sure that thread->mg->machine points to the machine where the
    thread exists (it was being set only for the kmaps kernel modules
    case, do it as well for the mmaps) and use it to shorten function
    signatures (Arnaldo Carvalho de Melo)

    ... and lots of other fixes and smaller improvements"

    * 'perf-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (91 commits)
    perf report: In branch stack mode use address history sorting
    perf report: Add --branch-history option
    perf callchain: Support handling complete branch stacks as histograms
    perf stat: Add support for snapshot counters
    perf stat: Add support for per-pkg counters
    perf tools: Remove perf_evsel__read interface
    perf stat: Use read_counter in read_counter_aggr
    perf stat: Make read_counter work over the thread dimension
    perf stat: Use perf_evsel__read_cb in read_counter
    perf tools: Add snapshot format file parsing
    perf tools: Add per-pkg format file parsing
    perf evsel: Introduce perf_evsel__read_cb function
    perf evsel: Introduce perf_counts_values__scale function
    perf evsel: Introduce perf_evsel__compute_deltas function
    perf tools: Allow to force redirect pr_debug to stderr.
    perf tools: Fix segfault due to invalid kernel dso access
    perf callchain: Make get_srcline fall back to sym+offset
    perf symbols: Move bfd_demangle stubbing to its only user
    perf callchain: Enable printing the srcline in the history
    perf tools: Collapse first level callchain entry if it has sibling
    ...

    Linus Torvalds
     
  • This patch removes bridge mode swdev.
    Users can use BRIDGE_FLAGS_SELF to indicate swdev offload
    if needed.

    Signed-off-by: Roopa Prabhu
    Signed-off-by: Scott Feldman
    Signed-off-by: Jiri Pirko
    Signed-off-by: David S. Miller

    Roopa Prabhu
     
  • This patch adds mode BRIDGE_MODE_UNDEF for cases where mode is not needed.

    Signed-off-by: Roopa Prabhu
    Signed-off-by: Scott Feldman
    Signed-off-by: Jiri Pirko
    Signed-off-by: David S. Miller

    Roopa Prabhu
     
  • …inville/wireless-next

    John W. Linville says:

    ====================
    pull request: wireless-next 2014-12-08

    Please pull this last batch of pending wireless updates for the 3.19 tree...

    For the wireless bits, Johannes says:

    "This time I have Felix's no-status rate control work, which will allow
    drivers to work better with rate control even if they don't have perfect
    status reporting. In addition to this, a small hwsim fix from Patrik,
    one of the regulatory patches from Arik, and a number of cleanups and
    fixes I did myself.

    Of note is a patch where I disable CFG80211_WEXT so that compatibility
    is no longer selectable - this is intended as a wake-up call for anyone
    who's still using it, and is still easily worked around (it's a one-line
    patch) before we fully remove the code as well in the future."

    For the Bluetooth bits, Johan says:

    "Here's one more bluetooth-next pull request for 3.19:

    - Minor cleanups for ieee802154 & mac802154
    - Fix for the kernel warning with !TASK_RUNNING reported by Kirill A.
    Shutemov
    - Support for another ath3k device
    - Fix for tracking link key based security level
    - Device tree bindings for btmrvl + a state update fix
    - Fix for wrong ACL flags on LE links"

    And...

    "In addition to the previous one this contains two more cleanups to
    mac802154 as well as support for some new HCI features from the
    Bluetooth 4.2 specification.

    From the original request:

    'Here's what should be the last bluetooth-next pull request for 3.19.
    It's rather large but the majority of it is the Low Energy Secure
    Connections feature that's part of the Bluetooth 4.2 specification. The
    specification went public only this week so we couldn't publish the
    corresponding code before that. The code itself can nevertheless be
    considered fairly mature as it's been in development for over 6 months
    and gone through several interoperability test events.

    Besides LE SC the pull request contains an important fix for command
    complete events for mgmt sockets which also fixes some leaks of hci_conn
    objects when powering off or unplugging Bluetooth adapters.

    A smaller feature that's part of the pull request is service discovery
    support. This is like normal device discovery except that devices not
    matching specific UUIDs or strong enough RSSI are filtered out.

    Other changes that the pull request contains are firmware dump support
    to the btmrvl driver, firmware download support for Broadcom BCM20702A0
    variants, as well as some coding style cleanups in 6lowpan &
    ieee802154/mac802154 code.'"

    For the NFC bits, Samuel says:

    "With this one we get:

    - NFC digital improvements for DEP support: Chaining, NACK and ATN
    support added.

    - NCI improvements: Support for p2p target, SE IO operand addition,
    SE operands extensions to support proprietary implementations, and
    a few fixes.

    - NFC HCI improvements: OPEN_PIPE and NOTIFY_ALL_CLEARED support,
    and SE IO operand addition.

    - A bunch of minor improvements and fixes for STMicro st21nfcb and
    st21nfca"

    For the iwlwifi bits, Emmanuel says:

    "Major works are CSA and TDLS. On top of that I have a new
    firmware API for scan and a few rate control improvements.
    Johannes find a few tricks to improve our CPU utilization
    and adds support for a new spin of 7265 called 7265D.
    Along with this a few random things that don't stand out."

    And...

    "I deprecate here -8.ucode since -9 has been published long ago.
    Along with that I have a new activity, we have now better
    a infrastructure for firmware debugging. This will allow to
    have configurable probes insides the firmware.
    Luca continues his work on NetDetect, this feature is now
    complete. All the rest is minor fixes here and there."

    For the Atheros bits, Kalle says:

    "Only ath10k changes this time and no major changes. Most visible are:

    o new debugfs interface for runtime firmware debugging (Yanbo)

    o fix shared WEP (Sujith)

    o don't rebuild whenever kernel version changes (Johannes)

    o lots of refactoring to make it easier to add new hw support (Michal)

    There's also smaller fixes and improvements with no point of listing
    here."

    In addition, there are a few last minute updates to ath5k,
    ath9k, brcmfmac, brcmsmac, mwifiex, rt2x00, rtlwifi, and wil6210.
    Also included is a pull of the wireless tree to pick-up the fixes
    originally included in "pull request: wireless 2014-12-03"...

    Please let me know if there are problems!
    ====================

    Signed-off-by: David S. Miller <davem@davemloft.net>

    David S. Miller
     
  • Marc Kleine-Budde says:

    ====================
    pull-request: can-next 2014-12-07

    this is a pull request of 8 patches for net-next/master.

    Andri Yngvason contributes 4 patches in which the CAN state change
    handling is consolidated and unified among the sja1000, mscan and
    flexcan driver. The three patches by Jeremiah Mahler fix spelling
    mistakes and eliminate the banner[] variable in various parts. And a
    patch by me that switches on sparse endianess checking by default.
    ====================

    Signed-off-by: David S. Miller

    David S. Miller
     
  • Pull arm64 updates from Will Deacon:
    "Here's the usual mixed bag of arm64 updates, also including some
    related EFI changes (Acked by Matt) and the MMU gather range cleanup
    (Acked by you).

    Changes include:
    - support for alternative instruction patching from Andre
    - seccomp from Akashi
    - some AArch32 instruction emulation, required by the Android folks
    - optimisations for exception entry/exit code, cmpxchg, pcpu atomics
    - mmu_gather range calculations moved into core code
    - EFI updates from Ard, including long-awaited SMBIOS support
    - /proc/cpuinfo fixes to align with the format used by arch/arm/
    - a few non-critical fixes across the architecture"

    * tag 'arm64-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux: (70 commits)
    arm64: remove the unnecessary arm64_swiotlb_init()
    arm64: add module support for alternatives fixups
    arm64: perf: Prevent wraparound during overflow
    arm64/include/asm: Fixed a warning about 'struct pt_regs'
    arm64: Provide a namespace to NCAPS
    arm64: bpf: lift restriction on last instruction
    arm64: Implement support for read-mostly sections
    arm64: compat: align cacheflush syscall with arch/arm
    arm64: add seccomp support
    arm64: add SIGSYS siginfo for compat task
    arm64: add seccomp syscall for compat task
    asm-generic: add generic seccomp.h for secure computing mode 1
    arm64: ptrace: allow tracer to skip a system call
    arm64: ptrace: add NT_ARM_SYSTEM_CALL regset
    arm64: Move some head.text functions to executable section
    arm64: jump labels: NOP out NOP -> NOP replacement
    arm64: add support to dump the kernel page tables
    arm64: Add FIX_HOLE to permanent fixed addresses
    arm64: alternatives: fix pr_fmt string for consistency
    arm64: vmlinux.lds.S: don't discard .exit.* sections at link-time
    ...

    Linus Torvalds
     
  • Pull Altera Nios II processor support from Ley Foon Tan:
    "Here is the Linux port for Nios II processor (from Altera) arch/nios2/
    tree for v3.19.

    The patchset has been discussed on the kernel mailing lists since
    April and has gone through 6 revisions of review. The additional
    changes since then have been mostly further cleanups and fixes when
    merged with other trees.

    The arch code is in arch/nios2 and one asm-generic change (acked by
    Arnd)"

    Arnd Bergmann says:
    "I've reviewed the architecture port in the past and it looks good in
    its latest version"

    Acked-by: Arnd Bergmann

    * tag 'nios2-v3.19-rc1' of git://git.rocketboards.org/linux-socfpga-next: (40 commits)
    nios2: Make NIOS2_CMDLINE_IGNORE_DTB depend on CMDLINE_BOOL
    nios2: Add missing NR_CPUS to Kconfig
    nios2: asm-offsets: Remove unused definition TI_TASK
    nios2: Remove write-only struct member from nios2_timer
    nios2: Remove unused extern declaration of shm_align_mask
    nios2: include linux/type.h in io.h
    nios2: move include asm-generic/io.h to end of file
    nios2: remove include asm-generic/iomap.h from io.h
    nios2: remove unnecessary space before define
    nios2: fix error handling of irq_of_parse_and_map
    nios2: Use IS_ENABLED instead of #ifdefs to check config symbols
    nios2: Build infrastructure
    Documentation: Add documentation for Nios2 architecture
    MAINTAINERS: Add nios2 maintainer
    nios2: ptrace support
    nios2: Module support
    nios2: Nios2 registers
    nios2: Miscellaneous header files
    nios2: Cpuinfo handling
    nios2: Time keeping
    ...

    Linus Torvalds
     
  • When deploying FQ pacing, one thing we noticed is that CUBIC Hystart
    triggers too soon.

    Having SNMP counters to have an idea of how often the various Hystart
    methods trigger is useful prior to any modifications.

    This patch adds SNMP counters tracking, how many time "ack train" or
    "Delay" based Hystart triggers, and cumulative sum of cwnd at the time
    Hystart decided to end SS (Slow Start)

    myhost:~# nstat -a | grep Hystart
    TcpExtTCPHystartTrainDetect 9 0.0
    TcpExtTCPHystartTrainCwnd 20650 0.0
    TcpExtTCPHystartDelayDetect 10 0.0
    TcpExtTCPHystartDelayCwnd 360 0.0

    ->
    Train detection was triggered 9 times, and average cwnd was
    20650/9=2294,
    Delay detection was triggered 10 times and average cwnd was 36

    Signed-off-by: Eric Dumazet
    Acked-by: Neal Cardwell
    Signed-off-by: David S. Miller

    Eric Dumazet
     
  • This file is used by iproute2 and should be exported.

    Signed-off-by: Stephen Hemminger
    Acked-by: Jiri Pirko
    Signed-off-by: David S. Miller

    stephen hemminger
     

09 Dec, 2014

14 commits

  • Activate VIRTIO_F_VERSION_1 automatically unless legacy_only
    is set.

    Signed-off-by: Michael S. Tsirkin

    Michael S. Tsirkin
     
  • Pretty straight-forward, just use accessors for all fields.

    Signed-off-by: Michael S. Tsirkin

    Michael S. Tsirkin
     
  • Replace uXX by __uXX and _packed by __attribute((packed))
    as seems to be the norm for userspace headers.

    Signed-off-by: Michael S. Tsirkin
    Acked-by: Paolo Bonzini

    Michael S. Tsirkin
     
  • Guests need to use virtio scsi API, so export it to uapi,
    nice to e.g. qemu and will help us remember this file
    affects ABI.

    Signed-off-by: Michael S. Tsirkin
    Acked-by: Paolo Bonzini

    Michael S. Tsirkin
     
  • virtio 1.0 modified virtio net header format,
    making all fields little endian.

    Users can tweak header format before submitting it to tun,
    but this means more data copies where none were necessary.
    And if the iovec is in RO memory, this means we might
    need to split iovec also means we might in theory overflow
    iovec max size.

    This patch adds a simpler way for applications to handle this,
    using new "little endian" flag in tun.
    As a result, tun simply byte-swaps header fields as appropriate.
    This is a NOP on LE architectures.

    Signed-off-by: Michael S. Tsirkin

    Michael S. Tsirkin
     
  • TUN_ flags are internal and never exposed
    to userspace. Any application using it is almost
    certainly buggy.

    Move them out to tun.c.

    Note: we remove these completely in follow-up patches,
    this code movement is split out for ease of review.

    Signed-off-by: Michael S. Tsirkin

    Michael S. Tsirkin
     
  • Based on patch by Cornelia Huck.

    Note: for consistency, and to avoid sparse errors,
    convert all fields, even those no longer in use
    for virtio v1.0.

    Signed-off-by: Cornelia Huck
    Signed-off-by: Michael S. Tsirkin

    Michael S. Tsirkin
     
  • Based on patches by Rusty Russell, Cornelia Huck.
    Note: more code changes are needed for 1.0 support
    (due to different header size).
    So we don't advertize support for 1.0 yet.

    Signed-off-by: Rusty Russell
    Signed-off-by: Cornelia Huck
    Signed-off-by: Michael S. Tsirkin

    Michael S. Tsirkin
     
  • set FEATURES_OK as per virtio 1.0 spec

    Signed-off-by: Michael S. Tsirkin
    Reviewed-by: Cornelia Huck

    Michael S. Tsirkin
     
  • virtio 1.0 makes all memory structures LE, so
    we need APIs to conditionally do a byteswap on BE
    architectures.

    To make it easier to check code statically,
    add virtio specific types for multi-byte integers
    in memory.

    Add low level wrappers that do a byteswap conditionally, these will be
    useful e.g. for vhost. Add high level wrappers that
    query device endian-ness and act accordingly.

    Signed-off-by: Michael S. Tsirkin
    Reviewed-by: Cornelia Huck

    Michael S. Tsirkin
     
  • Based on original patches by Rusty Russell, Thomas Huth
    and Cornelia Huck.

    Note: at this time, we do not negotiate this feature bit
    in core, drivers have to declare VERSION_1 support explicitly.

    For this reason we treat this bit as a device bit
    and not as a transport bit for now.

    After all drivers are converted, we will be able to
    move VERSION_1 to core and drop it from all drivers.

    Signed-off-by: Michael S. Tsirkin
    Reviewed-by: Cornelia Huck

    Michael S. Tsirkin
     
  • Pull device mapper updates from Mike Snitzer:

    - Significant DM thin-provisioning performance improvements to meet
    performance requirements that were requested by the Gluster
    distributed filesystem.

    Specifically, dm-thinp now takes care to aggregate IO that will be
    issued to the same thinp block before issuing IO to the underlying
    devices. This really helps improve performance on HW RAID6 devices
    that have a writeback cache because it avoids RMW in the HW RAID
    controller.

    - Some stable fixes: fix leak in DM bufio if integrity profiles were
    enabled, use memzero_explicit in DM crypt to avoid any potential for
    information leak, and a DM cache fix to properly mark a cache block
    dirty if it was promoted to the cache via the overwrite optimization.

    - A few simple DM persistent data library fixes

    - DM cache multiqueue policy block promotion improvements.

    - DM cache discard improvements that take advantage of range
    (multiblock) discard support in the DM bio-prison. This allows for
    much more efficient bulk discard processing (e.g. when mkfs.xfs
    discards the entire device).

    - Some small optimizations in DM core and RCU deference cleanups

    - DM core changes to suspend/resume code to introduce the new internal
    suspend/resume interface that the DM thin-pool target now uses to
    suspend/resume active thin devices when the thin-pool must
    suspend/resume.

    This avoids forcing userspace to track all active thin volumes in a
    thin-pool when the thin-pool is suspended for the purposes of
    metadata or data space resize.

    * tag 'dm-3.19-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm: (49 commits)
    dm crypt: use memzero_explicit for on-stack buffer
    dm space map metadata: fix sm_bootstrap_get_count()
    dm space map metadata: fix sm_bootstrap_get_nr_blocks()
    dm bufio: fix memleak when using a dm_buffer's inline bio
    dm cache: fix spurious cell_defer when dealing with partial block at end of device
    dm cache: dirty flag was mistakenly being cleared when promoting via overwrite
    dm cache: only use overwrite optimisation for promotion when in writeback mode
    dm cache: discard block size must be a multiple of cache block size
    dm cache: fix a harmless race when working out if a block is discarded
    dm cache: when reloading a discard bitset allow for a different discard block size
    dm cache: fix some issues with the new discard range support
    dm array: if resizing the array is a noop set the new root to the old one
    dm: use rcu_dereference_protected instead of rcu_dereference
    dm thin: fix pool_io_hints to avoid looking at max_hw_sectors
    dm thin: suspend/resume active thin devices when reloading thin-pool
    dm: enhance internal suspend and resume interface
    dm thin: do not allow thin device activation while pool is suspended
    dm: add presuspend_undo hook to target_type
    dm: return earlier from dm_blk_ioctl if target doesn't implement .ioctl
    dm thin: remove stale 'trim' message in block comment above pool_message
    ...

    Linus Torvalds
     
  • This patch extends the set/get_rxfh ethtool-options for getting or
    setting the RSS hash function.

    It modifies drivers implementation of set/get_rxfh accordingly.

    This change also delegates the responsibility of checking whether a
    modification to a certain RX flow hash parameter is supported to the
    driver implementation of set_rxfh.

    User-kernel API is done through the new hfunc bitmask field in the
    ethtool_rxfh struct. A bit set in the hfunc field is corresponding to an
    index in the new string-set ETH_SS_RSS_HASH_FUNCS.

    Got approval from most of the relevant driver maintainers that their
    driver is using Toeplitz, and for the few that didn't answered, also
    assumed it is Toeplitz.

    Cc: Tom Lendacky
    Cc: Ariel Elior
    Cc: Prashant Sreedharan
    Cc: Michael Chan
    Cc: Hariprasad S
    Cc: Sathya Perla
    Cc: Subbu Seetharaman
    Cc: Ajit Khaparde
    Cc: Jeff Kirsher
    Cc: Jesse Brandeburg
    Cc: Bruce Allan
    Cc: Carolyn Wyborny
    Cc: Don Skidmore
    Cc: Greg Rose
    Cc: Matthew Vick
    Cc: John Ronciak
    Cc: Mitch Williams
    Cc: Amir Vadai
    Cc: Solarflare linux maintainers
    Cc: Shradha Shah
    Cc: Shreyas Bhatewara
    Cc: "VMware, Inc."
    Cc: Ben Hutchings
    Signed-off-by: Eyal Perry
    Signed-off-by: Amir Vadai
    Signed-off-by: David S. Miller

    Eyal Perry
     
  • Allow reading of timestamps and cmsg at the same time on all relevant
    socket families. One use is to correlate timestamps with egress
    device, by asking for cmsg IP_PKTINFO.

    on AF_INET sockets, call the relevant function (ip_cmsg_recv). To
    avoid changing legacy expectations, only do so if the caller sets a
    new timestamping flag SOF_TIMESTAMPING_OPT_CMSG.

    on AF_INET6 sockets, IPV6_PKTINFO and all other recv cmsg are already
    returned for all origins. only change is to set ifindex, which is
    not initialized for all error origins.

    In both cases, only generate the pktinfo message if an ifindex is
    known. This is not the case for ACK timestamps.

    The difference between the protocol families is probably a historical
    accident as a result of the different conditions for generating cmsg
    in the relevant ip(v6)_recv_error function:

    ipv4: if (serr->ee.ee_origin == SO_EE_ORIGIN_ICMP) {
    ipv6: if (serr->ee.ee_origin != SO_EE_ORIGIN_LOCAL) {

    At one time, this was the same test bar for the ICMP/ICMP6
    distinction. This is no longer true.

    Signed-off-by: Willem de Bruijn

    ----

    Changes
    v1 -> v2
    large rewrite
    - integrate with existing pktinfo cmsg generation code
    - on ipv4: only send with new flag, to maintain legacy behavior
    - on ipv6: send at most a single pktinfo cmsg
    - on ipv6: initialize fields if not yet initialized

    The recv cmsg interfaces are also relevant to the discussion of
    whether looping packet headers is problematic. For v6, cmsgs that
    identify many headers are already returned. This patch expands
    that to v4. If it sounds reasonable, I will follow with patches

    1. request timestamps without payload with SOF_TIMESTAMPING_OPT_TSONLY
    (http://patchwork.ozlabs.org/patch/366967/)
    2. sysctl to conditionally drop all timestamps that have payload or
    cmsg from users without CAP_NET_RAW.
    Signed-off-by: David S. Miller

    Willem de Bruijn
     

08 Dec, 2014

3 commits

  • ASoC: Updates for v3.19

    Lots and lots of changes this time around, the usual set of driver
    updates and a huge bulk of cleanups from Lars-Peter. Probably the most
    interesting thing for most users is the Intel driver updates which will
    (with some more machine integration work) enable support for newer x86
    laptops.

    - Conversion of AC'97 drivers to use regmap, bringing us closer to the
    removal of the ASoC level I/O code.
    - Clean up a lot of old drivers that were open coding things that have
    subsequently been implemented in the core.
    - Some DAPM performance improvements.
    - Removal of the now seldom used CODEC mutex.
    - Lots of updates for the newer Intel SoC support, including support
    for the DSP and some Cherrytrail and Braswell machine drivers.
    - Support for Samsung boards using rt5631 as the CODEC.
    - Removal of the obsolete AFEB9260 machine driver.
    - Driver support for the TI TS3A227E headset driver used in some
    Chrombeooks.

    Takashi Iwai
     
  • Signed-off-by: Ley Foon Tan
    Acked-by: Arnd Bergmann

    Ley Foon Tan
     
  • The handling of can error states is different between platforms.
    This is an attempt to correct that problem.

    I've moved this handling into a generic function for changing the
    error state. This ensures that error state changes are handled
    the same way everywhere (where this function is used).

    This new mechanism also adds reverse state transitioning in error
    frames, i.e. the user will be notified through the socket interface
    when the state goes down.

    Signed-off-by: Andri Yngvason
    Acked-by: Wolfgang Grandegger
    Signed-off-by: Marc Kleine-Budde

    Andri Yngvason
     

06 Dec, 2014

2 commits

  • introduce new setsockopt() command:

    setsockopt(sock, SOL_SOCKET, SO_ATTACH_BPF, &prog_fd, sizeof(prog_fd))

    where prog_fd was received from syscall bpf(BPF_PROG_LOAD, attr, ...)
    and attr->prog_type == BPF_PROG_TYPE_SOCKET_FILTER

    setsockopt() calls bpf_prog_get() which increments refcnt of the program,
    so it doesn't get unloaded while socket is using the program.

    The same eBPF program can be attached to multiple sockets.

    User task exit automatically closes socket which calls sk_filter_uncharge()
    which decrements refcnt of eBPF program

    Signed-off-by: Alexei Starovoitov
    Signed-off-by: David S. Miller

    Alexei Starovoitov
     
  • introduce program type BPF_PROG_TYPE_SOCKET_FILTER that is used
    for attaching programs to sockets where ctx == skb.

    add verifier checks for ABS/IND instructions which can only be seen
    in socket filters, therefore the check:
    if (env->prog->aux->prog_type != BPF_PROG_TYPE_SOCKET_FILTER)
    verbose("BPF_LD_ABS|IND instructions are only allowed in socket filters\n");

    Signed-off-by: Alexei Starovoitov
    Signed-off-by: David S. Miller

    Alexei Starovoitov