1. 18 10月, 2018 37 次提交
  2. 17 10月, 2018 3 次提交
    • D
      tcp, ulp: remove socket lock assertion on ULP cleanup · aadd4355
      Daniel Borkmann 提交于
      Eric reported that syzkaller triggered a splat in tcp_cleanup_ulp()
      where assertion sock_owned_by_me() failed. This happened through
      inet_csk_prepare_forced_close() first releasing the socket lock,
      then calling into tcp_done(newsk) which is called after the
      inet_csk_prepare_forced_close() and therefore without the socket
      lock held. The sock_owned_by_me() assertion can generally be
      removed as the only place where tcp_cleanup_ulp() is called from
      now is out of inet_csk_destroy_sock() -> sk->sk_prot->destroy()
      where socket is in dead state and unreachable. Therefore, add a
      comment why the check is not needed instead.
      
      Fixes: 8b9088f8 ("tcp, ulp: enforce sock_owned_by_me upon ulp init and cleanup")
      Reported-by: NEric Dumazet <edumazet@google.com>
      Signed-off-by: NDaniel Borkmann <daniel@iogearbox.net>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      aadd4355
    • D
      Merge branch 'hns3-Some-cleanup-and-bugfix-for-desc-filling' · 29ce85f3
      David S. Miller 提交于
      Yunsheng Lin says:
      
      ====================
      Some cleanup and bugfix for desc filling
      
      When retransmiting packets, skb_cow_head which is called in
      hns3_set_tso may clone a new header. And driver will clear the
      checksum of the header after doing DMA map, so HW will read the
      old header whose L3 checksum is not cleared and calculate a
      wrong L3 checksum.
      
      Also When sending a big fragment using multiple buffer descriptor,
      hns3 does one maping, but do multiple unmapping when tx is done,
      which may cause unmapping problem.
      
      This patchset does some cleanup before fixing the above problem.
      ====================
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      29ce85f3
    • F
      net: hns3: fix for multiple unmapping DMA problem · bcdb12b7
      Fuyun Liang 提交于
      When sending a big fragment using multiple buffer descriptor,
      hns3 does one maping, but do multiple unmapping when tx is done,
      which may cause unmapping problem.
      
      To fix it, this patch makes sure the value of desc_cb.length of
      the non-first bd is zero. If desc_cb.length is zero, we do not
      unmap the buffer.
      
      Fixes: 76ad4f0e ("net: hns3: Add support of HNS3 Ethernet Driver for hip08 SoC")
      Signed-off-by: NFuyun Liang <liangfuyun1@huawei.com>
      Signed-off-by: NPeng Li <lipeng321@huawei.com>
      Signed-off-by: NYunsheng Lin <linyunsheng@huawei.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      bcdb12b7