2020-06-28 13:46:16

by Horatiu Vultur

[permalink] [raw]
Subject: [PATCH net] bridge: mrp: Fix endian conversion and some other warnings

The following sparse warnings are fixed:
net/bridge/br_mrp.c:106:18: warning: incorrect type in assignment (different base types)
net/bridge/br_mrp.c:106:18: expected unsigned short [usertype]
net/bridge/br_mrp.c:106:18: got restricted __be16 [usertype]
net/bridge/br_mrp.c:281:23: warning: incorrect type in argument 1 (different modifiers)
net/bridge/br_mrp.c:281:23: expected struct list_head *entry
net/bridge/br_mrp.c:281:23: got struct list_head [noderef] *
net/bridge/br_mrp.c:332:28: warning: incorrect type in argument 1 (different modifiers)
net/bridge/br_mrp.c:332:28: expected struct list_head *new
net/bridge/br_mrp.c:332:28: got struct list_head [noderef] *
net/bridge/br_mrp.c:332:40: warning: incorrect type in argument 2 (different modifiers)
net/bridge/br_mrp.c:332:40: expected struct list_head *head
net/bridge/br_mrp.c:332:40: got struct list_head [noderef] *
net/bridge/br_mrp.c:682:29: warning: incorrect type in argument 1 (different modifiers)
net/bridge/br_mrp.c:682:29: expected struct list_head const *head
net/bridge/br_mrp.c:682:29: got struct list_head [noderef] *

Reported-by: kernel test robot <[email protected]>
Fixes: 2f1a11ae11d222 ("bridge: mrp: Add MRP interface.")
Fixes: 4b8d7d4c599182 ("bridge: mrp: Extend bridge interface")
Fixes: 9a9f26e8f7ea30 ("bridge: mrp: Connect MRP API with the switchdev API")
Signed-off-by: Horatiu Vultur <[email protected]>
---
net/bridge/br_mrp.c | 2 +-
net/bridge/br_private.h | 2 +-
net/bridge/br_private_mrp.h | 2 +-
3 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/net/bridge/br_mrp.c b/net/bridge/br_mrp.c
index 779e1eb754430..90592af9db619 100644
--- a/net/bridge/br_mrp.c
+++ b/net/bridge/br_mrp.c
@@ -86,7 +86,7 @@ static struct sk_buff *br_mrp_skb_alloc(struct net_bridge_port *p,
{
struct ethhdr *eth_hdr;
struct sk_buff *skb;
- u16 *version;
+ __be16 *version;

skb = dev_alloc_skb(MRP_MAX_FRAME_LENGTH);
if (!skb)
diff --git a/net/bridge/br_private.h b/net/bridge/br_private.h
index 2130fe0194e64..e0ea6dbbc97ed 100644
--- a/net/bridge/br_private.h
+++ b/net/bridge/br_private.h
@@ -430,7 +430,7 @@ struct net_bridge {
struct hlist_head fdb_list;

#if IS_ENABLED(CONFIG_BRIDGE_MRP)
- struct list_head __rcu mrp_list;
+ struct list_head mrp_list;
#endif
};

diff --git a/net/bridge/br_private_mrp.h b/net/bridge/br_private_mrp.h
index 33b255e38ffec..315eb37d89f0f 100644
--- a/net/bridge/br_private_mrp.h
+++ b/net/bridge/br_private_mrp.h
@@ -8,7 +8,7 @@

struct br_mrp {
/* list of mrp instances */
- struct list_head __rcu list;
+ struct list_head list;

struct net_bridge_port __rcu *p_port;
struct net_bridge_port __rcu *s_port;
--
2.26.2


2020-06-28 13:54:37

by Nikolay Aleksandrov

[permalink] [raw]
Subject: Re: [PATCH net] bridge: mrp: Fix endian conversion and some other warnings

On 28/06/2020 16:45, Horatiu Vultur wrote:
> The following sparse warnings are fixed:
> net/bridge/br_mrp.c:106:18: warning: incorrect type in assignment (different base types)
> net/bridge/br_mrp.c:106:18: expected unsigned short [usertype]
> net/bridge/br_mrp.c:106:18: got restricted __be16 [usertype]
> net/bridge/br_mrp.c:281:23: warning: incorrect type in argument 1 (different modifiers)
> net/bridge/br_mrp.c:281:23: expected struct list_head *entry
> net/bridge/br_mrp.c:281:23: got struct list_head [noderef] *
> net/bridge/br_mrp.c:332:28: warning: incorrect type in argument 1 (different modifiers)
> net/bridge/br_mrp.c:332:28: expected struct list_head *new
> net/bridge/br_mrp.c:332:28: got struct list_head [noderef] *
> net/bridge/br_mrp.c:332:40: warning: incorrect type in argument 2 (different modifiers)
> net/bridge/br_mrp.c:332:40: expected struct list_head *head
> net/bridge/br_mrp.c:332:40: got struct list_head [noderef] *
> net/bridge/br_mrp.c:682:29: warning: incorrect type in argument 1 (different modifiers)
> net/bridge/br_mrp.c:682:29: expected struct list_head const *head
> net/bridge/br_mrp.c:682:29: got struct list_head [noderef] *
>
> Reported-by: kernel test robot <[email protected]>
> Fixes: 2f1a11ae11d222 ("bridge: mrp: Add MRP interface.")
> Fixes: 4b8d7d4c599182 ("bridge: mrp: Extend bridge interface")
> Fixes: 9a9f26e8f7ea30 ("bridge: mrp: Connect MRP API with the switchdev API")
> Signed-off-by: Horatiu Vultur <[email protected]>
> ---
> net/bridge/br_mrp.c | 2 +-
> net/bridge/br_private.h | 2 +-
> net/bridge/br_private_mrp.h | 2 +-
> 3 files changed, 3 insertions(+), 3 deletions(-)
>

Acked-by: Nikolay Aleksandrov <[email protected]>

> diff --git a/net/bridge/br_mrp.c b/net/bridge/br_mrp.c
> index 779e1eb754430..90592af9db619 100644
> --- a/net/bridge/br_mrp.c
> +++ b/net/bridge/br_mrp.c
> @@ -86,7 +86,7 @@ static struct sk_buff *br_mrp_skb_alloc(struct net_bridge_port *p,
> {
> struct ethhdr *eth_hdr;
> struct sk_buff *skb;
> - u16 *version;
> + __be16 *version;
>
> skb = dev_alloc_skb(MRP_MAX_FRAME_LENGTH);
> if (!skb)
> diff --git a/net/bridge/br_private.h b/net/bridge/br_private.h
> index 2130fe0194e64..e0ea6dbbc97ed 100644
> --- a/net/bridge/br_private.h
> +++ b/net/bridge/br_private.h
> @@ -430,7 +430,7 @@ struct net_bridge {
> struct hlist_head fdb_list;
>
> #if IS_ENABLED(CONFIG_BRIDGE_MRP)
> - struct list_head __rcu mrp_list;
> + struct list_head mrp_list;
> #endif
> };
>
> diff --git a/net/bridge/br_private_mrp.h b/net/bridge/br_private_mrp.h
> index 33b255e38ffec..315eb37d89f0f 100644
> --- a/net/bridge/br_private_mrp.h
> +++ b/net/bridge/br_private_mrp.h
> @@ -8,7 +8,7 @@
>
> struct br_mrp {
> /* list of mrp instances */
> - struct list_head __rcu list;
> + struct list_head list;
>
> struct net_bridge_port __rcu *p_port;
> struct net_bridge_port __rcu *s_port;
>

2020-06-29 03:47:57

by David Miller

[permalink] [raw]
Subject: Re: [PATCH net] bridge: mrp: Fix endian conversion and some other warnings

From: Horatiu Vultur <[email protected]>
Date: Sun, 28 Jun 2020 15:45:16 +0200

> The following sparse warnings are fixed:
> net/bridge/br_mrp.c:106:18: warning: incorrect type in assignment (different base types)
> net/bridge/br_mrp.c:106:18: expected unsigned short [usertype]
> net/bridge/br_mrp.c:106:18: got restricted __be16 [usertype]
> net/bridge/br_mrp.c:281:23: warning: incorrect type in argument 1 (different modifiers)
> net/bridge/br_mrp.c:281:23: expected struct list_head *entry
> net/bridge/br_mrp.c:281:23: got struct list_head [noderef] *
> net/bridge/br_mrp.c:332:28: warning: incorrect type in argument 1 (different modifiers)
> net/bridge/br_mrp.c:332:28: expected struct list_head *new
> net/bridge/br_mrp.c:332:28: got struct list_head [noderef] *
> net/bridge/br_mrp.c:332:40: warning: incorrect type in argument 2 (different modifiers)
> net/bridge/br_mrp.c:332:40: expected struct list_head *head
> net/bridge/br_mrp.c:332:40: got struct list_head [noderef] *
> net/bridge/br_mrp.c:682:29: warning: incorrect type in argument 1 (different modifiers)
> net/bridge/br_mrp.c:682:29: expected struct list_head const *head
> net/bridge/br_mrp.c:682:29: got struct list_head [noderef] *
>
> Reported-by: kernel test robot <[email protected]>
> Fixes: 2f1a11ae11d222 ("bridge: mrp: Add MRP interface.")
> Fixes: 4b8d7d4c599182 ("bridge: mrp: Extend bridge interface")
> Fixes: 9a9f26e8f7ea30 ("bridge: mrp: Connect MRP API with the switchdev API")
> Signed-off-by: Horatiu Vultur <[email protected]>

Applied, thank you.