21 Mar, 2006

19 commits


12 Mar, 2006

1 commit


05 Mar, 2006

3 commits

  • The earlier round of kobject/sysfs changes to bridge caused
    it not to generate a uevent on removal. Don't think any application
    cares (not sure about Xen) but since it generates add uevent
    it should generate remove as well.

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

    Stephen Hemminger
     
  • Initialize the STP timers for a port when it is created,
    rather than when it is enabled. This will prevent future race conditions
    where timer gets started before port is enabled.

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

    Stephen Hemminger
     
  • Bridge would crash because of uninitailized timer if STP is used and
    device was inserted into a bridge before bridge was up. This got
    introduced when the delayed port checking was added. Fix is to not
    enable STP on port unless bridge is up.

    Bugzilla: http://bugzilla.kernel.org/show_bug.cgi?id=6140
    Dup: http://bugzilla.kernel.org/show_bug.cgi?id=6156

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

    Stephen Hemminger
     

28 Feb, 2006

1 commit

  • The nfnetlink_log infrastructure changes broke compatiblity of the LOG
    targets. They currently use whatever log backend was registered first,
    which means that if ipt_ULOG was loaded first, no messages will be printed
    to the ring buffer anymore.

    Restore compatiblity by using the old log functions by default and only use
    the nf_log backend if the user explicitly said so.

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

    Patrick McHardy
     

24 Feb, 2006

1 commit

  • The bridge-netfilter code attaches a fake dst_entry with dst->ops == NULL
    to purely bridged packets. When these packets are SNATed and a policy
    lookup is done, xfrm_lookup crashes because it tries to dereference
    dst->ops.

    Change xfrm_lookup not to dereference dst->ops before checking for the
    DST_NOXFRM flag and set this flag in the fake dst_entry.

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

    Patrick McHardy
     

15 Feb, 2006

1 commit


14 Feb, 2006

1 commit


13 Feb, 2006

1 commit


10 Feb, 2006

3 commits


05 Feb, 2006

3 commits

  • netfilter's do_replace() can overflow on addition within SMP_ALIGN()
    and/or on multiplication by NR_CPUS, resulting in a buffer overflow on
    the copy_from_user(). In practice, the overflow on addition is
    triggerable on all systems, whereas the multiplication one might require
    much physical memory to be present due to the check above. Either is
    sufficient to overwrite arbitrary amounts of kernel memory.

    I really hate adding the same check to all 4 versions of do_replace(),
    but the code is duplicate...

    Found by Solar Designer during security audit of OpenVZ.org

    Signed-Off-By: Kirill Korotaev
    Signed-Off-By: Solar Designer
    Signed-off-by: Patrck McHardy
    Signed-off-by: David S. Miller

    Kirill Korotaev
     
  • The skb allocated is always of size nlbufsize, even if that is smaller than
    the size needed for the current packet.

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

    Patrick McHardy
     
  • Performance tests showed that ULOG may fail on heavy loaded systems
    because of failed order-N allocations (N >= 1).

    The default value of 4096 is not optimal in the sense that it actually
    allocates _two_ contigous physical pages. Reasoning: ULOG uses
    alloc_skb(), which adds another ~300 bytes for skb_shared_info.

    This patch sets the default value to NLMSG_GOODSIZE and adds some
    documentation at the top.

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

    Holger Eitzenberger
     

01 Feb, 2006

1 commit

  • This is a simpler fix for the two races in bridge device removal.
    The Xen race of delif and notify is managed now by a new deleted flag.
    No need for barriers or other locking because of rtnl mutex.

    The del_timer_sync()'s are unnecessary, because br_stp_disable_port
    delete's the timers, and they will finish running before RCU callback.

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

    Stephen Hemminger
     

18 Jan, 2006

1 commit


13 Jan, 2006

1 commit

  • This monster-patch tries to do the best job for unifying the data
    structures and backend interfaces for the three evil clones ip_tables,
    ip6_tables and arp_tables. In an ideal world we would never have
    allowed this kind of copy+paste programming... but well, our world
    isn't (yet?) ideal.

    o introduce a new x_tables module
    o {ip,arp,ip6}_tables depend on this x_tables module
    o registration functions for tables, matches and targets are only
    wrappers around x_tables provided functions
    o all matches/targets that are used from ip_tables and ip6_tables
    are now implemented as xt_FOOBAR.c files and provide module aliases
    to ipt_FOOBAR and ip6t_FOOBAR
    o header files for xt_matches are in include/linux/netfilter/,
    include/linux/netfilter_{ipv4,ipv6} contains compatibility wrappers
    around the xt_FOOBAR.h headers

    Based on this patchset we're going to further unify the code,
    gradually getting rid of all the layer 3 specific assumptions.

    Signed-off-by: Harald Welte
    Signed-off-by: David S. Miller

    Harald Welte
     

12 Jan, 2006

3 commits