lkml.org 
[lkml]   [2008]   [Mar]   [21]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    Subject[patch 08/76] NET: Messed multicast lists after dev_mc_sync/unsync
    -stable review patch.  If anyone has any objections, please let us know.
    ---------------------

    From: Jorge Boncompte [DTI2] <jorge@dti2.net>

    Upstream commit: 12aa343add3eced38a44bdb612b35fdf634d918c

    Commit a0a400d79e3dd7843e7e81baa3ef2957bdc292d0 ("[NET]: dev_mcast:
    add multicast list synchronization helpers") from you introduced a new
    field "da_synced" to struct dev_addr_list that is not properly
    initialized to 0. So when any of the current users (8021q, macvlan,
    mac80211) calls dev_mc_sync/unsync they mess the address list for both
    devices.

    The attached patch fixed it for me and avoid future problems.

    Signed-off-by: Jorge Boncompte [DTI2] <jorge@dti2.net>
    Signed-off-by: Patrick McHardy <kaber@trash.net>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
    Signed-off-by: Chris Wright <chrisw@sous-sol.org>

    ---
    net/core/dev.c | 2 +-
    1 file changed, 1 insertion(+), 1 deletion(-)

    --- a/net/core/dev.c
    +++ b/net/core/dev.c
    @@ -2906,7 +2906,7 @@ int __dev_addr_add(struct dev_addr_list
    }
    }

    - da = kmalloc(sizeof(*da), GFP_ATOMIC);
    + da = kzalloc(sizeof(*da), GFP_ATOMIC);
    if (da == NULL)
    return -ENOMEM;
    memcpy(da->da_addr, addr, alen);
    --


    \
     
     \ /
      Last update: 2008-03-22 00:49    [W:5.094 / U:1.264 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site