[PATCH net-next 0/3] net: bridge: mcast: fixes for mcast querier state

STALE1820d

5 messages, 2 authors, 2021-08-16 · open the first message on its own page

[PATCH net-next 0/3] net: bridge: mcast: fixes for mcast querier state

From: Nikolay Aleksandrov <razor@blackwall.org>
Date: 2021-08-16 10:11:49

From: Nikolay Aleksandrov <redacted>

Hi,
These three fix querier state dumping. The first patch can be considered
a minor behaviour improvement, it avoids dumping querier state when mcast
snooping is disabled. The second patch was a report of sizeof(0) used
for nested netlink attribute size which should be just 0, and the third
patch accounts for IPv6 querier state size when allocating skb for
notifications.

Thanks,
 Nik

Nikolay Aleksandrov (3):
  net: bridge: mcast: don't dump querier state if snooping is disabled
  net: bridge: mcast: drop sizeof for nest attribute's zero size
  net: bridge: mcast: account for ipv6 size when dumping querier state

 net/bridge/br_multicast.c | 14 ++++++++++++--
 1 file changed, 12 insertions(+), 2 deletions(-)

-- 
2.31.1

[PATCH net-next 1/3] net: bridge: mcast: don't dump querier state if snooping is disabled

From: Nikolay Aleksandrov <razor@blackwall.org>
Date: 2021-08-16 10:11:50

From: Nikolay Aleksandrov <redacted>

A minor improvement to avoid dumping mcast ctx querier state if snooping
is disabled for that context (either bridge or vlan).

Signed-off-by: Nikolay Aleksandrov <redacted>
---
 net/bridge/br_multicast.c | 4 ++++
 1 file changed, 4 insertions(+)
diff --git a/net/bridge/br_multicast.c b/net/bridge/br_multicast.c
index 0e5d6ba03457..9bdf12635871 100644
--- a/net/bridge/br_multicast.c
+++ b/net/bridge/br_multicast.c
@@ -2943,6 +2943,10 @@ int br_multicast_dump_querier_state(struct sk_buff *skb,
 	struct net_bridge_port *p;
 	struct nlattr *nest;
 
+	if (!br_opt_get(brmctx->br, BROPT_MULTICAST_ENABLED) ||
+	    br_multicast_ctx_vlan_global_disabled(brmctx))
+		return 0;
+
 	nest = nla_nest_start(skb, nest_attr);
 	if (!nest)
 		return -EMSGSIZE;
-- 
2.31.1

[PATCH net-next 2/3] net: bridge: mcast: drop sizeof for nest attribute's zero size

From: Nikolay Aleksandrov <razor@blackwall.org>
Date: 2021-08-16 10:11:52

From: Nikolay Aleksandrov <redacted>

This was a dumb error I made instead of writing nla_total_size(0)
for a nest attribute, I wrote nla_total_size(sizeof(0)).

Reported-by: kernel test robot <redacted>
Reported-by: Dan Carpenter <redacted>
Fixes: 606433fe3e11 ("net: bridge: mcast: dump ipv4 querier state")
Signed-off-by: Nikolay Aleksandrov <redacted>
---
 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 9bdf12635871..76992ddac7e0 100644
--- a/net/bridge/br_multicast.c
+++ b/net/bridge/br_multicast.c
@@ -2928,7 +2928,7 @@ __br_multicast_get_querier_port(struct net_bridge *br,
 
 size_t br_multicast_querier_state_size(void)
 {
-	return nla_total_size(sizeof(0)) +      /* nest attribute */
+	return nla_total_size(0) +		/* nest attribute */
 	       nla_total_size(sizeof(__be32)) + /* BRIDGE_QUERIER_IP_ADDRESS */
 	       nla_total_size(sizeof(int)) +    /* BRIDGE_QUERIER_IP_PORT */
 	       nla_total_size_64bit(sizeof(u64)); /* BRIDGE_QUERIER_IP_OTHER_TIMER */
-- 
2.31.1

[PATCH net-next 3/3] net: bridge: mcast: account for ipv6 size when dumping querier state

From: Nikolay Aleksandrov <razor@blackwall.org>
Date: 2021-08-16 10:11:53

From: Nikolay Aleksandrov <redacted>

We need to account for the IPv6 attributes when dumping querier state.

Fixes: 5e924fe6ccfd ("net: bridge: mcast: dump ipv6 querier state")
Signed-off-by: Nikolay Aleksandrov <redacted>
---
 net/bridge/br_multicast.c | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)
diff --git a/net/bridge/br_multicast.c b/net/bridge/br_multicast.c
index 76992ddac7e0..e411dd814c58 100644
--- a/net/bridge/br_multicast.c
+++ b/net/bridge/br_multicast.c
@@ -2931,7 +2931,13 @@ size_t br_multicast_querier_state_size(void)
 	return nla_total_size(0) +		/* nest attribute */
 	       nla_total_size(sizeof(__be32)) + /* BRIDGE_QUERIER_IP_ADDRESS */
 	       nla_total_size(sizeof(int)) +    /* BRIDGE_QUERIER_IP_PORT */
-	       nla_total_size_64bit(sizeof(u64)); /* BRIDGE_QUERIER_IP_OTHER_TIMER */
+	       nla_total_size_64bit(sizeof(u64)) + /* BRIDGE_QUERIER_IP_OTHER_TIMER */
+#if IS_ENABLED(CONFIG_IPV6)
+	       nla_total_size(sizeof(struct in6_addr)) + /* BRIDGE_QUERIER_IPV6_ADDRESS */
+	       nla_total_size(sizeof(int)) +		 /* BRIDGE_QUERIER_IPV6_PORT */
+	       nla_total_size_64bit(sizeof(u64)) +	 /* BRIDGE_QUERIER_IPV6_OTHER_TIMER */
+#endif
+	       0;
 }
 
 /* protected by rtnl or rcu */
-- 
2.31.1

Re: [PATCH net-next 0/3] net: bridge: mcast: fixes for mcast querier state

From: patchwork-bot+netdevbpf@kernel.org
Date: 2021-08-16 13:12:28

Hello:

This series was applied to netdev/net-next.git (refs/heads/master):

On Mon, 16 Aug 2021 13:11:31 +0300 you wrote:
From: Nikolay Aleksandrov <redacted>

Hi,
These three fix querier state dumping. The first patch can be considered
a minor behaviour improvement, it avoids dumping querier state when mcast
snooping is disabled. The second patch was a report of sizeof(0) used
for nested netlink attribute size which should be just 0, and the third
patch accounts for IPv6 querier state size when allocating skb for
notifications.

[...]
Here is the summary with links:
  - [net-next,1/3] net: bridge: mcast: don't dump querier state if snooping is disabled
    https://git.kernel.org/netdev/net-next/c/f137b7d4ecf8
  - [net-next,2/3] net: bridge: mcast: drop sizeof for nest attribute's zero size
    https://git.kernel.org/netdev/net-next/c/cdda378bd8d9
  - [net-next,3/3] net: bridge: mcast: account for ipv6 size when dumping querier state
    https://git.kernel.org/netdev/net-next/c/175e66924719

You are awesome, thank you!
--
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/patchwork/pwbot.html

Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help