Re: [PATCH net] bridge: fix br_multicast_query_expired() bug

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, May 28, 2015 at 04:42:54AM -0700, Eric Dumazet wrote:
> From: Eric Dumazet <edumazet@xxxxxxxxxx>
> 
> br_multicast_query_expired() querier argument is a pointer to
> a struct bridge_mcast_querier :
> 
> struct bridge_mcast_querier {
>         struct br_ip addr;
>         struct net_bridge_port __rcu    *port;
> };
> 
> Intent of the code was to clear port field, not the pointer to querier.
> 
> Fixes: 2cd4143192e8 ("bridge: memorize and export selected IGMP/MLD querier port")
> Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx>
> Cc: Linus Lüssing <linus.luessing@xxxxxx>
> Cc: Steinar H. Gunderson <sesse@xxxxxxxxxxxx>
> ---
>  net/bridge/br_multicast.c |    2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/net/bridge/br_multicast.c b/net/bridge/br_multicast.c
> index a3abe6ed111e..22fd0419b314 100644
> --- a/net/bridge/br_multicast.c
> +++ b/net/bridge/br_multicast.c
> @@ -1822,7 +1822,7 @@ static void br_multicast_query_expired(struct net_bridge *br,
>  	if (query->startup_sent < br->multicast_startup_query_count)
>  		query->startup_sent++;
>  
> -	RCU_INIT_POINTER(querier, NULL);
> +	RCU_INIT_POINTER(querier->port, NULL);
>  	br_multicast_send_query(br, NULL, query);
>  	spin_unlock(&br->multicast_lock);
>  }
> 
> 
> 
> --

Acked-by: Thadeu Lima de Souza Cascardo <cascardo@xxxxxxxxxx>




[Index of Archives]     [Netdev]     [AoE Tools]     [Linux Wireless]     [Kernel Newbies]     [Security]     [Linux for Hams]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux Admin]     [Samba]     [Video 4 Linux]

  Powered by Linux