Skip to content
Commits on May 4, 2016
  1. Merge tag 'trace-fixes-v4.6-rc6' of git://git.kernel.org/pub/scm/linu…

    committed May 3, 2016
    …x/kernel/git/rostedt/linux-trace
    
    Pull tracing fix from Steven Rostedt:
     "Chunyu Hu noticed that if one writes into the trigger files within the
      ftrace subsystem of events that it can cause an oops.  This file is
      only writable by root, but still is a bug that needs to be fixed"
    
    * tag 'trace-fixes-v4.6-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace:
      tracing: Don't display trigger file for events that can't be enabled
Commits on May 3, 2016
  1. Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net

    committed May 3, 2016
    Pull networking fixes from David Miller:
     "Some straggler bug fixes:
    
       1) Batman-adv DAT must consider VLAN IDs when choosing candidate
          nodes, from Antonio Quartulli.
    
       2) Fix botched reference counting of vlan objects and neigh nodes in
          batman-adv, from Sven Eckelmann.
    
       3) netem can crash when it sees GSO packets, the fix is to segment
          then upon ->enqueue.  Fix from Neil Horman with help from Eric
          Dumazet.
    
       4) Fix VXLAN dependencies in mlx5 driver Kconfig, from Matthew
          Finlay.
    
       5) Handle VXLAN ops outside of rcu lock, via a workqueue, in mlx5,
          since it can sleep.  Fix also from Matthew Finlay.
    
       6) Check mdiobus_scan() return values properly in pxa168_eth and macb
          drivers.  From Sergei Shtylyov.
    
       7) If the netdevice doesn't support checksumming, disable
          segmentation.  From Alexandery Duyck.
    
       8) Fix races between RDS tcp accept and sending, from Sowmini
          Varadhan.
    
       9) In macb driver, probe MDIO bus before we register the netdev,
          otherwise we can try to open the device before it is really ready
          for that.  Fix from Florian Fainelli.
    
      10) Netlink attribute size for ILA "tunnels" not calculated properly,
          fix from Nicolas Dichtel"
    
    * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net:
      ipv6/ila: fix nlsize calculation for lwtunnel
      net: macb: Probe MDIO bus before registering netdev
      RDS: TCP: Synchronize accept() and connect() paths on t_conn_lock.
      RDS:TCP: Synchronize rds_tcp_accept_one with rds_send_xmit when resetting t_sock
      vxlan: Add checksum check to the features check function
      net: Disable segmentation if checksumming is not supported
      net: mvneta: Remove superfluous SMP function call
      macb: fix mdiobus_scan() error check
      pxa168_eth: fix mdiobus_scan() error check
      net/mlx5e: Use workqueue for vxlan ops
      net/mlx5e: Implement a mlx5e workqueue
      net/mlx5: Kconfig: Fix MLX5_EN/VXLAN build issue
      net/mlx5: Unmap only the relevant IO memory mapping
      netem: Segment GSO packets on enqueue
      batman-adv: Fix reference counting of hardif_neigh_node object for neigh_node
      batman-adv: Fix reference counting of vlan object for tt_local_entry
      batman-adv: B.A.T.M.A.N V - make sure iface is reactivated upon NETDEV_UP event
      batman-adv: fix DAT candidate selection (must use vid)
  2. Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel…

    committed May 3, 2016
    …/git/mszeredi/fuse
    
    Pull fuse fixes from Miklos Szeredi:
     "Fix a regression and update the MAINTAINERS entry for fuse"
    
    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/fuse:
      fuse: update mailing list in MAINTAINERS
      fuse: Fix return value from fuse_get_user_pages()
  3. @NicolasDichtel @davem330

    ipv6/ila: fix nlsize calculation for lwtunnel

    NicolasDichtel committed with davem330 May 3, 2016
    The handler 'ila_fill_encap_info' adds one attribute: ILA_ATTR_LOCATOR.
    
    Fixes: 65d7ab8 ("net: Identifier Locator Addressing module")
    CC: Tom Herbert <tom@herbertland.com>
    Signed-off-by: Nicolas Dichtel <nicolas.dichtel@6wind.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
  4. @ffainelli @davem330

    net: macb: Probe MDIO bus before registering netdev

    ffainelli committed with davem330 May 2, 2016
    The current sequence makes us register for a network device prior to
    registering and probing the MDIO bus which could lead to some unwanted
    consequences, like a thread of execution calling into ndo_open before
    register_netdev() returns, while the MDIO bus is not ready yet.
    
    Rework the sequence to register for the MDIO bus, and therefore attach
    to a PHY prior to calling register_netdev(), which implies reworking the
    error path a bit.
    
    Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
    Acked-by: Nicolas Ferre <nicolas.ferre@atmel.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
  5. @davem330

    Merge branch 'rds-fixes'

    davem330 committed May 3, 2016
    Sowmini Varadhan says:
    
    ====================
    RDS: TCP: sychronization during connection startup
    
    This patch series ensures that the passive (accept) side of the
    TCP connection used for RDS-TCP is correctly synchronized with
    any concurrent active (connect) attempts for a given pair of peers.
    
    Patch 1 in the series makes sure that the t_sock in struct
    rds_tcp_connection is only reset after any threads in rds_tcp_xmit
    have completed (otherwise a null-ptr deref may be encountered).
    Patch 2 synchronizes rds_tcp_accept_one() with the rds_tcp*connect()
    path.
    
    v2: review comments from Santosh Shilimkar, other spelling corrections
    ====================
    
    Signed-off-by: David S. Miller <davem@davemloft.net>
  6. @sowminiv @davem330

    RDS: TCP: Synchronize accept() and connect() paths on t_conn_lock.

    sowminiv committed with davem330 May 2, 2016
    An arbitration scheme for duelling SYNs is implemented as part of
    commit 241b271 ("RDS-TCP: Reset tcp callbacks if re-using an
    outgoing socket in rds_tcp_accept_one()") which ensures that both nodes
    involved will arrive at the same arbitration decision. However, this
    needs to be synchronized with an outgoing SYN to be generated by
    rds_tcp_conn_connect(). This commit achieves the synchronization
    through the t_conn_lock mutex in struct rds_tcp_connection.
    
    The rds_conn_state is checked in rds_tcp_conn_connect() after acquiring
    the t_conn_lock mutex.  A SYN is sent out only if the RDS connection is
    not already UP (an UP would indicate that rds_tcp_accept_one() has
    completed 3WH, so no SYN needs to be generated).
    
    Similarly, the rds_conn_state is checked in rds_tcp_accept_one() after
    acquiring the t_conn_lock mutex. The only acceptable states (to
    allow continuation of the arbitration logic) are UP (i.e., outgoing SYN
    was SYN-ACKed by peer after it sent us the SYN) or CONNECTING (we sent
    outgoing SYN before we saw incoming SYN).
    
    Signed-off-by: Sowmini Varadhan <sowmini.varadhan@oracle.com>
    Acked-by: Santosh Shilimkar <santosh.shilimkar@oracle.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
  7. @sowminiv @davem330

    RDS:TCP: Synchronize rds_tcp_accept_one with rds_send_xmit when reset…

    sowminiv committed with davem330 May 2, 2016
    …ting t_sock
    
    There is a race condition between rds_send_xmit -> rds_tcp_xmit
    and the code that deals with resolution of duelling syns added
    by commit 241b271 ("RDS-TCP: Reset tcp callbacks if re-using an
    outgoing socket in rds_tcp_accept_one()").
    
    Specifically, we may end up derefencing a null pointer in rds_send_xmit
    if we have the interleaving sequence:
               rds_tcp_accept_one                  rds_send_xmit
    
                                                 conn is RDS_CONN_UP, so
        					 invoke rds_tcp_xmit
    
                                                 tc = conn->c_transport_data
            rds_tcp_restore_callbacks
                /* reset t_sock */
        					 null ptr deref from tc->t_sock
    
    The race condition can be avoided without adding the overhead of
    additional locking in the xmit path: have rds_tcp_accept_one wait
    for rds_tcp_xmit threads to complete before resetting callbacks.
    The synchronization can be done in the same manner as rds_conn_shutdown().
    First set the rds_conn_state to something other than RDS_CONN_UP
    (so that new threads cannot get into rds_tcp_xmit()), then wait for
    RDS_IN_XMIT to be cleared in the conn->c_flags indicating that any
    threads in rds_tcp_xmit are done.
    
    Fixes: 241b271 ("RDS-TCP: Reset tcp callbacks if re-using an
    outgoing socket in rds_tcp_accept_one()")
    Signed-off-by: Sowmini Varadhan <sowmini.varadhan@oracle.com>
    Acked-by: Santosh Shilimkar <santosh.shilimkar@oracle.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
  8. @davem330

    Merge branch 'tunnel-csum-and-sg-offloads'

    davem330 committed May 3, 2016
    Alexander Duyck says:
    
    ====================
    Fixes for tunnel checksum and segmentation offloads
    
    This patch series is a subset of patches I had submitted for net-next.  I
    plan to drop these two patches from the v3 of "Fix Tunnel features and
    enable GSO partial for several drivers" and I am instead submitting them
    for net since these are truly fixes and likely will need to be backported
    to stable branches.
    
    This series addresses 2 specific issues.  The first is that we could
    request TSO on a v4 inner header while not supporting checksum offload of
    the outer IPv6 header.  The second is that we could request an IPv6 inner
    checksum offload without validating that we could actually support an inner
    IPv6 checksum offload.
    ====================
    
    Signed-off-by: David S. Miller <davem@davemloft.net>
  9. @davem330

    vxlan: Add checksum check to the features check function

    Alexander Duyck committed with davem330 May 2, 2016
    We need to perform an additional check on the inner headers to determine if
    we can offload the checksum for them.  Previously this check didn't occur
    so we would generate an invalid frame in the case of an IPv6 header
    encapsulated inside of an IPv4 tunnel.  To fix this I added a secondary
    check to vxlan_features_check so that we can verify that we can offload the
    inner checksum.
    
    Signed-off-by: Alexander Duyck <aduyck@mirantis.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
  10. @davem330

    net: Disable segmentation if checksumming is not supported

    Alexander Duyck committed with davem330 May 2, 2016
    In the case of the mlx4 and mlx5 driver they do not support IPv6 checksum
    offload for tunnels.  With this being the case we should disable GSO in
    addition to the checksum offload features when we find that a device cannot
    perform a checksum on a given packet type.
    
    Signed-off-by: Alexander Duyck <aduyck@mirantis.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
  11. @davem330

    net: mvneta: Remove superfluous SMP function call

    Anna-Maria Gleixner committed with davem330 May 2, 2016
    Since commit 3b9d6da ("cpu/hotplug: Fix rollback during error-out
    in __cpu_disable()") it is ensured that callbacks of CPU_ONLINE and
    CPU_DOWN_PREPARE are processed on the hotplugged CPU. Due to this SMP
    function calls are no longer required.
    
    Replace smp_call_function_single() with a direct call to
    mvneta_percpu_enable() or mvneta_percpu_disable(). The functions do
    not require to be called with interrupts disabled, therefore the
    smp_call_function_single() calling convention is not preserved.
    
    Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
    Cc: netdev@vger.kernel.org
    Signed-off-by: Anna-Maria Gleixner <anna-maria@linutronix.de>
    Signed-off-by: David S. Miller <davem@davemloft.net>
  12. @davem330

    macb: fix mdiobus_scan() error check

    Sergei Shtylyov committed with davem330 May 1, 2016
    Now mdiobus_scan() returns ERR_PTR(-ENODEV) instead of NULL if the PHY
    device ID was read as all ones. As this was not  an error before, this
    value  should be filtered out now in this driver.
    
    Fixes: b74766a ("phylib: don't return NULL from get_phy_device()")
    Signed-off-by: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com>
    Reviewed-by: Florian Fainelli <f.fainelli@gmail.com>
    Acked-by: Nicolas Ferre <nicolas.ferre@atmel.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
  13. @davem330

    pxa168_eth: fix mdiobus_scan() error check

    Sergei Shtylyov committed with davem330 Apr 30, 2016
    Since mdiobus_scan() returns either an error code or NULL on error, the
    driver should check  for both,  not only for NULL, otherwise a crash is
    imminent...
    
    Reported-by: Arnd Bergmann <arnd@arndb.de>
    Signed-off-by: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
  14. Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel…

    committed May 3, 2016
    …/git/jikos/hid
    
    Pull HID fixes from Jiri Kosina:
     "Fixes for the HID subsystem:
    
       - regression fix for Wacom driver; commit introduced in 4.6-rc1
         mistakenly removed line that should be kept.  Fix by Ping Cheng
    
       - two device-specific quirks, by Ping Cheng and Nazar Mokrynskyi"
    
    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid:
      HID: wacom: add missed stylus_in_proximity line back
      HID: Fix boot delay for Creative SB Omni Surround 5.1 with quirk
      HID: wacom: Add support for DTK-1651
  15. Merge tag 'clk-fixes-for-linus' of git://git.kernel.org/pub/scm/linux…

    committed May 3, 2016
    …/kernel/git/clk/linux
    
    Pull clk fix from Stephen Boyd:
     "One small bug fix for the imx6qp CAN clk definition that was causing
      failures and division by zeros in the kernel on those devices"
    
    * tag 'clk-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/clk/linux:
      clk: imx6q: fix typo in CAN clock definition
  16. @davem330

    Merge branch 'mlx5-fixes'

    davem330 committed May 3, 2016
    Saeed Mahameed says:
    
    ====================
    Mellanox 100G mlx5 fixes for 4.6-rc
    
    This small series provides some bug fixes for mlx5 driver.
    
    A small bug fix for iounmap of a null pointer, which dumps a warning on some archs.
    
    One patch to fix the VXLAN/MLX5_EN dependency issue reported by Arnd.
    
    Two patches to fix the scheduling while atomic issue for ndo_add/del_vxlan_port
    NDOs.  The first will add an internal mlx5e workqueue and the second will
    delegate vxlan ports add/del requests to that workqueue.
    
    Note: ('net/mlx5: Kconfig: Fix MLX5_EN/VXLAN build issue') is only needed for net
    and not net-next as the issue was globally fixed for all device drivers by:
    b7aade1 ('vxlan: break dependency with netdev drivers') in net-next.
    
    Applied on top: f27337e ('ip_tunnel: fix preempt warning in ip tunnel creation/updating')
    ====================
    
    Signed-off-by: David S. Miller <davem@davemloft.net>
  17. @davem330

    net/mlx5e: Use workqueue for vxlan ops

    Matthew Finlay committed with davem330 May 1, 2016
    The vxlan add/delete port NDOs are called under rcu lock.
    The current mlx5e implementation can potentially block in these
    calls, which is not allowed.  Move to using the mlx5e workqueue
    to handle these NDOs.
    
    Fixes: b3f63c3 ('net/mlx5e: Add netdev support for VXLAN tunneling')
    Signed-off-by: Matthew Finlay <matt@mellanox.com>
    Signed-off-by: Saeed Mahameed <saeedm@mellanox.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
  18. @davem330

    net/mlx5e: Implement a mlx5e workqueue

    Matthew Finlay committed with davem330 May 1, 2016
    Implement a mlx5e workqueue to handle all mlx5e specific tasks.  Move
    all tasks currently using the system workqueue to the new workqueue.
    This is in preparation for vxlan using the mlx5e workqueue in order to
    schedule port add/remove operations.
    
    Signed-off-by: Matthew Finlay <matt@mellanox.com>
    Signed-off-by: Saeed Mahameed <saeedm@mellanox.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
  19. @davem330

    net/mlx5: Kconfig: Fix MLX5_EN/VXLAN build issue

    Matthew Finlay committed with davem330 May 1, 2016
    When MLX5_EN=y MLX5_CORE=y and VXLAN=m there is a linker error for
    vxlan_get_rx_port() due to the fact that VXLAN is a module. Change Kconfig
    to select VXLAN when MLX5_CORE=y. When MLX5_CORE=m there is no dependency
    on the value of VXLAN.
    
    Fixes: b3f63c3 ('net/mlx5e: Add netdev support for VXLAN tunneling')
    Signed-off-by: Matthew Finlay <matt@mellanox.com>
    Reported-by: Arnd Bergmann <arnd@arndb.de>
    Signed-off-by: Saeed Mahameed <saeedm@mellanox.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
  20. @davem330

    net/mlx5: Unmap only the relevant IO memory mapping

    Gal Pressman committed with davem330 May 1, 2016
    When freeing UAR the driver tries to unmap uar->map and uar->bf_map
    which are mutually exclusive thus always unmapping a NULL pointer.
    Make sure we only call iounmap() once, for the actual mapping.
    
    Fixes: 0ba4224 ('net/mlx5: Fix global UAR mapping')
    Signed-off-by: Gal Pressman <galp@mellanox.com>
    Reported-by: Doron Tsur <doront@mellanox.com>
    Signed-off-by: Saeed Mahameed <saeedm@mellanox.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
  21. @rostedt

    tracing: Don't display trigger file for events that can't be enabled

    Chunyu Hu committed with rostedt May 3, 2016
    Currently register functions for events will be called
    through the 'reg' field of event class directly without
    any check when seting up triggers.
    
    Triggers for events that don't support register through
    debug fs (events under events/ftrace are for trace-cmd to
    read event format, and most of them don't have a register
    function except events/ftrace/functionx) can't be enabled
    at all, and an oops will be hit when setting up trigger
    for those events, so just not creating them is an easy way
    to avoid the oops.
    
    Link: http://lkml.kernel.org/r/1462275274-3911-1-git-send-email-chuhu@redhat.com
    
    Cc: stable@vger.kernel.org # 3.14+
    Fixes: 85f2b08 ("tracing: Add basic event trigger framework")
    Signed-off-by: Chunyu Hu <chuhu@redhat.com>
    Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
  22. @Pinglinux

    HID: wacom: add missed stylus_in_proximity line back

    Pinglinux committed with Jiri Kosina May 2, 2016
    Commit 7e12978 ("HID: wacom: break out wacom_intuos_get_tool_type") by accident
    removed stylus_in_proximity flag for Intuos series while shuffling the code
    around.
    
    Fix that by reintroducing that flag setting in wacom_intuos_inout(), where
    it originally was.
    
    Fixes: 7e12978 ("HID: wacom: break out wacom_intuos_get_tool_type")
    Signed-off-by: Ping Cheng <pingc@wacom.com>
    Signed-off-by: Jiri Kosina <jkosina@suse.cz>
  23. fuse: update mailing list in MAINTAINERS

    Miklos Szeredi committed with Miklos Szeredi May 3, 2016
    The fuse mailing list seems not to be open anymore.  The discussion on
    fuse-devel@... is mostly userspace related anyway.
    
    Reported-by: Andreas Gruenbacher <agruenba@redhat.com> 
    Signed-off-by: Miklos Szeredi <mszeredi@redhat.com>
  24. @davem330

    netem: Segment GSO packets on enqueue

    Neil Horman committed with davem330 May 2, 2016
    This was recently reported to me, and reproduced on the latest net kernel,
    when attempting to run netperf from a host that had a netem qdisc attached
    to the egress interface:
    
    [  788.073771] ---------------------[ cut here ]---------------------------
    [  788.096716] WARNING: at net/core/dev.c:2253 skb_warn_bad_offload+0xcd/0xda()
    [  788.129521] bnx2: caps=(0x00000001801949b3, 0x0000000000000000) len=2962
    data_len=0 gso_size=1448 gso_type=1 ip_summed=3
    [  788.182150] Modules linked in: sch_netem kvm_amd kvm crc32_pclmul ipmi_ssif
    ghash_clmulni_intel sp5100_tco amd64_edac_mod aesni_intel lrw gf128mul
    glue_helper ablk_helper edac_mce_amd cryptd pcspkr sg edac_core hpilo ipmi_si
    i2c_piix4 k10temp fam15h_power hpwdt ipmi_msghandler shpchp acpi_power_meter
    pcc_cpufreq nfsd auth_rpcgss nfs_acl lockd grace sunrpc ip_tables xfs libcrc32c
    sd_mod crc_t10dif crct10dif_generic mgag200 syscopyarea sysfillrect sysimgblt
    i2c_algo_bit drm_kms_helper ahci ata_generic pata_acpi ttm libahci
    crct10dif_pclmul pata_atiixp tg3 libata crct10dif_common drm crc32c_intel ptp
    serio_raw bnx2 r8169 hpsa pps_core i2c_core mii dm_mirror dm_region_hash dm_log
    dm_mod
    [  788.465294] CPU: 16 PID: 0 Comm: swapper/16 Tainted: G        W
    ------------   3.10.0-327.el7.x86_64 #1
    [  788.511521] Hardware name: HP ProLiant DL385p Gen8, BIOS A28 12/17/2012
    [  788.542260]  ffff880437c036b8 f7afc56532a53db9 ffff880437c03670
    ffffffff816351f1
    [  788.576332]  ffff880437c036a8 ffffffff8107b200 ffff880633e74200
    ffff880231674000
    [  788.611943]  0000000000000001 0000000000000003 0000000000000000
    ffff880437c03710
    [  788.647241] Call Trace:
    [  788.658817]  <IRQ>  [<ffffffff816351f1>] dump_stack+0x19/0x1b
    [  788.686193]  [<ffffffff8107b200>] warn_slowpath_common+0x70/0xb0
    [  788.713803]  [<ffffffff8107b29c>] warn_slowpath_fmt+0x5c/0x80
    [  788.741314]  [<ffffffff812f92f3>] ? ___ratelimit+0x93/0x100
    [  788.767018]  [<ffffffff81637f49>] skb_warn_bad_offload+0xcd/0xda
    [  788.796117]  [<ffffffff8152950c>] skb_checksum_help+0x17c/0x190
    [  788.823392]  [<ffffffffa01463a1>] netem_enqueue+0x741/0x7c0 [sch_netem]
    [  788.854487]  [<ffffffff8152cb58>] dev_queue_xmit+0x2a8/0x570
    [  788.880870]  [<ffffffff8156ae1d>] ip_finish_output+0x53d/0x7d0
    ...
    
    The problem occurs because netem is not prepared to handle GSO packets (as it
    uses skb_checksum_help in its enqueue path, which cannot manipulate these
    frames).
    
    The solution I think is to simply segment the skb in a simmilar fashion to the
    way we do in __dev_queue_xmit (via validate_xmit_skb), with some minor changes.
    When we decide to corrupt an skb, if the frame is GSO, we segment it, corrupt
    the first segment, and enqueue the remaining ones.
    
    tested successfully by myself on the latest net kernel, to which this applies
    
    Signed-off-by: Neil Horman <nhorman@tuxdriver.com>
    CC: Jamal Hadi Salim <jhs@mojatatu.com>
    CC: "David S. Miller" <davem@davemloft.net>
    CC: netem@lists.linux-foundation.org
    CC: eric.dumazet@gmail.com
    CC: stephen@networkplumber.org
    Acked-by: Eric Dumazet <edumazet@google.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
  25. @davem330

    Merge tag 'batman-adv-fix-for-davem' of git://git.open-mesh.org/linux…

    davem330 committed May 3, 2016
    …-merge
    
    Antonio Quartulli says:
    
    ====================
    In this small batch of patches you have:
    - a fix for our Distributed ARP Table that makes sure that the input
      provided to the hash function during a query is the same as the one
      provided during an insert (so to prevent false negatives), by Antonio
      Quartulli
    - a fix for our new protocol implementation B.A.T.M.A.N. V that ensures
      that a hard interface is properly re-activated when it is brought down
      and then up again, by Antonio Quartulli
    - two fixes respectively to the reference counting of the tt_local_entry
      and neigh_node objects, by Sven Eckelmann. Such bug is rather severe
      as it would prevent the netdev objects references by batman-adv from
      being released after shutdown.
    ====================
    
    Signed-off-by: David S. Miller <davem@davemloft.net>
Commits on May 2, 2016
  1. Minimal fix-up of bad hashing behavior of hash_64()

    committed May 2, 2016
    This is a fairly minimal fixup to the horribly bad behavior of hash_64()
    with certain input patterns.
    
    In particular, because the multiplicative value used for the 64-bit hash
    was intentionally bit-sparse (so that the multiply could be done with
    shifts and adds on architectures without hardware multipliers), some
    bits did not get spread out very much.  In particular, certain fairly
    common bit ranges in the input (roughly bits 12-20: commonly with the
    most information in them when you hash things like byte offsets in files
    or memory that have block factors that mean that the low bits are often
    zero) would not necessarily show up much in the result.
    
    There's a bigger patch-series brewing to fix up things more completely,
    but this is the fairly minimal fix for the 64-bit hashing problem.  It
    simply picks a much better constant multiplier, spreading the bits out a
    lot better.
    
    NOTE! For 32-bit architectures, the bad old hash_64() remains the same
    for now, since 64-bit multiplies are expensive.  The bigger hashing
    cleanup will replace the 32-bit case with something better.
    
    The new constants were picked by George Spelvin who wrote that bigger
    cleanup series.  I just picked out the constants and part of the comment
    from that series.
    
    Cc: stable@vger.kernel.org
    Cc: George Spelvin <linux@horizon.com>
    Cc: Thomas Gleixner <tglx@linutronix.de>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
  2. Merge tag 'md/4.6-rc6-fix' of git://git.kernel.org/pub/scm/linux/kern…

    committed May 2, 2016
    …el/git/shli/md
    
    Pull MD fixes from Shaohua Li:
     "This update includes several trival fixes.  The only important one is
      to fix MD bio merge, which has big performance impact"
    
    * tag 'md/4.6-rc6-fix' of git://git.kernel.org/pub/scm/linux/kernel/git/shli/md:
      raid5: delete unnecessary warnning
      MD: make bio mergeable
      md/raid0: remove empty line printk from dump_zones
      md/raid0: fix uninitialized variable bug
  3. Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel…

    committed May 2, 2016
    …/git/jack/linux-fs
    
    Pull UDF fix from Jan Kara:
     "A fix of a regression in UDF that got introduced in 4.6-rc1 by one of
      the charset encoding fixes"
    
    * 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs:
      udf: Fix conversion of 'dstring' fields to UTF8
  4. Merge tag 'gpio-v4.6-4' of git://git.kernel.org/pub/scm/linux/kernel/…

    committed May 2, 2016
    …git/linusw/linux-gpio
    
    Pull GPIO fixes from Linus Walleij:
     "Here are some late but important fixes for the v4.6 kernel series.
      ACPI and RCAR, so two driver fixes (PM related) and a self-evident
      string lookup fix for ACPI GPIOs:
    
       - A serious ACPI fix targeted for stable: lookup strings were being
         free'd.
    
       - Revert two patches from the RCAR driver"
    
    * tag 'gpio-v4.6-4' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-gpio:
      gpiolib-acpi: Duplicate con_id string when adding it to the crs lookup list
      Revert "gpio: rcar: Fine-grained Runtime PM support"
      Revert "gpio: rcar: Add Runtime PM handling for interrupts"
  5. Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net

    committed May 2, 2016
    Pull networking fixes from David Miller:
    
     1) MODULE_FIRMWARE firmware string not correct for iwlwifi 8000 chips,
        from Sara Sharon.
    
     2) Fix SKB size checks in batman-adv stack on receive, from Sven
        Eckelmann.
    
     3) Leak fix on mac80211 interface add error paths, from Johannes Berg.
    
     4) Cannot invoke napi_disable() with BH disabled in myri10ge driver,
        fix from Stanislaw Gruszka.
    
     5) Fix sign extension problem when computing feature masks in
        net_gso_ok(), from Marcelo Ricardo Leitner.
    
     6) lan78xx driver doesn't count packets and packet lengths in its
        statistics properly, fix from Woojung Huh.
    
     7) Fix the buffer allocation sizes in pegasus USB driver, from Petko
        Manolov.
    
     8) Fix refcount overflows in bpf, from Alexei Starovoitov.
    
     9) Unified dst cache handling introduced a preempt warning in
        ip_tunnel, fix by resetting rather then setting the cached route.
        From Paolo Abeni.
    
    10) Listener hash collision test fix in soreuseport, from Craig Gallak
    
    * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (47 commits)
      gre: do not pull header in ICMP error processing
      net: Implement net_dbg_ratelimited() for CONFIG_DYNAMIC_DEBUG case
      tipc: only process unicast on intended node
      cxgb3: fix out of bounds read
      net/smscx5xx: use the device tree for mac address
      soreuseport: Fix TCP listener hash collision
      net: l2tp: fix reversed udp6 checksum flags
      ip_tunnel: fix preempt warning in ip tunnel creation/updating
      samples/bpf: fix trace_output example
      bpf: fix check_map_func_compatibility logic
      bpf: fix refcnt overflow
      drivers: net: cpsw: use of_phy_connect() in fixed-link case
      dt: cpsw: phy-handle, phy_id, and fixed-link are mutually exclusive
      drivers: net: cpsw: don't ignore phy-mode if phy-handle is used
      drivers: net: cpsw: fix segfault in case of bad phy-handle
      drivers: net: cpsw: fix parsing of phy-handle DT property in dual_emac config
      MAINTAINERS: net: Change maintainer for GRETH 10/100/1G Ethernet MAC device driver
      gre: reject GUE and FOU in collect metadata mode
      pegasus: fixes reported packet length
      pegasus: fixes URB buffer allocation size;
      ...
  6. Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc

    committed May 2, 2016
    Pull sparc fixes from David Miller:
    
     1) Fix panics with SR-IOV, from Babu Moger.
    
     2) Wire up preadv2/pwritev2.
    
     3) Allow proper auto-loading of VIO devices, from John Paul Adrian
        Glaubitz.
    
     4) Recognize Sonoma cpus, from Khalid Aziz.
    
     5) Fix bootup regressions caused by syscall trace fixes made recently.
    
    * git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc:
      sparc64: Fix bootup regressions on some Kconfig combinations.
      sparc64: recognize and support Sonoma CPU type
      sparc: Implement and wire up vio_hotplug for vio.
      sparc: Implement and wire up modalias_show for vio.
      sparc/pci: Refactor dev_archdata initialization into pci_init_dev_archdata
      sparc/defconfigs: Remove CONFIG_IPV6_PRIVACY
      sparc: Write up preadv2/pwritev2 syscalls.
      sparc/PCI: Fix for panic while enabling SR-IOV
  7. @davem330

    gre: do not pull header in ICMP error processing

    Jiri Benc committed with davem330 Apr 29, 2016
    iptunnel_pull_header expects that IP header was already pulled; with this
    expectation, it pulls the tunnel header. This is not true in gre_err.
    Furthermore, ipv4_update_pmtu and ipv4_redirect expect that skb->data points
    to the IP header.
    
    We cannot pull the tunnel header in this path. It's just a matter of not
    calling iptunnel_pull_header - we don't need any of its effects.
    
    Fixes: bda7bb4 ("gre: Allow multiple protocol listener for gre protocol.")
    Signed-off-by: Jiri Benc <jbenc@redhat.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
  8. @davem330

    net: Implement net_dbg_ratelimited() for CONFIG_DYNAMIC_DEBUG case

    Tim Bingham committed with davem330 Apr 29, 2016
    Prior to commit d92cff8 ("net_dbg_ratelimited: turn into no-op
    when !DEBUG") the implementation of net_dbg_ratelimited() was buggy
    for both the DEBUG and CONFIG_DYNAMIC_DEBUG cases.
    
    The bug was that net_ratelimit() was being called and, despite
    returning true, nothing was being printed to the console. This
    resulted in messages like the following -
    
    "net_ratelimit: %d callbacks suppressed"
    
    with no other output nearby.
    
    After commit d92cff8 ("net_dbg_ratelimited: turn into no-op when
    !DEBUG") the bug is fixed for the DEBUG case. However, there's no
    output at all for CONFIG_DYNAMIC_DEBUG case.
    
    This patch restores debug output (if enabled) for the
    CONFIG_DYNAMIC_DEBUG case.
    
    Add a definition of net_dbg_ratelimited() for the CONFIG_DYNAMIC_DEBUG
    case. The implementation takes care to check that dynamic debugging is
    enabled before calling net_ratelimit().
    
    Fixes: d92cff8 ("net_dbg_ratelimited: turn into no-op when !DEBUG")
    Signed-off-by: Tim Bingham <tbingham@akamai.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
  9. @davem330

    tipc: only process unicast on intended node

    Hamish Martin committed with davem330 Apr 29, 2016
    We have observed complete lock up of broadcast-link transmission due to
    unacknowledged packets never being removed from the 'transmq' queue. This
    is traced to nodes having their ack field set beyond the sequence number
    of packets that have actually been transmitted to them.
    Consider an example where node 1 has sent 10 packets to node 2 on a
    link and node 3 has sent 20 packets to node 2 on another link. We
    see examples of an ack from node 2 destined for node 3 being treated as
    an ack from node 2 at node 1. This leads to the ack on the node 1 to node
    2 link being increased to 20 even though we have only sent 10 packets.
    When node 1 does get around to sending further packets, none of the
    packets with sequence numbers less than 21 are actually removed from the
    transmq.
    To resolve this we reinstate some code lost in commit d999297 ("tipc:
    reduce locking scope during packet reception") which ensures that only
    messages destined for the receiving node are processed by that node. This
    prevents the sequence numbers from getting out of sync and resolves the
    packet leakage, thereby resolving the broadcast-link transmission
    lock-ups we observed.
    
    While we are aware that this change only patches over a root problem that
    we still haven't identified, this is a sanity test that it is always
    legitimate to do. It will remain in the code even after we identify and
    fix the real problem.
    
    Reviewed-by: Chris Packham <chris.packham@alliedtelesis.co.nz>
    Reviewed-by: John Thompson <john.thompson@alliedtelesis.co.nz>
    Signed-off-by: Hamish Martin <hamish.martin@alliedtelesis.co.nz>
    Signed-off-by: Jon Maloy <jon.maloy@ericsson.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
Something went wrong with that request. Please try again.