11 Oct, 2016

2 commits

  • Pull networking fixes from David Miller:

    1) Netfilter list handling fix, from Linus.

    2) RXRPC/AFS bug fixes from David Howells (oops on call to serviceless
    endpoints, build warnings, missing notifications, etc.) From David
    Howells.

    3) Kernel log message missing newlines, from Colin Ian King.

    4) Don't enter direct reclaim in netlink dumps, the idea is to use a
    high order allocation first and fallback quickly to a 0-order
    allocation if such a high-order one cannot be done cheaply and
    without reclaim. From Eric Dumazet.

    5) Fix firmware download errors in btusb bluetooth driver, from Ethan
    Hsieh.

    6) Missing Kconfig deps for QCOM_EMAC, from Geert Uytterhoeven.

    7) Fix MDIO_XGENE dup Kconfig entry. From Laura Abbott.

    8) Constrain ipv6 rtr_solicits sysctl values properly, from Maciej
    Żenczykowski.

    * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (65 commits)
    netfilter: Fix slab corruption.
    be2net: Enable VF link state setting for BE3
    be2net: Fix TX stats for TSO packets
    be2net: Update Copyright string in be_hw.h
    be2net: NCSI FW section should be properly updated with ethtool for BE3
    be2net: Provide an alternate way to read pf_num for BEx chips
    wan/fsl_ucc_hdlc: Fix size used in dma_free_coherent()
    net: macb: NULL out phydev after removing mdio bus
    xen-netback: make sure that hashes are not send to unaware frontends
    Fixing a bug in team driver due to incorrect 'unsigned int' to 'int' conversion
    MAINTAINERS: add myself as a maintainer of xen-netback
    ipv6 addrconf: disallow rtr_solicits < -1
    Bluetooth: btusb: Fix atheros firmware download error
    drivers: net: phy: Correct duplicate MDIO_XGENE entry
    ethernet: qualcomm: QCOM_EMAC should depend on HAS_DMA and HAS_IOMEM
    net: ethernet: mediatek: remove hwlro property in the device tree
    net: ethernet: mediatek: get hw lro capability by the chip id instead of by the dtsi
    net: ethernet: mediatek: get the chip id by ETHDMASYS registers
    net: bgmac: Fix errant feature flag check
    netlink: do not enter direct reclaim from netlink_dump()
    ...

    Linus Torvalds
     
  • Pull misc vfs updates from Al Viro:
    "Assorted misc bits and pieces.

    There are several single-topic branches left after this (rename2
    series from Miklos, current_time series from Deepa Dinamani, xattr
    series from Andreas, uaccess stuff from from me) and I'd prefer to
    send those separately"

    * 'work.misc' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs: (39 commits)
    proc: switch auxv to use of __mem_open()
    hpfs: support FIEMAP
    cifs: get rid of unused arguments of CIFSSMBWrite()
    posix_acl: uapi header split
    posix_acl: xattr representation cleanups
    fs/aio.c: eliminate redundant loads in put_aio_ring_file
    fs/internal.h: add const to ns_dentry_operations declaration
    compat: remove compat_printk()
    fs/buffer.c: make __getblk_slow() static
    proc: unsigned file descriptors
    fs/file: more unsigned file descriptors
    fs: compat: remove redundant check of nr_segs
    cachefiles: Fix attempt to read i_blocks after deleting file [ver #2]
    cifs: don't use memcpy() to copy struct iov_iter
    get rid of separate multipage fault-in primitives
    fs: Avoid premature clearing of capabilities
    fs: Give dentry to inode_change_ok() instead of inode
    fuse: Propagate dentry down to inode_change_ok()
    ceph: Propagate dentry down to inode_change_ok()
    xfs: Propagate dentry down to inode_change_ok()
    ...

    Linus Torvalds
     

10 Oct, 2016

1 commit

  • Pull main rdma updates from Doug Ledford:
    "This is the main pull request for the rdma stack this release. The
    code has been through 0day and I had it tagged for linux-next testing
    for a couple days.

    Summary:

    - updates to mlx5

    - updates to mlx4 (two conflicts, both minor and easily resolved)

    - updates to iw_cxgb4 (one conflict, not so obvious to resolve,
    proper resolution is to keep the code in cxgb4_main.c as it is in
    Linus' tree as attach_uld was refactored and moved into
    cxgb4_uld.c)

    - improvements to uAPI (moved vendor specific API elements to uAPI
    area)

    - add hns-roce driver and hns and hns-roce ACPI reset support

    - conversion of all rdma code away from deprecated
    create_singlethread_workqueue

    - security improvement: remove unsafe ib_get_dma_mr (breaks lustre in
    staging)"

    * tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dledford/rdma: (75 commits)
    staging/lustre: Disable InfiniBand support
    iw_cxgb4: add fast-path for small REG_MR operations
    cxgb4: advertise support for FR_NSMR_TPTE_WR
    IB/core: correctly handle rdma_rw_init_mrs() failure
    IB/srp: Fix infinite loop when FMR sg[0].offset != 0
    IB/srp: Remove an unused argument
    IB/core: Improve ib_map_mr_sg() documentation
    IB/mlx4: Fix possible vl/sl field mismatch in LRH header in QP1 packets
    IB/mthca: Move user vendor structures
    IB/nes: Move user vendor structures
    IB/ocrdma: Move user vendor structures
    IB/mlx4: Move user vendor structures
    IB/cxgb4: Move user vendor structures
    IB/cxgb3: Move user vendor structures
    IB/mlx5: Move and decouple user vendor structures
    IB/{core,hw}: Add constant for node_desc
    ipoib: Make ipoib_warn ratelimited
    IB/mlx4/alias_GUID: Remove deprecated create_singlethread_workqueue
    IB/ipoib_verbs: Remove deprecated create_singlethread_workqueue
    IB/ipoib: Remove deprecated create_singlethread_workqueue
    ...

    Linus Torvalds
     

09 Oct, 2016

5 commits


08 Oct, 2016

8 commits

  • Al Viro
     
  • Pull ARM SoC late DT updates from Arnd Bergmann:
    "These updates have been kept in a separate branch mostly because they
    rely on updates to the respective clk drivers to keep the shared
    header files in sync.

    - The Renesas r8a7796 (R-Car M3-W) platform gets added, this is an
    automotive SoC similar to the ⅹ8a7795 chip we already support, but
    the dts changes rely on a clock driver change that has been merged
    for v4.9 through the clk tree.

    - The Amlogic meson-gxbb (S905) platform gains support for a few
    drivers merged through our tree, in particular the network and usb
    driver changes are required and included here, and also the clk
    tree changes.

    - The Allwinner platforms have seen a large-scale change to their clk
    drivers and the dts file updates must come after that. This
    includes the newly added Nextthing GR8 platform, which is derived
    from sun5i/A13.

    - Some integrator (arm32) changes rely on clk driver changes.

    - A single patch for lpc32xx has no such dependency but wasn't added
    until just before the merge window"

    * tag 'armsoc-late' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (99 commits)
    ARM: dts: lpc32xx: add device node for IRAM on-chip memory
    ARM: dts: sun8i: Add accelerometer to polaroid-mid2407pxe03
    ARM: dts: sun8i: enable UART1 for iNet D978 Rev2 board
    ARM: dts: sun8i: add pinmux for UART1 at PG
    dts: sun8i-h3: add I2C0-2 peripherals to H3 SOC
    dts: sun8i-h3: add pinmux definitions for I2C0-2
    dts: sun8i-h3: associate exposed UARTs on Orange Pi Boards
    dts: sun8i-h3: split off RTS/CTS for UART1 in seperate pinmux
    dts: sun8i-h3: add pinmux definitions for UART2-3
    ARM: dts: sun9i: a80-optimus: Disable EHCI1
    ARM: dts: sun9i: cubieboard4: Add AXP806 PMIC device node and regulators
    ARM: dts: sun9i: a80-optimus: Add AXP806 PMIC device node and regulators
    ARM: dts: sun9i: cubieboard4: Declare AXP809 SW regulator as unused
    ARM: dts: sun9i: a80-optimus: Declare AXP809 SW regulator as unused
    ARM: dts: sun8i: Add touchscreen node for sun8i-a33-ga10h
    ARM: dts: sun8i: Add touchscreen node for sun8i-a23-polaroid-mid2809pxe04
    ARM: dts: sun8i: Add touchscreen node for sun8i-a23-polaroid-mid2407pxe03
    ARM: dts: sun8i: Add touchscreen node for sun8i-a23-inet86dz
    ARM: dts: sun8i: Add touchscreen node for sun8i-a23-gt90h
    ARM64: dts: meson-gxbb-vega-s95: Enable USB Nodes
    ...

    Linus Torvalds
     
  • Size used with 'dma_alloc_coherent()' and 'dma_free_coherent()' should be
    consistent.
    Here, the size of a pointer is used in dma_alloc... and the size of the
    pointed structure is used in dma_free...

    This has been spotted with coccinelle, using the following script:
    ////////////////////
    @r@
    expression x0, x1, y0, y1, z0, z1, t0, t1, ret;
    @@

    * ret = dma_alloc_coherent(x0, y0, z0, t0);
    ...
    * dma_free_coherent(x1, y1, ret, t1);

    @script:python@
    y0 << r.y0;
    y1 << r.y1;

    @@
    if y1.find(y0) == -1:
    print "WARNING: sizes look different: '%s' vs '%s'" % (y0, y1)
    ////////////////////

    Signed-off-by: Christophe JAILLET
    Signed-off-by: David S. Miller

    Christophe Jaillet
     
  • To ensure the dev->phydev pointer is not used after becoming invalid in
    mdiobus_unregister, set it to NULL. This happens when removing the macb
    driver without first taking its interface down, since unregister_netdev
    will end up calling macb_close.

    Signed-off-by: Xander Huff
    Signed-off-by: Nathan Sullivan
    Signed-off-by: Brad Mouring
    Reviewed-by: Moritz Fischer
    Acked-by: Nicolas Ferre
    Signed-off-by: David S. Miller

    Nathan Sullivan
     
  • In the case when a frontend only negotiates a single queue with xen-
    netback it is possible for a skbuff with a s/w hash to result in a
    hash extra_info segment being sent to the frontend even when no hash
    algorithm has been configured. (The ndo_select_queue() entry point makes
    sure the hash is not set if no algorithm is configured, but this entry
    point is not called when there is only a single queue). This can result
    in a frontend that is unable to handle extra_info segments being given
    such a segment, causing it to crash.

    This patch fixes the problem by clearing the hash in ndo_start_xmit()
    instead, which is clearly guaranteed to be called irrespective of the
    number of queues.

    Signed-off-by: Paul Durrant
    Cc: Wei Liu
    Acked-by: Wei Liu
    Signed-off-by: David S. Miller

    Paul Durrant
     
  • When processing a REG_MR work request, if fw supports the
    FW_RI_NSMR_TPTE_WR work request, and if the page list for this
    registration is
    Signed-off-by: Doug Ledford

    Steve Wise
     
  • Query firmware for the FW_PARAMS_PARAM_DEV_RI_FR_NSMR_TPTE_WR parameter.
    If it exists and is 1, then advertise support for FR_NSMR_TPTE_WR to
    the ULDs.

    Signed-off-by: Steve Wise
    Signed-off-by: Doug Ledford

    Steve Wise
     
  • In MLX qp packets, the LRH (built by the driver) has both a VL field
    and an SL field. When building a QP1 packet, the VL field should
    reflect the SLtoVL mapping and not arbitrarily contain zero (as is
    done now). This bug causes credit problems in IB switches at
    high rates of QP1 packets.

    The fix is to cache the SL to VL mapping in the driver, and look up
    the VL mapped to the SL provided in the send request when sending
    QP1 packets.

    For FW versions which support generating a port_management_config_change
    event with subtype sl-to-vl-table-change, the driver uses that event
    to update its sl-to-vl mapping cache. Otherwise, the driver snoops
    incoming SMP mads to update the cache.

    There remains the case where the FW is running in secure-host mode
    (so no QP0 packets are delivered to the driver), and the FW does not
    generate the sl2vl mapping change event. To support this case, the
    driver updates (via querying the FW) its sl2vl mapping cache when
    running in secure-host mode when it receives either a Port Up event
    or a client-reregister event (where the port is still up, but there
    may have been an opensm failover).
    OpenSM modifies the sl2vl mapping before Port Up and Client-reregister
    events occur, so if there is a mapping change the driver's cache will
    be properly updated.

    Fixes: 225c7b1feef1 ("IB/mlx4: Add a driver Mellanox ConnectX InfiniBand adapters")
    Signed-off-by: Jack Morgenstein
    Signed-off-by: Leon Romanovsky
    Signed-off-by: Doug Ledford

    Jack Morgenstein
     

07 Oct, 2016

18 commits


06 Oct, 2016

2 commits

  • Set bit 0 in register 1C.23 to enable the EDPD feature of the
    KSZ9031 PHY. This reduces power consumption when the link is
    down.

    Signed-off-by: Mike Looijmans
    Reviewed-by: Andrew Lunn
    Reviewed-by: Florian Fainelli

    Mike Looijmans
     
  • Pull networking updates from David Miller:

    1) BBR TCP congestion control, from Neal Cardwell, Yuchung Cheng and
    co. at Google. https://lwn.net/Articles/701165/

    2) Do TCP Small Queues for retransmits, from Eric Dumazet.

    3) Support collect_md mode for all IPV4 and IPV6 tunnels, from Alexei
    Starovoitov.

    4) Allow cls_flower to classify packets in ip tunnels, from Amir Vadai.

    5) Support DSA tagging in older mv88e6xxx switches, from Andrew Lunn.

    6) Support GMAC protocol in iwlwifi mwm, from Ayala Beker.

    7) Support ndo_poll_controller in mlx5, from Calvin Owens.

    8) Move VRF processing to an output hook and allow l3mdev to be
    loopback, from David Ahern.

    9) Support SOCK_DESTROY for UDP sockets. Also from David Ahern.

    10) Congestion control in RXRPC, from David Howells.

    11) Support geneve RX offload in ixgbe, from Emil Tantilov.

    12) When hitting pressure for new incoming TCP data SKBs, perform a
    partial rathern than a full purge of the OFO queue (which could be
    huge). From Eric Dumazet.

    13) Convert XFRM state and policy lookups to RCU, from Florian Westphal.

    14) Support RX network flow classification to igb, from Gangfeng Huang.

    15) Hardware offloading of eBPF in nfp driver, from Jakub Kicinski.

    16) New skbmod packet action, from Jamal Hadi Salim.

    17) Remove some inefficiencies in snmp proc output, from Jia He.

    18) Add FIB notifications to properly propagate route changes to
    hardware which is doing forwarding offloading. From Jiri Pirko.

    19) New dsa driver for qca8xxx chips, from John Crispin.

    20) Implement RFC7559 ipv6 router solicitation backoff, from Maciej
    Żenczykowski.

    21) Add L3 mode to ipvlan, from Mahesh Bandewar.

    22) Support 802.1ad in mlx4, from Moshe Shemesh.

    23) Support hardware LRO in mediatek driver, from Nelson Chang.

    24) Add TC offloading to mlx5, from Or Gerlitz.

    25) Convert various drivers to ethtool ksettings interfaces, from
    Philippe Reynes.

    26) TX max rate limiting for cxgb4, from Rahul Lakkireddy.

    27) NAPI support for ath10k, from Rajkumar Manoharan.

    28) Support XDP in mlx5, from Rana Shahout and Saeed Mahameed.

    29) UDP replicast support in TIPC, from Richard Alpe.

    30) Per-queue statistics for qed driver, from Sudarsana Reddy Kalluru.

    31) Support BQL in thunderx driver, from Sunil Goutham.

    32) TSO support in alx driver, from Tobias Regnery.

    33) Add stream parser engine and use it in kcm.

    34) Support async DHCP replies in ipconfig module, from Uwe
    Kleine-König.

    35) DSA port fast aging for mv88e6xxx driver, from Vivien Didelot.

    * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next: (1715 commits)
    mlxsw: switchx2: Fix misuse of hard_header_len
    mlxsw: spectrum: Fix misuse of hard_header_len
    net/faraday: Stop NCSI device on shutdown
    net/ncsi: Introduce ncsi_stop_dev()
    net/ncsi: Rework the channel monitoring
    net/ncsi: Allow to extend NCSI request properties
    net/ncsi: Rework request index allocation
    net/ncsi: Don't probe on the reserved channel ID (0x1f)
    net/ncsi: Introduce NCSI_RESERVED_CHANNEL
    net/ncsi: Avoid unused-value build warning from ia64-linux-gcc
    net: Add netdev all_adj_list refcnt propagation to fix panic
    net: phy: Add Edge-rate driver for Microsemi PHYs.
    vmxnet3: Wake queue from reset work
    i40e: avoid NULL pointer dereference and recursive errors on early PCI error
    qed: Add RoCE ll2 & GSI support
    qed: Add support for memory registeration verbs
    qed: Add support for QP verbs
    qed: PD,PKEY and CQ verb support
    qed: Add support for RoCE hw init
    qede: Add qedr framework
    ...

    Linus Torvalds
     

05 Oct, 2016

2 commits

  • In order to specify that the mlxsw switchx2 driver needs additional
    headroom for packets, there have been use of the hard_header_len field of
    the netdevice struct.

    This commit changes that to use needed_headroom instead, as this is the
    correct way to do that.

    Fixes: 31557f0f9755 ("mlxsw: Introduce Mellanox SwitchX-2 ASIC support")
    Signed-off-by: Yotam Gigi
    Acked-by: Ido Schimmel
    Signed-off-by: Jiri Pirko
    Signed-off-by: David S. Miller

    Yotam Gigi
     
  • In order to specify that the mlxsw spectrum driver needs additional
    headroom for packets, there have been use of the hard_header_len field of
    the netdevice struct.

    This commit changes that to use needed_headroom instead, as this is the
    correct way to do that.

    Fixes: 56ade8fe3fe1 ("mlxsw: spectrum: Add initial support for Spectrum ASIC")
    Signed-off-by: Yotam Gigi
    Acked-by: Ido Schimmel
    Signed-off-by: Jiri Pirko
    Signed-off-by: David S. Miller

    Yotam Gigi
     

04 Oct, 2016

2 commits