]> git.proxmox.com Git - pve-kernel-2.6.32.git/blob - 0004-bridge-disable-querier.patch
update to vzkernel-2.6.32-042stab113.12.src.rpm
[pve-kernel-2.6.32.git] / 0004-bridge-disable-querier.patch
1 From bb63f1f8a08cf8028564ad04831ebd7a8ffb9cba Mon Sep 17 00:00:00 2001
2 From: Herbert Xu <herbert@gondor.apana.org.au>
3 Date: Mon, 30 Apr 2012 00:22:56 +0000
4 Subject: bridge: Fix fatal typo in setup of multicast_querier_expired
5
6 Unfortunately it seems that I didn't properly test the case of
7 an expired external querier in the recent multicast bridge series.
8
9 The setup of the timer in that case is completely broken and leads
10 to a NULL-pointer dereference. This patch fixes it.
11
12 Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
13 Acked-by: Stephen Hemminger <shemminger@vyatta.com>
14 Signed-off-by: David S. Miller <davem@davemloft.net>
15 ---
16 (limited to 'net/bridge/br_multicast.c')
17
18 diff --git a/net/bridge/br_multicast.c b/net/bridge/br_multicast.c
19 index 708e84f..5ca4c50 100644
20 --- a/net/bridge/br_multicast.c
21 +++ b/net/bridge/br_multicast.c
22 @@ -744,8 +744,7 @@ static void br_multicast_local_router_expired(unsigned long data)
23
24 static void br_multicast_querier_expired(unsigned long data)
25 {
26 - struct net_bridge_port *port = (void *)data;
27 - struct net_bridge *br = port->br;
28 + struct net_bridge *br = (void *)data;
29
30 spin_lock(&br->multicast_lock);
31 if (!netif_running(br->dev) || br->multicast_disabled)
32 @@ -1581,7 +1580,7 @@ void br_multicast_init(struct net_bridge *br)
33 setup_timer(&br->multicast_router_timer,
34 br_multicast_local_router_expired, 0);
35 setup_timer(&br->multicast_querier_timer,
36 - br_multicast_querier_expired, 0);
37 + br_multicast_querier_expired, (unsigned long)br);
38 setup_timer(&br->multicast_query_timer, br_multicast_query_expired,
39 (unsigned long)br);
40 }
41 --
42 cgit v0.9.1