1. 12 Sep, 2016 5 commits
  2. 11 Sep, 2016 1 commit
  3. 10 Sep, 2016 4 commits
  4. 09 Sep, 2016 8 commits
  5. 08 Sep, 2016 9 commits
  6. 07 Sep, 2016 3 commits
  7. 06 Sep, 2016 6 commits
    • Wei Yongjun's avatar
      ipv6: addrconf: fix dev refcont leak when DAD failed · 751eb6b6
      Wei Yongjun authored
      In general, when DAD detected IPv6 duplicate address, ifp->state
      will be set to INET6_IFADDR_STATE_ERRDAD and DAD is stopped by a
      delayed work, the call tree should be like this:
      
      ndisc_recv_ns
        -> addrconf_dad_failure        <- missing ifp put
           -> addrconf_mod_dad_work
             -> schedule addrconf_dad_work()
               -> addrconf_dad_stop()  <- missing ifp hold before call it
      
      addrconf_dad_failure() called with ifp refcont holding but not put.
      addrconf_dad_work() call addrconf_dad_stop() without extra holding
      refcount. This will not cause any issue normally.
      
      But the race between addrconf_dad_failure() and addrconf_dad_work()
      may cause ifp refcount leak and netdevice can not be unregister,
      dmesg show the following messages:
      
      IPv6: eth0: IPv6 duplicate address fe80::XX:XXXX:XXXX:XX detected!
      ...
      unregister_netdevice: waiting for eth0 to become free. Usage count = 1
      
      Cc: stable@vger.kernel.org
      Fixes: c15b1cca ("ipv6: move DAD and addrconf_verify processing
      to workqueue")
      Signed-off-by: default avatarWei Yongjun <weiyongjun1@huawei.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      751eb6b6
    • Michael Chan's avatar
      bnxt_en: Fix TX push operation on ARM64. · 9d13744b
      Michael Chan authored
      There is a code path where we are calling __iowrite64_copy() on
      an address that is not 64-bit aligned.  This causes an exception on
      some architectures such as arm64.  Fix that code path by using
      __iowrite32_copy().
      Reported-by: default avatarJD Zheng <jiandong.zheng@broadcom.com>
      Signed-off-by: default avatarMichael Chan <michael.chan@broadcom.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      9d13744b
    • Mark Tomlinson's avatar
      net: Don't delete routes in different VRFs · 5a56a0b3
      Mark Tomlinson authored
      When deleting an IP address from an interface, there is a clean-up of
      routes which refer to this local address. However, there was no check to
      see that the VRF matched. This meant that deletion wasn't confined to
      the VRF it should have been.
      
      To solve this, a new field has been added to fib_info to hold a table
      id. When removing fib entries corresponding to a local ip address, this
      table id is also used in the comparison.
      
      The table id is populated when the fib_info is created. This was already
      done in some places, but not in ip_rt_ioctl(). This has now been fixed.
      
      Fixes: 021dd3b8 ("net: Add routes to the table associated with the device")
      Acked-by: default avatarDavid Ahern <dsa@cumulusnetworks.com>
      Tested-by: default avatarDavid Ahern <dsa@cumulusnetworks.com>
      Signed-off-by: default avatarMark Tomlinson <mark.tomlinson@alliedtelesis.co.nz>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      5a56a0b3
    • Sudip Mukherjee's avatar
      net: smsc: remove build warning of duplicate definition · daa7ee8d
      Sudip Mukherjee authored
      The build of m32r was giving warning:
      
      In file included from drivers/net/ethernet/smsc/smc91x.c:92:0:
      drivers/net/ethernet/smsc/smc91x.h:448:0: warning: "SMC_inb" redefined
       #define SMC_inb(ioaddr, reg)  ({ BUG(); 0; })
      
      drivers/net/ethernet/smsc/smc91x.h:106:0:
      	note: this is the location of the previous definition
       #define SMC_inb(a, r)  inb(((u32)a) + (r))
      
      drivers/net/ethernet/smsc/smc91x.h:449:0: warning: "SMC_outb" redefined
       #define SMC_outb(x, ioaddr, reg) BUG()
      
      drivers/net/ethernet/smsc/smc91x.h:108:0:
      	note: this is the location of the previous definition
       #define SMC_outb(v, a, r) outb(v, ((u32)a) + (r))
      Signed-off-by: default avatarSudip Mukherjee <sudip.mukherjee@codethink.co.uk>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      daa7ee8d
    • Helmut Buchsbaum's avatar
      net: macb: initialize checksum when using checksum offloading · 007e4ba3
      Helmut Buchsbaum authored
      I'm still struggling to get this fix right..
      
      Changes since v2:
       - do not blindly modify SKB contents according to Dave's legitimate
         objection
      
      Changes since v1:
       - dropped disabling HW checksum offload for Zynq
       - initialize checksum similar to net/ethernet/freescale/fec_main.c
      
      -- >8 --
      MACB/GEM needs the checksum field initialized to 0 to get correct
      results on transmit in all cases, e.g. on Zynq, UDP packets with
      payload <= 2 otherwise contain a wrong checksums.
      Signed-off-by: default avatarHelmut Buchsbaum <helmut.buchsbaum@gmail.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      007e4ba3
    • Dave Jones's avatar
      ipv6: release dst in ping_v6_sendmsg · 03c2778a
      Dave Jones authored
      Neither the failure or success paths of ping_v6_sendmsg release
      the dst it acquires.  This leads to a flood of warnings from
      "net/core/dst.c:288 dst_release" on older kernels that
      don't have 8bf4ada2 backported.
      
      That patch optimistically hoped this had been fixed post 3.10, but
      it seems at least one case wasn't, where I've seen this triggered
      a lot from machines doing unprivileged icmp sockets.
      
      Cc: Martin Lau <kafai@fb.com>
      Signed-off-by: default avatarDave Jones <davej@codemonkey.org.uk>
      Acked-by: default avatarMartin KaFai Lau <kafai@fb.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      03c2778a
  8. 04 Sep, 2016 4 commits