1. 23 4月, 2010 2 次提交
  2. 21 4月, 2010 1 次提交
  3. 17 3月, 2010 2 次提交
  4. 16 3月, 2010 1 次提交
    • M
      bridge: Fix br_forward crash in promiscuous mode · 7f7708f0
      Michael Braun 提交于
      From: Michael Braun <michael-dev@fami-braun.de>
      
      bridge: Fix br_forward crash in promiscuous mode
      
      It's a linux-next kernel from 2010-03-12 on an x86 system and it
      OOPs in the bridge module in br_pass_frame_up (called by
      br_handle_frame_finish) because brdev cannot be dereferenced (its set to
      a non-null value).
      
      Adding some BUG_ON statements revealed that
       BR_INPUT_SKB_CB(skb)->brdev == br-dev
      (as set in br_handle_frame_finish first)
      only holds until br_forward is called.
      The next call to br_pass_frame_up then fails.
      
      Digging deeper it seems that br_forward either frees the skb or passes
      it to NF_HOOK which will in turn take care of freeing the skb. The
      same is holds for br_pass_frame_ip. So it seems as if two independent
      skb allocations are required. As far as I can see, commit
      b33084be ("bridge: Avoid unnecessary
      clone on forward path") removed skb duplication and so likely causes
      this crash. This crash does not happen on 2.6.33.
      
      I've therefore modified br_forward the same way br_flood has been
      modified so that the skb is not freed if skb0 is going to be used
      and I can confirm that the attached patch resolves the issue for me.
      Signed-off-by: NHerbert Xu <herbert@gondor.apana.org.au>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      7f7708f0
  5. 08 3月, 2010 1 次提交
  6. 02 3月, 2010 1 次提交
  7. 28 2月, 2010 7 次提交
  8. 05 2月, 2010 1 次提交
  9. 01 9月, 2009 1 次提交
  10. 14 8月, 2009 1 次提交
  11. 12 6月, 2009 1 次提交
  12. 09 9月, 2008 2 次提交
  13. 31 7月, 2008 1 次提交
    • S
      bridge: send correct MTU value in PMTU (revised) · 4adf0af6
      Simon Wunderlich 提交于
      When bridging interfaces with different MTUs, the bridge correctly chooses
      the minimum of the MTUs of the physical devices as the bridges MTU.  But
      when a frame is passed which fits through the incoming, but not through
      the outgoing interface, a "Fragmentation Needed" packet is generated.
      
      However, the propagated MTU is hardcoded to 1500, which is wrong in this
      situation.  The sender will repeat the packet again with the same frame
      size, and the same problem will occur again.
      
      Instead of sending 1500, the (correct) MTU value of the bridge is now sent
      via PMTU.  To achieve this, the corresponding rtable structure is stored
      in its net_bridge structure.
      
      Modified to get rid of fake_net_device as well.
      Signed-off-by: NSimon Wunderlich <siwu@hrz.tu-chemnitz.de>
      Signed-off-by: NStephen Hemminger <shemminger@linux-foundation.org>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      4adf0af6
  14. 06 7月, 2008 1 次提交
  15. 18 6月, 2008 1 次提交
  16. 12 6月, 2008 1 次提交
  17. 22 5月, 2008 1 次提交
  18. 25 1月, 2008 1 次提交
  19. 11 10月, 2007 1 次提交
    • E
      [NET]: Make the device list and device lookups per namespace. · 881d966b
      Eric W. Biederman 提交于
      This patch makes most of the generic device layer network
      namespace safe.  This patch makes dev_base_head a
      network namespace variable, and then it picks up
      a few associated variables.  The functions:
      dev_getbyhwaddr
      dev_getfirsthwbytype
      dev_get_by_flags
      dev_get_by_name
      __dev_get_by_name
      dev_get_by_index
      __dev_get_by_index
      dev_ioctl
      dev_ethtool
      dev_load
      wireless_process_ioctl
      
      were modified to take a network namespace argument, and
      deal with it.
      
      vlan_ioctl_set and brioctl_set were modified so their
      hooks will receive a network namespace argument.
      
      So basically anthing in the core of the network stack that was
      affected to by the change of dev_base was modified to handle
      multiple network namespaces.  The rest of the network stack was
      simply modified to explicitly use &init_net the initial network
      namespace.  This can be fixed when those components of the network
      stack are modified to handle multiple network namespaces.
      
      For now the ifindex generator is left global.
      
      Fundametally ifindex numbers are per namespace, or else
      we will have corner case problems with migration when
      we get that far.
      
      At the same time there are assumptions in the network stack
      that the ifindex of a network device won't change.  Making
      the ifindex number global seems a good compromise until
      the network stack can cope with ifindex changes when
      you change namespaces, and the like.
      Signed-off-by: NEric W. Biederman <ebiederm@xmission.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      881d966b
  20. 17 9月, 2007 1 次提交
  21. 26 4月, 2007 5 次提交
  22. 27 2月, 2007 2 次提交
  23. 11 2月, 2007 1 次提交
  24. 22 11月, 2006 1 次提交
  25. 16 10月, 2006 1 次提交
  26. 18 6月, 2006 1 次提交