Skip to content
  1. Nov 01, 2015
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net · c94eee8a
      Linus Torvalds authored
      Pull networking fixes from David Miller:
      
       1) Fix two regressions in ipv6 route lookups, particularly wrt output
          interface specifications in the lookup key.  From David Ahern.
      
       2) Fix checks in ipv6 IPSEC tunnel pre-encap fragmentation, from
          Herbert Xu.
      
       3) Fix mis-advertisement of 1000BASE-T on bcm63xx_enet, from Simon
          Arlott.
      
       4) Some smsc phys misbehave with energy detect mode enabled, so add a
          DT property and disable it on such switches.  From Heiko Schocher.
      
       5) Fix TSO corruption on TX in mv643xx_eth, from Philipp Kirchhofer.
      
       6) Fix regression added by removal of openvswitch vport stats, from
          James Morse.
      
       7) Vendor Kconfig options should be bool, not tristate, from Andreas
          Schwab.
      
       8) Use non-_BH() net stats bump in tcp_xmit_probe_skb(), otherwise we
          barf during TCP REPAIR operations.
      
       9) Fix various bugs in openvswitch conntrack support, from Joe
          Stringer.
      
      10) Fix NETLINK_LIST_MEMBERSHIPS locking, from David Herrmann.
      
      11) Don't have VSOCK do sock_put() in interrupt context, from Jorgen
          Hansen.
      
      12) Fix skb_realloc_headroom() failures properly in ISDN, from Karsten
          Keil.
      
      13) Add some device IDs to qmi_wwan, from Bjorn Mork.
      
      14) Fix ovs egress tunnel information when using lwtunnel devices, from
          Pravin B Shelar.
      
      15) Add missing NETIF_F_FRAGLIST to macvtab feature list, from Jason
          Wang.
      
      16) Fix incorrect handling of throw routes when the result of the throw
          cannot find a match, from Xin Long.
      
      17) Protect ipv6 MTU calculations from wrap-around, from Hannes Frederic
          Sowa.
      
      18) Fix failed autonegotiation on KSZ9031 micrel PHYs, from Nathan
          Sullivan.
      
      19) Add missing memory barries in descriptor accesses or xgbe driver,
          from Thomas Lendacky.
      
      20) Fix release conditon test in pppoe_release(), from Guillaume Nault.
      
      21) Fix gianfar bugs wrt filter configuration, from Claudiu Manoil.
      
      22) Fix violations of RX buffer alignment in sh_eth driver, from Sergei
          Shtylyov.
      
      23) Fixing missing of_node_put() calls in various places around the
          networking, from Julia Lawall.
      
      24) Fix incorrect leaf now walking in ipv4 routing tree, from Alexander
          Duyck.
      
      25) RDS doesn't check pskb_pull()/pskb_trim() return values, from
          Sowmini Varadhan.
      
      26) Fix VLAN configuration in mlx4 driver, from Jack Morgenstein.
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (79 commits)
        ipv6: protect mtu calculation of wrap-around and infinite loop by rounding issues
        Revert "Merge branch 'ipv6-overflow-arith'"
        net/mlx4: Copy/set only sizeof struct mlx4_eqe bytes
        net/mlx4_en: Explicitly set no vlan tags in WQE ctrl segment when no vlan is present
        vhost: fix performance on LE hosts
        bpf: sample: define aarch64 specific registers
        amd-xgbe: Fix race between access of desc and desc index
        RDS-TCP: Recover correctly from pskb_pull()/pksb_trim() failure in rds_tcp_data_recv
        forcedeth: fix unilateral interrupt disabling in netpoll path
        openvswitch: Fix skb leak using IPv6 defrag
        ipv6: Export nf_ct_frag6_consume_orig()
        openvswitch: Fix double-free on ip_defrag() errors
        fib_trie: leaf_walk_rcu should not compute key if key is less than pn->key
        net: mv643xx_eth: add missing of_node_put
        ath6kl: add missing of_node_put
        net: phy: mdio: add missing of_node_put
        netdev/phy: add missing of_node_put
        net: netcp: add missing of_node_put
        net: thunderx: add missing of_node_put
        ipv6: gre: support SIT encapsulation
        ...
      c94eee8a
  2. Oct 31, 2015
  3. Oct 30, 2015
  4. Oct 29, 2015
  5. Oct 28, 2015
  6. Oct 27, 2015
    • Tejun Heo's avatar
      blkcg: fix incorrect read/write sync/async stat accounting · 174fd8d3
      Tejun Heo authored
      While unifying how blkcg stats are collected, 77ea7338
      
       ("blkcg:
      move io_service_bytes and io_serviced stats into blkcg_gq")
      incorrectly used bio->flags instead of bio->rw to tell the IO type.
      This made IOs to be accounted as the wrong type.  Fix it.
      
      Signed-off-by: default avatarTejun Heo <tj@kernel.org>
      Fixes: 77ea7338
      
       ("blkcg: move io_service_bytes and io_serviced stats into blkcg_gq")
      Reviewed-by: default avatarJeff Moyer <jmoyer@redhat.com>
      Signed-off-by: default avatarJens Axboe <axboe@fb.com>
      174fd8d3
    • David S. Miller's avatar
      Merge branch 'net_of_node_put' · 8fe01296
      David S. Miller authored
      Julia Lawall says:
      
      ====================
      add missing of_node_put
      
      The various for_each device_node iterators performs an of_node_get on each
      iteration, so a break out of the loop requires an of_node_put.
      
      The complete semantic patch that fixes this problem is
      (http://coccinelle.lip6.fr
      
      ):
      
      // <smpl>
      @r@
      local idexpression n;
      expression e1,e2;
      iterator name for_each_node_by_name, for_each_node_by_type,
      for_each_compatible_node, for_each_matching_node,
      for_each_matching_node_and_match, for_each_child_of_node,
      for_each_available_child_of_node, for_each_node_with_property;
      iterator i;
      statement S;
      expression list [n1] es;
      @@
      
      (
      (
      for_each_node_by_name(n,e1) S
      |
      for_each_node_by_type(n,e1) S
      |
      for_each_compatible_node(n,e1,e2) S
      |
      for_each_matching_node(n,e1) S
      |
      for_each_matching_node_and_match(n,e1,e2) S
      |
      for_each_child_of_node(e1,n) S
      |
      for_each_available_child_of_node(e1,n) S
      |
      for_each_node_with_property(n,e1) S
      )
      &
      i(es,n,...) S
      )
      
      @@
      local idexpression r.n;
      iterator r.i;
      expression e;
      expression list [r.n1] es;
      @@
      
       i(es,n,...) {
         ...
      (
         of_node_put(n);
      |
         e = n
      |
         return n;
      |
      +  of_node_put(n);
      ?  return ...;
      )
         ...
       }
      
      @@
      local idexpression r.n;
      iterator r.i;
      expression e;
      expression list [r.n1] es;
      @@
      
       i(es,n,...) {
         ...
      (
         of_node_put(n);
      |
         e = n
      |
      +  of_node_put(n);
      ?  break;
      )
         ...
       }
      ... when != n
      
      @@
      local idexpression r.n;
      iterator r.i;
      expression e;
      identifier l;
      expression list [r.n1] es;
      @@
      
       i(es,n,...) {
         ...
      (
         of_node_put(n);
      |
         e = n
      |
      +  of_node_put(n);
      ?  goto l;
      )
         ...
       }
      ...
      l: ... when != n// </smpl>
      ====================
      
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      8fe01296
    • Julia Lawall's avatar
      net: mv643xx_eth: add missing of_node_put · 26b7974d
      Julia Lawall authored
      for_each_available_child_of_node performs an of_node_get on each iteration, so
      a break out of the loop requires an of_node_put.
      
      A simplified version of the semantic patch that fixes this problem is as
      follows (http://coccinelle.lip6.fr
      
      ):
      
      // <smpl>
      @@
      expression root,e;
      local idexpression child;
      @@
      
       for_each_available_child_of_node(root, child) {
         ... when != of_node_put(child)
             when != e = child
      (
         return child;
      |
      +  of_node_put(child);
      ?  return ...;
      )
         ...
       }
      // </smpl>
      
      Signed-off-by: default avatarJulia Lawall <Julia.Lawall@lip6.fr>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      26b7974d
    • Julia Lawall's avatar
      ath6kl: add missing of_node_put · 81a57703
      Julia Lawall authored
      for_each_compatible_node performs an of_node_get on each iteration, so
      a break out of the loop requires an of_node_put.
      
      A simplified version of the semantic patch that fixes this problem is as
      follows (http://coccinelle.lip6.fr
      
      ):
      
      // <smpl>
      @@
      expression e;
      local idexpression n;
      @@
      
       for_each_compatible_node(n,...) {
         ... when != of_node_put(n)
             when != e = n
      (
         return n;
      |
      +  of_node_put(n);
      ?  return ...;
      )
         ...
       }
      // </smpl>
      
      Signed-off-by: default avatarJulia Lawall <Julia.Lawall@lip6.fr>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      81a57703
    • Julia Lawall's avatar
      net: phy: mdio: add missing of_node_put · 02862341
      Julia Lawall authored
      for_each_available_child_of_node performs an of_node_get on each iteration, so
      a break out of the loop requires an of_node_put.
      
      A simplified version of the semantic patch that fixes this problem is as
      follows (http://coccinelle.lip6.fr
      
      ):
      
      // <smpl>
      @@
      expression root,e;
      local idexpression child;
      @@
      
       for_each_available_child_of_node(root, child) {
         ... when != of_node_put(child)
             when != e = child
      (
         return child;
      |
      +  of_node_put(child);
      ?  return ...;
      )
         ...
       }
      // </smpl>
      
      Signed-off-by: default avatarJulia Lawall <Julia.Lawall@lip6.fr>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      02862341
    • Julia Lawall's avatar
      netdev/phy: add missing of_node_put · 447ed736
      Julia Lawall authored
      for_each_available_child_of_node performs an of_node_get on each iteration, so
      a break out of the loop requires an of_node_put.
      
      A simplified version of the semantic patch that fixes this problem is as
      follows (http://coccinelle.lip6.fr
      
      ):
      
      // <smpl>
      @@
      local idexpression r.n;
      expression r,e;
      @@
      
       for_each_available_child_of_node(r,n) {
         ...
      (
         of_node_put(n);
      |
         e = n
      |
      +  of_node_put(n);
      ?  break;
      )
         ...
       }
      ... when != n
      // </smpl>
      
      Signed-off-by: default avatarJulia Lawall <Julia.Lawall@lip6.fr>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      447ed736
    • Julia Lawall's avatar
      net: netcp: add missing of_node_put · bd252796
      Julia Lawall authored
      for_each_child_of_node performs an of_node_get on each iteration, so
      a break out of the loop requires an of_node_put.
      
      A simplified version of the semantic patch that fixes this problem is as
      follows (http://coccinelle.lip6.fr
      
      ):
      
      // <smpl>
      @@
      local idexpression r.n;
      expression r,e;
      @@
      
       for_each_child_of_node(r,n) {
         ...
      (
         of_node_put(n);
      |
         e = n
      |
      +  of_node_put(n);
      ?  break;
      )
         ...
       }
      ... when != n
      // </smpl>
      
      Signed-off-by: default avatarJulia Lawall <Julia.Lawall@lip6.fr>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      bd252796
    • Julia Lawall's avatar
      net: thunderx: add missing of_node_put · 8c387ebb
      Julia Lawall authored
      for_each_child_of_node performs an of_node_get on each iteration, so
      a break out of the loop requires an of_node_put.
      
      A simplified version of the semantic patch that fixes this problem is as
      follows (http://coccinelle.lip6.fr
      
      ):
      
      // <smpl>
      @@
      local idexpression r.n;
      expression r,e;
      @@
      
       for_each_child_of_node(r,n) {
         ...
      (
         of_node_put(n);
      |
         e = n
      |
      +  of_node_put(n);
      ?  break;
      )
         ...
       }
      ... when != n
      // </smpl>
      
      Signed-off-by: default avatarJulia Lawall <Julia.Lawall@lip6.fr>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      8c387ebb
    • Eric Dumazet's avatar
      ipv6: gre: support SIT encapsulation · 7e3b6e74
      Eric Dumazet authored
      gre_gso_segment() chokes if SIT frames were aggregated by GRO engine.
      
      Fixes: 61c1db7f
      
       ("ipv6: sit: add GSO/TSO support")
      Signed-off-by: default avatarEric Dumazet <edumazet@google.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      7e3b6e74