Linus Lüssing
2014-Apr-21 18:59 UTC
[Bridge] [PATCH] bridge: simplify a br_multicast_query_received() function call
The call from the IPv6 part can be simplified as the beginning of the
calling function ensures that we end up here when having a proper IPv6
source address only.
Introduced by 6565b9eeef194afbb3beec80d6dd2447f4091f8c
("bridge: multicast: add sanity check for query source addresses")
Reported-by: Hannes Frederic Sowa <hannes at stressinduktion.org>
Signed-off-by: Linus L?ssing <linus.luessing at web.de>
---
net/bridge/br_multicast.c | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/net/bridge/br_multicast.c b/net/bridge/br_multicast.c
index 7b757b5..d2c3aae 100644
--- a/net/bridge/br_multicast.c
+++ b/net/bridge/br_multicast.c
@@ -1282,8 +1282,7 @@ static int br_ip6_multicast_query(struct net_bridge *br,
goto out;
}
- br_multicast_query_received(br, port, &br->ip6_querier,
- !ipv6_addr_any(&ip6h->saddr),
+ br_multicast_query_received(br, port, &br->ip6_querier, 1,
is_general_query, max_delay);
if (!group)
--
1.7.10.4
David Miller
2014-Apr-23 18:47 UTC
[Bridge] [PATCH] bridge: simplify a br_multicast_query_received() function call
From: Linus L?ssing <linus.luessing at web.de> Date: Mon, 21 Apr 2014 20:59:35 +0200> The call from the IPv6 part can be simplified as the beginning of the > calling function ensures that we end up here when having a proper IPv6 > source address only. > > Introduced by 6565b9eeef194afbb3beec80d6dd2447f4091f8c > ("bridge: multicast: add sanity check for query source addresses") > > Reported-by: Hannes Frederic Sowa <hannes at stressinduktion.org> > Signed-off-by: Linus L?ssing <linus.luessing at web.de> > --- > net/bridge/br_multicast.c | 3 +-- > 1 file changed, 1 insertion(+), 2 deletions(-) > > diff --git a/net/bridge/br_multicast.c b/net/bridge/br_multicast.c > index 7b757b5..d2c3aae 100644 > --- a/net/bridge/br_multicast.c > +++ b/net/bridge/br_multicast.c > @@ -1282,8 +1282,7 @@ static int br_ip6_multicast_query(struct net_bridge *br, > goto out; > } > > - br_multicast_query_received(br, port, &br->ip6_querier, > - !ipv6_addr_any(&ip6h->saddr), > + br_multicast_query_received(br, port, &br->ip6_querier, 1, > is_general_query, max_delay); > > if (!group)This doesn't make any sense to me, is_general_query can be false at this point. Furthermore, even if your change would be correct, the argument is a boolean not an integer.
Linus Lüssing
2014-May-02 03:14 UTC
[Bridge] [PATCH] bridge: simplify a br_multicast_query_received() function call
On Wed, Apr 23, 2014 at 02:47:48PM -0400, David Miller wrote:> > --- a/net/bridge/br_multicast.c > > +++ b/net/bridge/br_multicast.c > > @@ -1282,8 +1282,7 @@ static int br_ip6_multicast_query(struct net_bridge *br, > > goto out; > > } > > > > - br_multicast_query_received(br, port, &br->ip6_querier, > > - !ipv6_addr_any(&ip6h->saddr), > > + br_multicast_query_received(br, port, &br->ip6_querier, 1, > > is_general_query, max_delay); > > > > if (!group) > > This doesn't make any sense to me, is_general_query can be false at this > point.This change has nothing to do with is_general_query, the fifth argument. I'm modifying the fourth, the is_saddr flag. As Hannes has pointed out here [0], now that we make sure that we have a link-local IPv6 address at the beginning of br_ip6_multicast_query() this implies that the source address is not '::'.> > Furthermore, even if your change would be correct, the argument is a > boolean not an integer.Semantically yes. Syntactically the fourth argument is an integer at the moment (unnecessarily). Should I change 'int saddr' to 'bool saddr' while at it, within the same patch? Cheers