1. 27 4月, 2009 1 次提交
  2. 27 3月, 2009 1 次提交
    • J
      ipv6: Plug sk_buff leak in ipv6_rcv (net/ipv6/ip6_input.c) · 71f6f6df
      Jesper Nilsson 提交于
      Commit 778d80be
      (ipv6: Add disable_ipv6 sysctl to disable IPv6 operaion on specific interface)
      seems to have introduced a leak of sk_buff's for ipv6 traffic,
      at least in some configurations where idev is NULL, or when ipv6
      is disabled via sysctl.
      
      The problem is that if the first condition of the if-statement
      returns non-NULL, it returns an skb with only one reference,
      and when the other conditions apply, execution jumps to the "out"
      label, which does not call kfree_skb for it.
      
      To plug this leak, change to use the "drop" label instead.
      (this relies on it being ok to call kfree_skb on NULL)
      This also allows us to avoid calling rcu_read_unlock here,
      and removes the only user of the "out" label.
      Signed-off-by: NJesper Nilsson <jesper.nilsson@axis.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      71f6f6df
  3. 28 1月, 2009 1 次提交
    • T
      IPv6: Fix multicast routing bugs. · 1d6e55f1
      Thomas Goff 提交于
      This patch addresses the IPv6 multicast routing issues described
      below.  It was tested with XORP 1.4/1.5 as the IPv6 PIM-SM routing
      daemon against FreeBSD peers.
      
      net/ipv6/ip6_input.c:
      
        - Don't try to forward link-local multicast packets.
      
        - Don't reset skb2->dev before calling ip6_mr_input() so packets can
          be identified as coming from the PIM register vif properly.
      
      net/ipv6/ip6mr.c:
      
        - Fix incoming PIM register messages processing:
      
          * The IPv6 pseudo-header should be included when checksumming PIM
            messages (RFC 4601 section 4.9; RFC 3973 section 4.7.1).
      
          * Packets decapsulated from PIM register messages should have
            skb->protocol ETH_P_IPV6.
      
        - Enable/disable IPv6 multicast forwarding on the corresponding
          interface when a routing daemon adds/removes a multicast virtual
          interface.
      
        - Remove incorrect skb_pull() to fix userspace signaling.
      
        - Enable/disable global IPv6 multicast forwarding when an IPv6
          multicast routing socket is opened/closed.
      
      net/ipv6/route.c:
      
        - Don't use strict routing logic for packets decapsulated from PIM
          register messages (similar to disabling rp_filter for the IPv4
          case).
      Signed-off-by: NThomas Goff <thomas.goff@boeing.com>
      Reviewed-by: NFred Templin <fred.l.templin@boeing.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      1d6e55f1
  4. 09 10月, 2008 1 次提交
  5. 20 7月, 2008 1 次提交
  6. 03 7月, 2008 1 次提交
  7. 20 6月, 2008 1 次提交
  8. 12 6月, 2008 1 次提交
  9. 11 4月, 2008 1 次提交
  10. 05 4月, 2008 1 次提交
  11. 01 4月, 2008 1 次提交
  12. 06 3月, 2008 1 次提交
  13. 29 1月, 2008 2 次提交
  14. 16 10月, 2007 2 次提交
  15. 11 10月, 2007 2 次提交
  16. 14 5月, 2007 1 次提交
  17. 26 4月, 2007 6 次提交
  18. 05 4月, 2007 1 次提交
  19. 15 2月, 2007 1 次提交
    • T
      [PATCH] remove many unneeded #includes of sched.h · cd354f1a
      Tim Schmielau 提交于
      After Al Viro (finally) succeeded in removing the sched.h #include in module.h
      recently, it makes sense again to remove other superfluous sched.h includes.
      There are quite a lot of files which include it but don't actually need
      anything defined in there.  Presumably these includes were once needed for
      macros that used to live in sched.h, but moved to other header files in the
      course of cleaning it up.
      
      To ease the pain, this time I did not fiddle with any header files and only
      removed #includes from .c-files, which tend to cause less trouble.
      
      Compile tested against 2.6.20-rc2 and 2.6.20-rc2-mm2 (with offsets) on alpha,
      arm, i386, ia64, mips, powerpc, and x86_64 with allnoconfig, defconfig,
      allmodconfig, and allyesconfig as well as a few randconfigs on x86_64 and all
      configs in arch/arm/configs on arm.  I also checked that no new warnings were
      introduced by the patch (actually, some warnings are removed that were emitted
      by unnecessarily included header files).
      Signed-off-by: NTim Schmielau <tim@physik3.uni-rostock.de>
      Acked-by: NRussell King <rmk+kernel@arm.linux.org.uk>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      cd354f1a
  20. 11 2月, 2007 1 次提交
  21. 03 12月, 2006 2 次提交
  22. 23 9月, 2006 1 次提交
  23. 25 7月, 2006 1 次提交
  24. 01 7月, 2006 1 次提交
  25. 19 4月, 2006 1 次提交
  26. 08 1月, 2006 2 次提交
  27. 10 11月, 2005 1 次提交
    • Y
      [NETFILTER]: Add nf_conntrack subsystem. · 9fb9cbb1
      Yasuyuki Kozakai 提交于
      The existing connection tracking subsystem in netfilter can only
      handle ipv4.  There were basically two choices present to add
      connection tracking support for ipv6.  We could either duplicate all
      of the ipv4 connection tracking code into an ipv6 counterpart, or (the
      choice taken by these patches) we could design a generic layer that
      could handle both ipv4 and ipv6 and thus requiring only one sub-protocol
      (TCP, UDP, etc.) connection tracking helper module to be written.
      
      In fact nf_conntrack is capable of working with any layer 3
      protocol.
      
      The existing ipv4 specific conntrack code could also not deal
      with the pecularities of doing connection tracking on ipv6,
      which is also cured here.  For example, these issues include:
      
      1) ICMPv6 handling, which is used for neighbour discovery in
         ipv6 thus some messages such as these should not participate
         in connection tracking since effectively they are like ARP
         messages
      
      2) fragmentation must be handled differently in ipv6, because
         the simplistic "defrag, connection track and NAT, refrag"
         (which the existing ipv4 connection tracking does) approach simply
         isn't feasible in ipv6
      
      3) ipv6 extension header parsing must occur at the correct spots
         before and after connection tracking decisions, and there were
         no provisions for this in the existing connection tracking
         design
      
      4) ipv6 has no need for stateful NAT
      
      The ipv4 specific conntrack layer is kept around, until all of
      the ipv4 specific conntrack helpers are ported over to nf_conntrack
      and it is feature complete.  Once that occurs, the old conntrack
      stuff will get placed into the feature-removal-schedule and we will
      fully kill it off 6 months later.
      Signed-off-by: NYasuyuki Kozakai <yasuyuki.kozakai@toshiba.co.jp>
      Signed-off-by: NHarald Welte <laforge@netfilter.org>
      Signed-off-by: NArnaldo Carvalho de Melo <acme@mandriva.com>
      9fb9cbb1
  28. 30 8月, 2005 2 次提交
  29. 18 8月, 2005 1 次提交