1. 03 3月, 2009 2 次提交
  2. 23 1月, 2009 3 次提交
    • V
      sctp: Fix another socket race during accept/peeloff · ae53b5bd
      Vlad Yasevich 提交于
      There is a race between sctp_rcv() and sctp_accept() where we
      have moved the association from the listening socket to the
      accepted socket, but sctp_rcv() processing cached the old
      socket and continues to use it.
      
      The easy solution is to check for the socket mismatch once we've
      grabed the socket lock.  If we hit a mis-match, that means
      that were are currently holding the lock on the listening socket,
      but the association is refrencing a newly accepted socket.  We need
      to drop the lock on the old socket and grab the lock on the new one.
      
      A more proper solution might be to create accepted sockets when
      the new association is established, similar to TCP.  That would
      eliminate the race for 1-to-1 style sockets, but it would still
      existing for 1-to-many sockets where a user wished to peeloff an
      association.  For now, we'll live with this easy solution as
      it addresses the problem.
      Reported-by: NMichal Hocko <mhocko@suse.cz>
      Reported-by: NKarsten Keil <kkeil@suse.de>
      Signed-off-by: NVlad Yasevich <vladislav.yasevich@hp.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      ae53b5bd
    • V
      sctp: Properly timestamp outgoing data chunks for rtx purposes · 759af00e
      Vlad Yasevich 提交于
      Recent changes to the retransmit code exposed a long standing
      bug where it was possible for a chunk to be time stamped
      after the retransmit timer was reset.  This caused a rare
      situation where the retrnamist timer has expired, but
      nothing was marked for retrnasmission because all of
      timesamps on data were less then 1 rto ago.  As result,
      the timer was never restarted since nothing was retransmitted,
      and this resulted in a hung association that did couldn't
      complete the data transfer.  The solution is to timestamp
      the chunk when it's added to the packet for transmission
      purposes.  After the packet is trsnmitted the rtx timer
      is restarted.  This guarantees that when the timer expires,
      there will be data to retransmit.
      Signed-off-by: NVlad Yasevich <vladislav.yasevich@hp.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      759af00e
    • V
      sctp: Correctly start rtx timer on new packet transmissions. · 6574df9a
      Vlad Yasevich 提交于
      Commit 62aeaff5
      (sctp: Start T3-RTX timer when fast retransmitting lowest TSN)
      introduced a regression where it was possible to forcibly
      restart the sctp retransmit timer at the transmission of any
      new chunk.  This resulted in much longer timeout times and
      sometimes hung sctp connections.
      Signed-off-by: NVlad Yasevich <vladislav.yasevich@hp.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      6574df9a
  3. 09 1月, 2009 1 次提交
  4. 06 1月, 2009 1 次提交
  5. 26 12月, 2008 5 次提交
  6. 28 11月, 2008 1 次提交
  7. 26 11月, 2008 2 次提交
  8. 24 11月, 2008 1 次提交
  9. 17 11月, 2008 1 次提交
  10. 04 11月, 2008 1 次提交
    • A
      net: '&' redux · 6d9f239a
      Alexey Dobriyan 提交于
      I want to compile out proc_* and sysctl_* handlers totally and
      stub them to NULL depending on config options, however usage of &
      will prevent this, since taking adress of NULL pointer will break
      compilation.
      
      So, drop & in front of every ->proc_handler and every ->strategy
      handler, it was never needed in fact.
      Signed-off-by: NAlexey Dobriyan <adobriyan@gmail.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      6d9f239a
  11. 31 10月, 2008 1 次提交
  12. 30 10月, 2008 1 次提交
  13. 29 10月, 2008 1 次提交
  14. 23 10月, 2008 4 次提交
  15. 10 10月, 2008 3 次提交
  16. 09 10月, 2008 3 次提交
  17. 01 10月, 2008 9 次提交