Skip to content
  1. May 18, 2018
  2. May 17, 2018
  3. May 16, 2018
  4. May 15, 2018
  5. May 14, 2018
  6. May 13, 2018
    • Gregory Nutt's avatar
      include/sys/resource.h: Trivial typo fix. · 8befa072
      Gregory Nutt authored
      8befa072
    • Gregory Nutt's avatar
      include/sys: Add resource.h · 3208e483
      Gregory Nutt authored
      3208e483
    • Gregory Nutt's avatar
      net/udp: Associated with last commit. Make sure that the new connection flag... · 3ee61fb8
      Gregory Nutt authored
      net/udp:  Associated with last commit.  Make sure that the new connection flag is cleared when a new UDP connection structure is allocated.
      3ee61fb8
    • Gregory Nutt's avatar
      net/udp: Resolve race condition in connection-less UDP sockets with read-ahead buffering. · fb8cf937
      Gregory Nutt authored
      In connection-mode UDP sockets, a remote address is retained in the UDP connection structure.  This determines both there send() will send the packets and which packets recv() will accept.
      
      This same mechanism is used for connection-less UDP sendto:  A temporary remote address is written into the connection structure to support the sendto() operation.  That address persists until the next recvfrom() when it is reset to accept any address.
      
      When UDP read-ahead buffering is enabled, however, that means that the old, invalid remote address can be left in the connection structure for some time.  This can cause read-ahead buffer to fail, dropping UDP packets.
      
      Shortening the time between when he remote address is reset (i.e., immediately after the sendto() completes) is not a solution, that does not eliminate the race condition; in only makes it smaller.
      
      With this change, a flag was added to the connection structure to indicate if the UDP socket is in connection mode or if it is connection-less.  This change effects only UDP receive operations:  The remote address in the UDP connection is always ignored if the UDP socket is not in connection-mode.
      
      No for connection-mode sockets, that remote address behaves as before.  But for connection-less sockets, it is only used by sendto().
      fb8cf937
  7. May 12, 2018