05 May, 2008

2 commits


03 May, 2008

2 commits


29 Apr, 2008

2 commits

  • There is a race condition when unloading bridge and netfilter.

    The problem happens if __fake_rtable is in use by a skb
    coming in, while someone starts to unload bridge.ko.
    br_netfilter_fini() is called at the beginning of unload
    in br_deinit() while skbs still are being forwarded and
    transferred to local ip stack. Thus there is a possibility
    of the __fake_rtable pointer not being removed in a skb that
    goes up to ip stack. This results in a kernel panic, as
    ip_rcv() calls the input-function of __fake_rtable, which
    is NULL.

    Moving the call of br_netfilter_fini() to the end of
    br_deinit() solves the problem.

    Signed-off-by: Bodo Stroesser
    Signed-off-by: Stephen Hemminger
    Signed-off-by: David S. Miller

    Bodo Stroesser
     
  • When device is added to bridge its refcnt is incremented (in new_nbp()), but if
    error occurs during further br_add_if() operations this counter is not
    decremented back. Fix it by adding dev_put() call in the error path.

    Signed-off-by: Volodymyr G Lukiianyk
    Signed-off-by: Stephen Hemminger
    Signed-off-by: David S. Miller

    Volodymyr G Lukiianyk
     

14 Apr, 2008

5 commits


26 Mar, 2008

2 commits


21 Mar, 2008

2 commits


06 Mar, 2008

2 commits


24 Feb, 2008

1 commit


20 Feb, 2008

1 commit


01 Feb, 2008

4 commits


29 Jan, 2008

13 commits


25 Jan, 2008

3 commits


21 Jan, 2008

1 commit

  • When packets are flood-forwarded to multiple output devices, the
    bridge-netfilter code reuses skb->nf_bridge for each clone to store
    the bridge port. When queueing packets using NFQUEUE netfilter takes
    a reference to skb->nf_bridge->physoutdev, which is overwritten
    when the packet is forwarded to the second port. This causes
    refcount unterflows for the first device and refcount leaks for all
    others. Additionally this provides incorrect data to the iptables
    physdev match.

    Unshare skb->nf_bridge by copying it if it is shared before assigning
    the physoutdev device.

    Reported, tested and based on initial patch by
    Jan Christoph Nordholz .

    Signed-off-by: Patrick McHardy
    Signed-off-by: David S. Miller

    Patrick McHardy