1. 30 Aug, 2007 1 commit
    • Wei Yongjun's avatar
      SCTP: Fix to encode PROTOCOL VIOLATION error cause correctly · 00f1c2df
      Wei Yongjun authored
      
      
      PROTOCOL VIOLATION error cause in ABORT is bad encode when make abort
      chunk. When SCTP encode ABORT chunk with PROTOCOL VIOLATION error cause,
      it just add the error messages to PROTOCOL VIOLATION error cause, the
      rest four bytes(struct sctp_paramhdr) is just add to the chunk, not
      change the length of error cause. This cause the ABORT chunk to be a bad
      format. The chunk is like this:
      
      ABORT chunk
        Chunk type: ABORT (6)
        Chunk flags: 0x00
        Chunk length: 72 (*1)
        Protocol violation cause
          Cause code: Protocol violation (0x000d)
          Cause length: 62 (*2)
          Cause information: 5468652063756D756C61746976652074736E2061636B2062...
          Cause padding: 0000
      [Needless] 00030010
      Chunk Length(*1) = 72 but Cause length(*2) only 62, not include the
      extend 4 bytes.
      ((72 - sizeof(chunk_hdr)) = 68) != (62 +3) / 4 * 4
      Signed-off-by: default avatarWei Yongjun <yjwei@cn.fujitsu.com>
      Signed-off-by: default avatarVlad Yasevich <vladislav.yasevich@hp.com>
      00f1c2df
  2. 13 Jun, 2007 2 commits
  3. 04 May, 2007 1 commit
    • Vlad Yasevich's avatar
      [SCTP]: Set assoc_id correctly during INIT collision. · 07d93967
      Vlad Yasevich authored
      
      
      During the INIT/COOKIE-ACK collision cases, it's possible to get
      into a situation where the association id is not yet set at the time
      of the user event generation.  As a result, user events have an
      association id set to 0 which will confuse applications.
      
      This happens if we hit case B of duplicate cookie processing.
      In the particular example found and provided by Oscar Isaula
      <Oscar.Isaula@motorola.com>, flow looks like this:
      A				B
      ---- INIT------->  (lost)
      	    <---------INIT------
      ---- INIT-ACK--->
      	    <------ Cookie ECHO
      
      When the Cookie Echo is received, we end up trying to update the
      association that was created on A as a result of the (lost) INIT,
      but that association doesn't have the ID set yet.
      Signed-off-by: default avatarVlad Yasevich <vladislav.yasevich@hp.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      07d93967
  4. 25 Apr, 2007 3 commits
  5. 20 Mar, 2007 1 commit
  6. 22 Dec, 2006 1 commit
  7. 13 Dec, 2006 2 commits
  8. 02 Dec, 2006 15 commits
  9. 22 Nov, 2006 1 commit
  10. 22 Sep, 2006 1 commit
  11. 20 Sep, 2006 1 commit
  12. 21 Jul, 2006 2 commits
  13. 17 Jun, 2006 1 commit
  14. 05 May, 2006 1 commit
  15. 20 Mar, 2006 1 commit
  16. 02 Feb, 2006 1 commit
  17. 17 Jan, 2006 3 commits
    • Vlad Yasevich's avatar
      [SCTP]: Fix machine check/connection hang on IA64. · 313e7b4d
      Vlad Yasevich authored
      
      
      sctp_unpack_cookie used an on-stack array called digest as a result/out
      parameter in the call to crypto_hmac. However, hmac code
      (crypto_hmac_final)
      assumes that the 'out' argument is in virtual memory (identity mapped
      region)
      and can use virt_to_page call on it.  This does not work with the on-stack
      declared digest.  The problems observed so far have been:
       a) incorrect hmac digest
       b) machine check and hardware reset.
      
      Solution is to define the digest in an identity mapped region by
      kmalloc'ing
      it.  We can do this once as part of the endpoint structure and re-use it
      when
      verifying the SCTP cookie.
      Signed-off-by: default avatarVlad Yasevich <vladislav.yasevich@hp.com>
      Signed-off-by: default avatarSridhar Samudrala <sri@us.ibm.com>
      313e7b4d
    • Vlad Yasevich's avatar
      [SCTP]: Fix bad sysctl formatting of SCTP timeout values on 64-bit m/cs. · 8116ffad
      Vlad Yasevich authored
      
      
      Change all the structure members that hold jiffies to be of type
      unsigned long.  This also corrects bad sysctl formating on 64 bit
      architectures.
      Signed-off-by: default avatarVlad Yasevich <vladislav.yasevich@hp.com>
      Signed-off-by: default avatarSridhar Samudrala <sri@us.ibm.com>
      8116ffad
    • Vlad Yasevich's avatar
      [SCTP]: Fix sctp_cookie alignment in the packet. · 9834a2bb
      Vlad Yasevich authored
      
      
      On 64 bit architectures, sctp_cookie sent as part of INIT-ACK is not
      aligned on a 64 bit boundry and thus causes unaligned access exceptions.
      
      The layout of the cookie prameter is this:
      |<----- Parameter Header --------------------|<--- Cookie DATA --------
      -----------------------------------------------------------------------
      | param type (16 bits) | param len (16 bits) | sig [32 bytes] | cookie..
      -----------------------------------------------------------------------
      
      The cookie data portion contains 64 bit values on 64 bit architechtures
      (timeval) that fall on a 32 bit alignment boundry when used as part of
      the on-wire format, but align correctly when used in internal
      structures.  This patch explicitely pads the on-wire format so that
      it is properly aligned.
      Signed-off-by: default avatarVlad Yasevich <vladislav.yasevich@hp.com>
      Signed-off-by: default avatarSridhar Samudrala <sri@us.ibm.com>
      9834a2bb
  18. 03 Jan, 2006 1 commit
  19. 11 Nov, 2005 1 commit