* [net-next:master 40/65] net/bridge/br_input.c:135:8: error: too many arguments to function 'br_multicast_is_router'
@ 2021-05-14 1:04 kernel test robot
2021-05-14 10:06 ` Naresh Kamboju
0 siblings, 1 reply; 3+ messages in thread
From: kernel test robot @ 2021-05-14 1:04 UTC (permalink / raw)
To: Linus Lüssing; +Cc: kbuild-all, netdev
[-- Attachment #1: Type: text/plain, Size: 5807 bytes --]
tree: https://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next.git master
head: ea89c862f01e02ec459932c7c3113fa37aedd09a
commit: 1a3065a26807b4cdd65d3b696ddb18385610f7da [40/65] net: bridge: mcast: prepare is-router function for mcast router split
config: um-randconfig-s032-20210514 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-22) 9.3.0
reproduce:
# apt-get install sparse
# sparse version: v0.6.3-341-g8af24329-dirty
# https://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next.git/commit/?id=1a3065a26807b4cdd65d3b696ddb18385610f7da
git remote add net-next https://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next.git
git fetch --no-tags net-next master
git checkout 1a3065a26807b4cdd65d3b696ddb18385610f7da
# save the attached .config to linux build tree
make W=1 C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' W=1 ARCH=um
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
All errors (new ones prefixed by >>):
net/bridge/br_input.c: In function 'br_handle_frame_finish':
>> net/bridge/br_input.c:135:8: error: too many arguments to function 'br_multicast_is_router'
135 | br_multicast_is_router(br, skb)) {
| ^~~~~~~~~~~~~~~~~~~~~~
In file included from net/bridge/br_input.c:23:
net/bridge/br_private.h:1059:20: note: declared here
1059 | static inline bool br_multicast_is_router(struct net_bridge *br)
| ^~~~~~~~~~~~~~~~~~~~~~
Kconfig warnings: (for reference only)
WARNING: unmet direct dependencies detected for LOCKDEP
Depends on DEBUG_KERNEL && LOCK_DEBUGGING_SUPPORT && (FRAME_POINTER || MIPS || PPC || S390 || MICROBLAZE || ARM || ARC || X86)
Selected by
- LOCK_STAT && DEBUG_KERNEL && LOCK_DEBUGGING_SUPPORT
- DEBUG_LOCK_ALLOC && DEBUG_KERNEL && LOCK_DEBUGGING_SUPPORT
vim +/br_multicast_is_router +135 net/bridge/br_input.c
65
66 /* note: already called with rcu_read_lock */
67 int br_handle_frame_finish(struct net *net, struct sock *sk, struct sk_buff *skb)
68 {
69 struct net_bridge_port *p = br_port_get_rcu(skb->dev);
70 enum br_pkt_type pkt_type = BR_PKT_UNICAST;
71 struct net_bridge_fdb_entry *dst = NULL;
72 struct net_bridge_mdb_entry *mdst;
73 bool local_rcv, mcast_hit = false;
74 struct net_bridge *br;
75 u16 vid = 0;
76 u8 state;
77
78 if (!p || p->state == BR_STATE_DISABLED)
79 goto drop;
80
81 state = p->state;
82 if (!br_allowed_ingress(p->br, nbp_vlan_group_rcu(p), skb, &vid,
83 &state))
84 goto out;
85
86 nbp_switchdev_frame_mark(p, skb);
87
88 /* insert into forwarding database after filtering to avoid spoofing */
89 br = p->br;
90 if (p->flags & BR_LEARNING)
91 br_fdb_update(br, p, eth_hdr(skb)->h_source, vid, 0);
92
93 local_rcv = !!(br->dev->flags & IFF_PROMISC);
94 if (is_multicast_ether_addr(eth_hdr(skb)->h_dest)) {
95 /* by definition the broadcast is also a multicast address */
96 if (is_broadcast_ether_addr(eth_hdr(skb)->h_dest)) {
97 pkt_type = BR_PKT_BROADCAST;
98 local_rcv = true;
99 } else {
100 pkt_type = BR_PKT_MULTICAST;
101 if (br_multicast_rcv(br, p, skb, vid))
102 goto drop;
103 }
104 }
105
106 if (state == BR_STATE_LEARNING)
107 goto drop;
108
109 BR_INPUT_SKB_CB(skb)->brdev = br->dev;
110 BR_INPUT_SKB_CB(skb)->src_port_isolated = !!(p->flags & BR_ISOLATED);
111
112 if (IS_ENABLED(CONFIG_INET) &&
113 (skb->protocol == htons(ETH_P_ARP) ||
114 skb->protocol == htons(ETH_P_RARP))) {
115 br_do_proxy_suppress_arp(skb, br, vid, p);
116 } else if (IS_ENABLED(CONFIG_IPV6) &&
117 skb->protocol == htons(ETH_P_IPV6) &&
118 br_opt_get(br, BROPT_NEIGH_SUPPRESS_ENABLED) &&
119 pskb_may_pull(skb, sizeof(struct ipv6hdr) +
120 sizeof(struct nd_msg)) &&
121 ipv6_hdr(skb)->nexthdr == IPPROTO_ICMPV6) {
122 struct nd_msg *msg, _msg;
123
124 msg = br_is_nd_neigh_msg(skb, &_msg);
125 if (msg)
126 br_do_suppress_nd(skb, br, vid, p, msg);
127 }
128
129 switch (pkt_type) {
130 case BR_PKT_MULTICAST:
131 mdst = br_mdb_get(br, skb, vid);
132 if ((mdst || BR_INPUT_SKB_CB_MROUTERS_ONLY(skb)) &&
133 br_multicast_querier_exists(br, eth_hdr(skb), mdst)) {
134 if ((mdst && mdst->host_joined) ||
> 135 br_multicast_is_router(br, skb)) {
136 local_rcv = true;
137 br->dev->stats.multicast++;
138 }
139 mcast_hit = true;
140 } else {
141 local_rcv = true;
142 br->dev->stats.multicast++;
143 }
144 break;
145 case BR_PKT_UNICAST:
146 dst = br_fdb_find_rcu(br, eth_hdr(skb)->h_dest, vid);
147 break;
148 default:
149 break;
150 }
151
152 if (dst) {
153 unsigned long now = jiffies;
154
155 if (test_bit(BR_FDB_LOCAL, &dst->flags))
156 return br_pass_frame_up(skb);
157
158 if (now != dst->used)
159 dst->used = now;
160 br_forward(dst->dst, skb, local_rcv, false);
161 } else {
162 if (!mcast_hit)
163 br_flood(br, skb, pkt_type, local_rcv, false);
164 else
165 br_multicast_flood(mdst, skb, local_rcv, false);
166 }
167
168 if (local_rcv)
169 return br_pass_frame_up(skb);
170
171 out:
172 return 0;
173 drop:
174 kfree_skb(skb);
175 goto out;
176 }
177 EXPORT_SYMBOL_GPL(br_handle_frame_finish);
178
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
[-- Attachment #2: .config.gz --]
[-- Type: application/gzip, Size: 15766 bytes --]
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [net-next:master 40/65] net/bridge/br_input.c:135:8: error: too many arguments to function 'br_multicast_is_router'
2021-05-14 1:04 [net-next:master 40/65] net/bridge/br_input.c:135:8: error: too many arguments to function 'br_multicast_is_router' kernel test robot
@ 2021-05-14 10:06 ` Naresh Kamboju
2021-05-14 10:12 ` Nikolay Aleksandrov
0 siblings, 1 reply; 3+ messages in thread
From: Naresh Kamboju @ 2021-05-14 10:06 UTC (permalink / raw)
To: kernel test robot
Cc: Linus Lüssing, kbuild-all, Netdev, linux-mips,
Linux-Next Mailing List, Roopa Prabhu, Nikolay Aleksandrov,
David S. Miller, Jakub Kicinski, bridge
[Please ignore this email if you already know these build failures]
+ Adding maintainers
On Fri, 14 May 2021 at 06:35, kernel test robot <lkp@intel.com> wrote:
>
> tree: https://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next.git master
> head: ea89c862f01e02ec459932c7c3113fa37aedd09a
> commit: 1a3065a26807b4cdd65d3b696ddb18385610f7da [40/65] net: bridge: mcast: prepare is-router function for mcast router split
> config: um-randconfig-s032-20210514 (attached as .config)
> compiler: gcc-9 (Debian 9.3.0-22) 9.3.0
> reproduce:
> # apt-get install sparse
> # sparse version: v0.6.3-341-g8af24329-dirty
> # https://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next.git/commit/?id=1a3065a26807b4cdd65d3b696ddb18385610f7da
> git remote add net-next https://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next.git
> git fetch --no-tags net-next master
> git checkout 1a3065a26807b4cdd65d3b696ddb18385610f7da
> # save the attached .config to linux build tree
> make W=1 C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' W=1 ARCH=um
>
> If you fix the issue, kindly add following tag as appropriate
> Reported-by: kernel test robot <lkp@intel.com>
>
> All errors (new ones prefixed by >>):
>
> net/bridge/br_input.c: In function 'br_handle_frame_finish':
> >> net/bridge/br_input.c:135:8: error: too many arguments to function 'br_multicast_is_router'
> 135 | br_multicast_is_router(br, skb)) {
> | ^~~~~~~~~~~~~~~~~~~~~~
> In file included from net/bridge/br_input.c:23:
> net/bridge/br_private.h:1059:20: note: declared here
> 1059 | static inline bool br_multicast_is_router(struct net_bridge *br)
> | ^~~~~~~~~~~~~~~~~~~~~~
>
LKFT build system also noticed these errors on Linux tag 20210514 while
building for mips architecture.
Regressions found on mips:
- build/gcc-8-rt305x_defconfig
- build/gcc-9-rt305x_defconfig
- build/gcc-10-rt305x_defconfig
make --silent --keep-going --jobs=8
O=/home/tuxbuild/.cache/tuxmake/builds/current ARCH=mips
CROSS_COMPILE=mips-linux-gnu- 'CC=sccache mips-linux-gnu-gcc'
'HOSTCC=sccache gcc'
/builds/linux/net/bridge/br_input.c: In function 'br_handle_frame_finish':
/builds/linux/net/bridge/br_input.c:135:8: error: too many arguments
to function 'br_multicast_is_router'
135 | br_multicast_is_router(br, skb)) {
| ^~~~~~~~~~~~~~~~~~~~~~
In file included from /builds/linux/net/bridge/br_input.c:23:
/builds/linux/net/bridge/br_private.h:1059:20: note: declared here
1059 | static inline bool br_multicast_is_router(struct net_bridge *br)
| ^~~~~~~~~~~~~~~~~~~~~~
make[3]: *** [/builds/linux/scripts/Makefile.build:273:
net/bridge/br_input.o] Error 1
> Kconfig warnings: (for reference only)
> WARNING: unmet direct dependencies detected for LOCKDEP
> Depends on DEBUG_KERNEL && LOCK_DEBUGGING_SUPPORT && (FRAME_POINTER || MIPS || PPC || S390 || MICROBLAZE || ARM || ARC || X86)
> Selected by
> - LOCK_STAT && DEBUG_KERNEL && LOCK_DEBUGGING_SUPPORT
> - DEBUG_LOCK_ALLOC && DEBUG_KERNEL && LOCK_DEBUGGING_SUPPORT
>
>
> vim +/br_multicast_is_router +135 net/bridge/br_input.c
>
> 65
> 66 /* note: already called with rcu_read_lock */
> 67 int br_handle_frame_finish(struct net *net, struct sock *sk, struct sk_buff *skb)
> 68 {
> 69 struct net_bridge_port *p = br_port_get_rcu(skb->dev);
> 70 enum br_pkt_type pkt_type = BR_PKT_UNICAST;
> 71 struct net_bridge_fdb_entry *dst = NULL;
> 72 struct net_bridge_mdb_entry *mdst;
> 73 bool local_rcv, mcast_hit = false;
> 74 struct net_bridge *br;
> 75 u16 vid = 0;
> 76 u8 state;
> 77
> 78 if (!p || p->state == BR_STATE_DISABLED)
> 79 goto drop;
> 80
> 81 state = p->state;
> 82 if (!br_allowed_ingress(p->br, nbp_vlan_group_rcu(p), skb, &vid,
> 83 &state))
> 84 goto out;
> 85
> 86 nbp_switchdev_frame_mark(p, skb);
> 87
> 88 /* insert into forwarding database after filtering to avoid spoofing */
> 89 br = p->br;
> 90 if (p->flags & BR_LEARNING)
> 91 br_fdb_update(br, p, eth_hdr(skb)->h_source, vid, 0);
> 92
> 93 local_rcv = !!(br->dev->flags & IFF_PROMISC);
> 94 if (is_multicast_ether_addr(eth_hdr(skb)->h_dest)) {
> 95 /* by definition the broadcast is also a multicast address */
> 96 if (is_broadcast_ether_addr(eth_hdr(skb)->h_dest)) {
> 97 pkt_type = BR_PKT_BROADCAST;
> 98 local_rcv = true;
> 99 } else {
> 100 pkt_type = BR_PKT_MULTICAST;
> 101 if (br_multicast_rcv(br, p, skb, vid))
> 102 goto drop;
> 103 }
> 104 }
> 105
> 106 if (state == BR_STATE_LEARNING)
> 107 goto drop;
> 108
> 109 BR_INPUT_SKB_CB(skb)->brdev = br->dev;
> 110 BR_INPUT_SKB_CB(skb)->src_port_isolated = !!(p->flags & BR_ISOLATED);
> 111
> 112 if (IS_ENABLED(CONFIG_INET) &&
> 113 (skb->protocol == htons(ETH_P_ARP) ||
> 114 skb->protocol == htons(ETH_P_RARP))) {
> 115 br_do_proxy_suppress_arp(skb, br, vid, p);
> 116 } else if (IS_ENABLED(CONFIG_IPV6) &&
> 117 skb->protocol == htons(ETH_P_IPV6) &&
> 118 br_opt_get(br, BROPT_NEIGH_SUPPRESS_ENABLED) &&
> 119 pskb_may_pull(skb, sizeof(struct ipv6hdr) +
> 120 sizeof(struct nd_msg)) &&
> 121 ipv6_hdr(skb)->nexthdr == IPPROTO_ICMPV6) {
> 122 struct nd_msg *msg, _msg;
> 123
> 124 msg = br_is_nd_neigh_msg(skb, &_msg);
> 125 if (msg)
> 126 br_do_suppress_nd(skb, br, vid, p, msg);
> 127 }
> 128
> 129 switch (pkt_type) {
> 130 case BR_PKT_MULTICAST:
> 131 mdst = br_mdb_get(br, skb, vid);
> 132 if ((mdst || BR_INPUT_SKB_CB_MROUTERS_ONLY(skb)) &&
> 133 br_multicast_querier_exists(br, eth_hdr(skb), mdst)) {
> 134 if ((mdst && mdst->host_joined) ||
> > 135 br_multicast_is_router(br, skb)) {
> 136 local_rcv = true;
> 137 br->dev->stats.multicast++;
> 138 }
> 139 mcast_hit = true;
> 140 } else {
> 141 local_rcv = true;
> 142 br->dev->stats.multicast++;
> 143 }
> 144 break;
> 145 case BR_PKT_UNICAST:
> 146 dst = br_fdb_find_rcu(br, eth_hdr(skb)->h_dest, vid);
> 147 break;
> 148 default:
> 149 break;
> 150 }
> 151
> 152 if (dst) {
> 153 unsigned long now = jiffies;
> 154
> 155 if (test_bit(BR_FDB_LOCAL, &dst->flags))
> 156 return br_pass_frame_up(skb);
> 157
> 158 if (now != dst->used)
> 159 dst->used = now;
> 160 br_forward(dst->dst, skb, local_rcv, false);
> 161 } else {
> 162 if (!mcast_hit)
> 163 br_flood(br, skb, pkt_type, local_rcv, false);
> 164 else
> 165 br_multicast_flood(mdst, skb, local_rcv, false);
> 166 }
> 167
> 168 if (local_rcv)
> 169 return br_pass_frame_up(skb);
> 170
> 171 out:
> 172 return 0;
> 173 drop:
> 174 kfree_skb(skb);
> 175 goto out;
> 176 }
> 177 EXPORT_SYMBOL_GPL(br_handle_frame_finish);
> 178
>
> ---
> 0-DAY CI Kernel Test Service, Intel Corporation
> https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
- Naresh
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [net-next:master 40/65] net/bridge/br_input.c:135:8: error: too many arguments to function 'br_multicast_is_router'
2021-05-14 10:06 ` Naresh Kamboju
@ 2021-05-14 10:12 ` Nikolay Aleksandrov
0 siblings, 0 replies; 3+ messages in thread
From: Nikolay Aleksandrov @ 2021-05-14 10:12 UTC (permalink / raw)
To: Naresh Kamboju, kernel test robot
Cc: Linus Lüssing, kbuild-all, Netdev, linux-mips,
Linux-Next Mailing List, Roopa Prabhu, David S. Miller,
Jakub Kicinski, bridge
On 14/05/2021 13:06, Naresh Kamboju wrote:
> [Please ignore this email if you already know these build failures]
>
> + Adding maintainers
>
> On Fri, 14 May 2021 at 06:35, kernel test robot <lkp@intel.com> wrote:
>>
>> tree: https://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next.git master
>> head: ea89c862f01e02ec459932c7c3113fa37aedd09a
>> commit: 1a3065a26807b4cdd65d3b696ddb18385610f7da [40/65] net: bridge: mcast: prepare is-router function for mcast router split
>> config: um-randconfig-s032-20210514 (attached as .config)
>> compiler: gcc-9 (Debian 9.3.0-22) 9.3.0
>> reproduce:
>> # apt-get install sparse
>> # sparse version: v0.6.3-341-g8af24329-dirty
>> # https://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next.git/commit/?id=1a3065a26807b4cdd65d3b696ddb18385610f7da
>> git remote add net-next https://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next.git
>> git fetch --no-tags net-next master
>> git checkout 1a3065a26807b4cdd65d3b696ddb18385610f7da
>> # save the attached .config to linux build tree
>> make W=1 C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' W=1 ARCH=um
>>
>> If you fix the issue, kindly add following tag as appropriate
>> Reported-by: kernel test robot <lkp@intel.com>
>>
>> All errors (new ones prefixed by >>):
>>
>> net/bridge/br_input.c: In function 'br_handle_frame_finish':
>>>> net/bridge/br_input.c:135:8: error: too many arguments to function 'br_multicast_is_router'
>> 135 | br_multicast_is_router(br, skb)) {
>> | ^~~~~~~~~~~~~~~~~~~~~~
>> In file included from net/bridge/br_input.c:23:
>> net/bridge/br_private.h:1059:20: note: declared here
>> 1059 | static inline bool br_multicast_is_router(struct net_bridge *br)
>> | ^~~~~~~~~~~~~~~~~~~~~~
>>
I have already sent a patch for this one:
https://patchwork.kernel.org/project/netdevbpf/patch/20210514073233.2564187-1-razor@blackwall.org/
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2021-05-14 10:12 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-05-14 1:04 [net-next:master 40/65] net/bridge/br_input.c:135:8: error: too many arguments to function 'br_multicast_is_router' kernel test robot
2021-05-14 10:06 ` Naresh Kamboju
2021-05-14 10:12 ` Nikolay Aleksandrov
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).