1. 09 May, 2015 8 commits
    • WANG Cong's avatar
      net_sched: fix a use-after-free in tc_ctl_tfilter() · d7443185
      WANG Cong authored
      When tcf_destroy() returns true, tp could be already destroyed,
      we should not use tp->next after that.
      
      For long term, we probably should move tp list to list_head.
      
      Fixes: 1e052be6 ("net_sched: destroy proto tp when all filters are gone")
      Cc: Jamal Hadi Salim <jhs@mojatatu.com>
      Signed-off-by: default avatarCong Wang <xiyou.wangcong@gmail.com>
      Acked-by: default avatarJamal Hadi Salim <jhs@mojatatu.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      d7443185
    • Vasily Titskiy's avatar
      drivers/net/usb: Add support for 'Lenovo OneLink Pro Dock' · 1006da19
      Vasily Titskiy authored
      This device is sold as 'Lenovo OneLink Pro Dock'.
      Chipset is RTL8153 and works with r8152.
      Signed-off-by: default avatarVasily Titskiy <qehgt0@gmail.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      1006da19
    • Nathan Sullivan's avatar
      net: macb: Handle the RXUBR interrupt on all devices · bfbb92c4
      Nathan Sullivan authored
      The same hardware issue the at91 must work around applies to at least the
      Zynq ethernet, and possibly more devices.  The driver also needs to handle
      the RXUBR interrupt since it turns it on with MACB_RX_INT_FLAGS anyway.
      Signed-off-by: default avatarNathan Sullivan <nathan.sullivan@ni.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      bfbb92c4
    • David S. Miller's avatar
      Merge branch 'rds' · d3196a24
      David S. Miller authored
      Sowmini Varadhan says:
      
      ====================
      net/rds: RDS-TCP robustness fixes
      
      This patch-set contains bug fixes for state-recovery at the RDS
      layer when the underlying transport is TCP and the TCP state at one
      of the endpoints is reset
      
      V2 changes: DaveM comments to reduce memory footprint, follow
                  NFS/RPC model where possible. Added test-case #3
      
      Without the changes in this set, when one of the endpoints is reset,
      the existing code does not correctly clean up RDS socket state for stale
      connections, resulting in some unstable, timing-dependant behavior on
      the wire, including an infinite exchange of 3WHs back-and-forth, and a
      resulting potential to never converge RDS state.
      
      Test cases used to verify the changes in this set are:
      
      1. Start rds client/server applications on two participating nodes,
         node1 and node2. After at least one packet has been sent (to establish
         the TCP connection), restart the rds_tcp module on the client, and
         now resend packets. Tcpdump should show server sending a FIN for the
         "old" client port, and clean connection establishment/exchange for
         the new client port.
      
      2. At the end of step 1, restart rds srever on node2, and start client on
         node1, make sure using tcpdump, 'netstat -an|grep 16385' that
         packets flow correctly.
      
      3. start RDS client/server application on two participating nodes, and
         repeat steps 1 and 2, but this time, simulate node failure by doing
         "ifconfig <intf> down", so no FIN is sent.
      ====================
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      d3196a24
    • Sowmini Varadhan's avatar
      net/rds: RDS-TCP: only initiate reconnect attempt on outgoing TCP socket. · c82ac7e6
      Sowmini Varadhan authored
      When the peer of an RDS-TCP connection restarts, a reconnect
      attempt should only be made from the active side  of the TCP
      connection, i.e. the side that has a transient TCP port
      number. Do not add the passive side of the TCP connection
      to the c_hash_node and thus avoid triggering rds_queue_reconnect()
      for passive rds connections.
      Signed-off-by: default avatarSowmini Varadhan <sowmini.varadhan@oracle.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      c82ac7e6
    • Sowmini Varadhan's avatar
      net/rds: RDS-TCP: Always create a new rds_sock for an incoming connection. · f711a6ae
      Sowmini Varadhan authored
      When running RDS over TCP, the active (client) side connects to the
      listening ("passive") side at the RDS_TCP_PORT.  After the connection
      is established, if the client side reboots (potentially without even
      sending a FIN) the server still has a TCP socket in the esablished
      state.  If the server-side now gets a new SYN comes from the client
      with a different client port, TCP will create a new socket-pair, but
      the RDS layer will incorrectly pull up the old rds_connection (which
      is still associated with the stale t_sock and RDS socket state).
      
      This patch corrects this behavior by having rds_tcp_accept_one()
      always create a new connection for an incoming TCP SYN.
      The rds and tcp state associated with the old socket-pair is cleaned
      up via the rds_tcp_state_change() callback which would typically be
      invoked in most cases when the client-TCP sends a FIN on TCP restart,
      triggering a transition to CLOSE_WAIT state. In the rarer event of client
      death without a FIN, TCP_KEEPALIVE probes on the socket will detect
      the stale socket, and the TCP transition to CLOSE state will trigger
      the RDS state cleanup.
      Signed-off-by: default avatarSowmini Varadhan <sowmini.varadhan@oracle.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      f711a6ae
    • Markus Stenberg's avatar
      ipv6: Fixed source specific default route handling. · e16e888b
      Markus Stenberg authored
      If there are only IPv6 source specific default routes present, the
      host gets -ENETUNREACH on e.g. connect() because ip6_dst_lookup_tail
      calls ip6_route_output first, and given source address any, it fails,
      and ip6_route_get_saddr is never called.
      
      The change is to use the ip6_route_get_saddr, even if the initial
      ip6_route_output fails, and then doing ip6_route_output _again_ after
      we have appropriate source address available.
      
      Note that this is '99% fix' to the problem; a correct fix would be to
      do route lookups only within addrconf.c when picking a source address,
      and never call ip6_route_output before source address has been
      populated.
      Signed-off-by: default avatarMarkus Stenberg <markus.stenberg@iki.fi>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      e16e888b
    • David S. Miller's avatar
      Merge branch 'for-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/bluetooth/bluetooth · 0a801445
      David S. Miller authored
      Johan Hedberg says:
      
      ====================
      Here are a couple of important Bluetooth & mac802154 fixes for 4.1:
      
       - mac802154 fix for crypto algorithm allocation failure checking
       - mac802154 wpan phy leak fix for error code path
       - Fix for not calling Bluetooth shutdown() if interface is not up
      
      Let me know if there are any issues pulling. Thanks.
      ====================
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      0a801445
  2. 05 May, 2015 7 commits
  3. 04 May, 2015 21 commits
  4. 03 May, 2015 2 commits
  5. 02 May, 2015 2 commits
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net · 6c3c1eb3
      Linus Torvalds authored
      Pull networking fixes from David Miller:
      
       1) Receive packet length needs to be adjust by 2 on RX to accomodate
          the two padding bytes in altera_tse driver.  From Vlastimil Setka.
      
       2) If rx frame is dropped due to out of memory in macb driver, we leave
          the receive ring descriptors in an undefined state.  From Punnaiah
          Choudary Kalluri
      
       3) Some netlink subsystems erroneously signal NLM_F_MULTI.  That is
          only for dumps.  Fix from Nicolas Dichtel.
      
       4) Fix mis-use of raw rt->rt_pmtu value in ipv4, one must always go via
          the ipv4_mtu() helper.  From Herbert Xu.
      
       5) Fix null deref in bridge netfilter, and miscalculated lengths in
          jump/goto nf_tables verdicts.  From Florian Westphal.
      
       6) Unhash ping sockets properly.
      
       7) Software implementation of BPF divide did 64/32 rather than 64/64
          bit divide.  The JITs got it right.  Fix from Alexei Starovoitov.
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (30 commits)
        ipv4: Missing sk_nulls_node_init() in ping_unhash().
        net: fec: Fix RGMII-ID mode
        net/mlx4_en: Schedule napi when RX buffers allocation fails
        netxen_nic: use spin_[un]lock_bh around tx_clean_lock
        net/mlx4_core: Fix unaligned accesses
        mlx4_en: Use correct loop cursor in error path.
        cxgb4: Fix MC1 memory offset calculation
        bnx2x: Delay during kdump load
        net: Fix Kernel Panic in bonding driver debugfs file: rlb_hash_table
        net: dsa: Fix scope of eeprom-length property
        net: macb: Fix race condition in driver when Rx frame is dropped
        hv_netvsc: Fix a bug in netvsc_start_xmit()
        altera_tse: Correct rx packet length
        mlx4: Fix tx ring affinity_mask creation
        tipc: fix problem with parallel link synchronization mechanism
        tipc: remove wrong use of NLM_F_MULTI
        bridge/nl: remove wrong use of NLM_F_MULTI
        bridge/mdb: remove wrong use of NLM_F_MULTI
        net: sched: act_connmark: don't zap skb->nfct
        trivial: net: systemport: bcmsysport.h: fix 0x0x prefix
        ...
      6c3c1eb3
    • Stefan Hajnoczi's avatar
      virtio: fix typo in vring_need_event() doc comment · e412d3a3
      Stefan Hajnoczi authored
      Here the "other side" refers to the guest or host.
      Signed-off-by: default avatarStefan Hajnoczi <stefanha@redhat.com>
      Signed-off-by: default avatarRusty Russell <rusty@rustcorp.com.au>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      e412d3a3