1. 22 Dec, 2005 5 commits
    • David S. Miller's avatar
      [IPSEC]: Fix policy updates missed by sockets · 9b78a82c
      David S. Miller authored
      The problem is that when new policies are inserted, sockets do not see
      the update (but all new route lookups do).
      
      This bug is related to the SA insertion stale route issue solved
      recently, and this policy visibility problem can be fixed in a similar
      way.
      
      The fix is to flush out the bundles of all policies deeper than the
      policy being inserted.  Consider beginning state of "outgoing"
      direction policy list:
      
      	policy A --> policy B --> policy C --> policy D
      
      First, realize that inserting a policy into a list only potentially
      changes IPSEC routes for that direction.  Therefore we need not bother
      considering the policies for other directions.  We need only consider
      the existing policies in the list we are doing the inserting.
      
      Consider new policy "B'", inserted after B.
      
      	policy A --> policy B --> policy B' --> policy C --> policy D
      
      Two rules:
      
      1) If policy A or policy B matched before the insertion, they
         appear before B' and thus would still match after inserting
         B'
      
      2) Policy C and D, now "shadowed" and after policy B', potentially
         contain stale routes because policy B' might be selected
         instead of them.
      
      Therefore we only need flush routes assosciated with policies
      appearing after a newly inserted policy, if any.
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      9b78a82c
    • Ian McDonald's avatar
      [DCCP]: Comment typo · 4c7e6895
      Ian McDonald authored
      I hope to actually change this behaviour shortly but this will help
      anybody grepping code at present.
      Signed-off-by: default avatarIan McDonald <imcdnzl@gmail.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      4c7e6895
    • Kristian Slavov's avatar
      [IPV6]: Fix address deletion · 1d142804
      Kristian Slavov authored
      If you add more than one IPv6 address belonging to the same prefix and 
      delete the address that was last added, routing table entry for that 
      prefix is also deleted.
      Tested on 2.6.14.4
      
      To reproduce:
      ip addr add 3ffe::1/64 dev eth0
      ip addr add 3ffe::2/64 dev eth0
      /* wait DAD */
      sleep 1
      ip addr del 3ffe::2/64 dev eth0
      ip -6 route
      
      (route to 3ffe::/64 should be gone)
      
      In ipv6_del_addr(), if ifa == ifp, we set ifa->if_next to NULL, and later 
      assign ifap = &ifa->if_next, effectively terminating the for-loop.
      This prevents us from checking if there are other addresses using the same 
      prefix that are valid, and thus resulting in deletion of the prefix.
      This applies only if the first entry in idev->addr_list is the address to 
      be deleted.
      Signed-off-by: default avatarKristian Slavov <kristian.slavov@nomadiclab.com>
      Acked-by: default avatarYOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      1d142804
    • Mika Kukkonen's avatar
      [VLAN]: Add two missing checks to vlan_ioctl_handler() · 7eb1b3d3
      Mika Kukkonen authored
      In vlan_ioctl_handler() the code misses couple checks for
      error return values.
      Signed-off-by: default avatarMika Kukkonen <mikukkon@iki.fi>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      7eb1b3d3
    • Mika Kukkonen's avatar
      [NETROM]: Fix three if-statements in nr_state1_machine() · 0d77d59f
      Mika Kukkonen authored
      I found these while compiling with extra gcc warnings;
      considering the indenting surely they are not intentional?
      Signed-off-by: default avatarMika Kukkonen <mikukkon@iki.fi>
      Signed-off-by: default avatarRalf Baechle <ralf@linux-mips.org>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      0d77d59f
  2. 21 Dec, 2005 8 commits
  3. 20 Dec, 2005 27 commits