1. 10 Jan, 2020 4 commits
  2. 09 Jan, 2020 28 commits
  3. 08 Jan, 2020 8 commits
    • Tuong Lien's avatar
      tipc: fix wrong connect() return code · 9546a0b7
      Tuong Lien authored
      The current 'tipc_wait_for_connect()' function does a wait-loop for the
      condition 'sk->sk_state != TIPC_CONNECTING' to conclude if the socket
      connecting has done. However, when the condition is met, it returns '0'
      even in the case the connecting is actually failed, the socket state is
      set to 'TIPC_DISCONNECTING' (e.g. when the server socket has closed..).
      This results in a wrong return code for the 'connect()' call from user,
      making it believe that the connection is established and go ahead with
      building, sending a message, etc. but finally failed e.g. '-EPIPE'.
      
      This commit fixes the issue by changing the wait condition to the
      'tipc_sk_connected(sk)', so the function will return '0' only when the
      connection is really established. Otherwise, either the socket 'sk_err'
      if any or '-ETIMEDOUT'/'-EINTR' will be returned correspondingly.
      Acked-by: default avatarYing Xue <ying.xue@windriver.com>
      Acked-by: default avatarJon Maloy <jon.maloy@ericsson.com>
      Signed-off-by: default avatarTuong Lien <tuong.t.lien@dektech.com.au>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      9546a0b7
    • Tuong Lien's avatar
      tipc: fix link overflow issue at socket shutdown · 49afb806
      Tuong Lien authored
      When a socket is suddenly shutdown or released, it will reject all the
      unreceived messages in its receive queue. This applies to a connected
      socket too, whereas there is only one 'FIN' message required to be sent
      back to its peer in this case.
      
      In case there are many messages in the queue and/or some connections
      with such messages are shutdown at the same time, the link layer will
      easily get overflowed at the 'TIPC_SYSTEM_IMPORTANCE' backlog level
      because of the message rejections. As a result, the link will be taken
      down. Moreover, immediately when the link is re-established, the socket
      layer can continue to reject the messages and the same issue happens...
      
      The commit refactors the '__tipc_shutdown()' function to only send one
      'FIN' in the situation mentioned above. For the connectionless case, it
      is unavoidable but usually there is no rejections for such socket
      messages because they are 'dest-droppable' by default.
      
      In addition, the new code makes the other socket states clear
      (e.g.'TIPC_LISTEN') and treats as a separate case to avoid misbehaving.
      Acked-by: default avatarYing Xue <ying.xue@windriver.com>
      Acked-by: default avatarJon Maloy <jon.maloy@ericsson.com>
      Signed-off-by: default avatarTuong Lien <tuong.t.lien@dektech.com.au>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      49afb806
    • David S. Miller's avatar
      Merge branch 'Devlink-notification-after-recovery-complete-by-bnxt_en-driver' · 8d2ff126
      David S. Miller authored
      Vikas Gupta says:
      
      ====================
      Devlink notification after recovery complete by bnxt_en driver
      
       This patchset adds following feature in devlink
        1) Recovery complete direct call API to be used by drivers when it
           successfully completes. It is required as recovery triggered by
           devlink may return with EINPROGRESS and eventually recovery
           completes in different context.
        2) A notification when health status is updated by reporter.
      
       Patchset also contains required changes in bnxt_en driver to
       mark recovery in progress when recovery is triggered from kernel
       devlink.
      ====================
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      8d2ff126
    • Vikas Gupta's avatar
      bnxt_en: Call recovery done after reset is successfully done · 737d7a6c
      Vikas Gupta authored
      Return EINPROGRESS to devlink health reporter recover as we are not yet
      done and call devlink_health_reporter_recovery_done once reset is
      successfully completed from workqueue context.
      Signed-off-by: default avatarVikas Gupta <vikas.gupta@broadcom.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      737d7a6c
    • Vikas Gupta's avatar
      devlink: add devink notification when reporter update health state · 97ff3bd3
      Vikas Gupta authored
      add a devlink notification when reporter update the health
      state.
      Signed-off-by: default avatarVikas Gupta <vikas.gupta@broadcom.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      97ff3bd3
    • Vikas Gupta's avatar
      devlink: add support for reporter recovery completion · 6181e5cb
      Vikas Gupta authored
      It is possible that a reporter recovery completion do not finish
      successfully when recovery is triggered via
      devlink_health_reporter_recover as recovery could be processed in
      different context. In such scenario an error is returned by driver when
      recover hook is invoked and successful recovery completion is
      intimated later.
      Expose devlink recover done API to update recovery stats.
      Signed-off-by: default avatarVikas Gupta <vikas.gupta@broadcom.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      6181e5cb
    • David S. Miller's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/pablo/nf · b73a6561
      David S. Miller authored
      Pablo Neira Ayuso says:
      
      ====================
      Netfilter fixes for net
      
      The following patchset contains Netfilter fixes for net:
      
      1) Missing netns context in arp_tables, from Florian Westphal.
      
      2) Underflow in flowtable reference counter, from wenxu.
      
      3) Fix incorrect ethernet destination address in flowtable offload,
         from wenxu.
      
      4) Check for status of neighbour entry, from wenxu.
      
      5) Fix NAT port mangling, from wenxu.
      
      6) Unbind callbacks from destroy path to cleanup hardware properly
         on flowtable removal.
      
      7) Fix missing casting statistics timestamp, add nf_flowtable_time_stamp
         and use it.
      
      8) NULL pointer exception when timeout argument is null in conntrack
         dccp and sctp protocol helpers, from Florian Westphal.
      
      9) Possible nul-dereference in ipset with IPSET_ATTR_LINENO, also from
         Florian.
      ====================
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      b73a6561
    • David S. Miller's avatar
      Merge branch 'reduce-open-coded-skb-next-access-for-gso-segment-walking' · 6ea0032f
      David S. Miller authored
      Jason A. Donenfeld says:
      
      ====================
      reduce open coded skb->next access for gso segment walking
      
      This patchset introduces the skb_list_walk_safe helper macro, in order
      to add some sanity to the myrid ways drivers have of walking through gso
      segments. The goal is to reduce future bugs commonly caused by open
      coding these sorts of things, and to in the future make it easier to
      swap out the underlying list representation.
      
      This first patch series addresses the easy uses of drivers iterating
      over the returned list of skb_gso_segments, for drivers that live in
      drivers/net/*. There are still other use cases to tackle later for
      net/*, and after these low-hanging fruits are taken care of, I imagine
      there are more subtle cases of gso segment walking that isn't just a
      direct return value from skb_gso_segments, and eventually this will have
      to be tackled. This series is the first in that direction.
      ====================
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      6ea0032f