1. 13 Jun, 2011 1 commit
  2. 08 May, 2011 3 commits
  3. 04 May, 2011 1 commit
  4. 29 Apr, 2011 2 commits
  5. 28 Apr, 2011 2 commits
    • David S. Miller's avatar
      l2tp: Fix inet_opt conversion. · 778865a5
      David S. Miller authored
      We don't actually hold the socket lock at this point, so the
      rcu_dereference_protected() isn't' correct.  Thanks to Eric
      Dumazet for pointing this out.
      Thankfully, we're only interested in fetching the faddr value
      if srr is enabled, so we can simply make this an RCU sequence
      and use plain rcu_dereference().
      Reported-by: default avatarEric Dumazet <eric.dumazet@gmail.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    • Eric Dumazet's avatar
      inet: add RCU protection to inet->opt · f6d8bd05
      Eric Dumazet authored
      We lack proper synchronization to manipulate inet->opt ip_options
      Problem is ip_make_skb() calls ip_setup_cork() and
      ip_setup_cork() possibly makes a copy of ipc->opt (struct ip_options),
      without any protection against another thread manipulating inet->opt.
      Another thread can change inet->opt pointer and free old one under us.
      Use RCU to protect inet->opt (changed to inet->inet_opt).
      Instead of handling atomic refcounts, just copy ip_options when
      necessary, to avoid cache line dirtying.
      We cant insert an rcu_head in struct ip_options since its included in
      skb->cb[], so this patch is large because I had to introduce a new
      ip_options_rcu structure.
      Signed-off-by: default avatarEric Dumazet <eric.dumazet@gmail.com>
      Cc: Herbert Xu <herbert@gondor.apana.org.au>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
  6. 27 Apr, 2011 2 commits
    • David S. Miller's avatar
      ipv4: Sanitize and simplify ip_route_{connect,newports}() · 2d7192d6
      David S. Miller authored
      These functions are used together as a unit for route resolution
      during connect().  They address the chicken-and-egg problem that
      exists when ports need to be allocated during connect() processing,
      yet such port allocations require addressing information from the
      routing code.
      It's currently more heavy handed than it needs to be, and in
      particular we allocate and initialize a flow object twice.
      Let the callers provide the on-stack flow object.  That way we only
      need to initialize it once in the ip_route_connect() call.
      Later, if ip_route_newports() needs to do anything, it re-uses that
      flow object as-is except for the ports which it updates before the
      route re-lookup.
      Also, describe why this set of facilities are needed and how it works
      in a big comment.
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      Reviewed-by: default avatarEric Dumazet <eric.dumazet@gmail.com>
    • Lucas De Marchi's avatar
      Revert wrong fixes for common misspellings · e9c54999
      Lucas De Marchi authored
      These changes were incorrectly fixed by codespell. They were now
      manually corrected.
      Signed-off-by: default avatarLucas De Marchi <lucas.demarchi@profusion.mobi>
  7. 12 Mar, 2011 1 commit
  8. 02 Mar, 2011 1 commit
  9. 01 Mar, 2011 3 commits
  10. 08 Dec, 2010 1 commit
  11. 17 Nov, 2010 1 commit
  12. 24 Oct, 2010 1 commit
  13. 21 Oct, 2010 1 commit
  14. 11 Jun, 2010 1 commit
  15. 16 Apr, 2010 1 commit
  16. 03 Apr, 2010 1 commit
    • James Chapman's avatar
      l2tp: Add L2TPv3 IP encapsulation (no UDP) support · 0d76751f
      James Chapman authored
      This patch adds a new L2TPIP socket family and modifies the core to
      handle the case where there is no UDP header in the L2TP
      packet. L2TP/IP uses IP protocol 115. Since L2TP/UDP and L2TP/IP
      packets differ in layout, the datapath packet handling code needs
      changes too. Userspace uses an L2TPIP socket instead of a UDP socket
      when IP encapsulation is required.
      We can't use raw sockets for this because the semantics of raw sockets
      don't lend themselves to the socket-per-tunnel model - we need to
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>