* [linux-next:master 10573/11438] drivers/net/vrf.c:1447:9: error: implicit declaration of function 'vrf_add_mac_header_if_unset'
@ 2020-12-08 6:35 kernel test robot
2020-12-08 15:09 ` Andrea Mayer
0 siblings, 1 reply; 2+ messages in thread
From: kernel test robot @ 2020-12-08 6:35 UTC (permalink / raw)
To: Andrea Mayer
Cc: kbuild-all, clang-built-linux, Linux Memory Management List,
Jakub Kicinski, David Ahern
[-- Attachment #1: Type: text/plain, Size: 2859 bytes --]
tree: https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git master
head: 15ac8fdb74403772780be1a8c4f7c1eff1040fc4
commit: 048939088220278b8ee5bbf3769fd2f803ca9e3e [10573/11438] vrf: add mac header for tunneled packets when sniffer is attached
config: arm-randconfig-r033-20201208 (attached as .config)
compiler: clang version 12.0.0 (https://github.com/llvm/llvm-project a2f922140f5380571fb74179f2bf622b3b925697)
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# install arm cross compiling tool for clang build
# apt-get install binutils-arm-linux-gnueabi
# https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/commit/?id=048939088220278b8ee5bbf3769fd2f803ca9e3e
git remote add linux-next https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
git fetch --no-tags linux-next master
git checkout 048939088220278b8ee5bbf3769fd2f803ca9e3e
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=arm
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 >>):
>> drivers/net/vrf.c:1447:9: error: implicit declaration of function 'vrf_add_mac_header_if_unset' [-Werror,-Wimplicit-function-declaration]
err = vrf_add_mac_header_if_unset(skb, vrf_dev, ETH_P_IP);
^
1 error generated.
vim +/vrf_add_mac_header_if_unset +1447 drivers/net/vrf.c
1423
1424 static struct sk_buff *vrf_ip_rcv(struct net_device *vrf_dev,
1425 struct sk_buff *skb)
1426 {
1427 skb->dev = vrf_dev;
1428 skb->skb_iif = vrf_dev->ifindex;
1429 IPCB(skb)->flags |= IPSKB_L3SLAVE;
1430
1431 if (ipv4_is_multicast(ip_hdr(skb)->daddr))
1432 goto out;
1433
1434 /* loopback traffic; do not push through packet taps again.
1435 * Reset pkt_type for upper layers to process skb
1436 */
1437 if (skb->pkt_type == PACKET_LOOPBACK) {
1438 skb->pkt_type = PACKET_HOST;
1439 goto out;
1440 }
1441
1442 vrf_rx_stats(vrf_dev, skb->len);
1443
1444 if (!list_empty(&vrf_dev->ptype_all)) {
1445 int err;
1446
> 1447 err = vrf_add_mac_header_if_unset(skb, vrf_dev, ETH_P_IP);
1448 if (likely(!err)) {
1449 skb_push(skb, skb->mac_len);
1450 dev_queue_xmit_nit(skb, vrf_dev);
1451 skb_pull(skb, skb->mac_len);
1452 }
1453 }
1454
1455 skb = vrf_rcv_nfhook(NFPROTO_IPV4, NF_INET_PRE_ROUTING, skb, vrf_dev);
1456 out:
1457 return skb;
1458 }
1459
---
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: 35937 bytes --]
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: [linux-next:master 10573/11438] drivers/net/vrf.c:1447:9: error: implicit declaration of function 'vrf_add_mac_header_if_unset'
2020-12-08 6:35 [linux-next:master 10573/11438] drivers/net/vrf.c:1447:9: error: implicit declaration of function 'vrf_add_mac_header_if_unset' kernel test robot
@ 2020-12-08 15:09 ` Andrea Mayer
0 siblings, 0 replies; 2+ messages in thread
From: Andrea Mayer @ 2020-12-08 15:09 UTC (permalink / raw)
To: kernel test robot
Cc: Andrea Mayer, kbuild-all, clang-built-linux,
Linux Memory Management List, Jakub Kicinski, David Ahern
On Tue, 8 Dec 2020 14:35:45 +0800
kernel test robot <lkp@intel.com> wrote:
> tree: https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git master
> head: 15ac8fdb74403772780be1a8c4f7c1eff1040fc4
> commit: 048939088220278b8ee5bbf3769fd2f803ca9e3e [10573/11438] vrf: add mac header for tunneled packets when sniffer is attached
> config: arm-randconfig-r033-20201208 (attached as .config)
> compiler: clang version 12.0.0 (https://github.com/llvm/llvm-project a2f922140f5380571fb74179f2bf622b3b925697)
> reproduce (this is a W=1 build):
> wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
> chmod +x ~/bin/make.cross
> # install arm cross compiling tool for clang build
> # apt-get install binutils-arm-linux-gnueabi
> # https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/commit/?id=048939088220278b8ee5bbf3769fd2f803ca9e3e
> git remote add linux-next https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
> git fetch --no-tags linux-next master
> git checkout 048939088220278b8ee5bbf3769fd2f803ca9e3e
> # save the attached .config to linux build tree
> COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=arm
>
> 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 >>):
>
> >> drivers/net/vrf.c:1447:9: error: implicit declaration of function 'vrf_add_mac_header_if_unset' [-Werror,-Wimplicit-function-declaration]
> err = vrf_add_mac_header_if_unset(skb, vrf_dev, ETH_P_IP);
> ^
> 1 error generated.
>
> vim +/vrf_add_mac_header_if_unset +1447 drivers/net/vrf.c
>
> 1423
> 1424 static struct sk_buff *vrf_ip_rcv(struct net_device *vrf_dev,
> 1425 struct sk_buff *skb)
> 1426 {
> 1427 skb->dev = vrf_dev;
> 1428 skb->skb_iif = vrf_dev->ifindex;
> 1429 IPCB(skb)->flags |= IPSKB_L3SLAVE;
> 1430
> 1431 if (ipv4_is_multicast(ip_hdr(skb)->daddr))
> 1432 goto out;
> 1433
> 1434 /* loopback traffic; do not push through packet taps again.
> 1435 * Reset pkt_type for upper layers to process skb
> 1436 */
> 1437 if (skb->pkt_type == PACKET_LOOPBACK) {
> 1438 skb->pkt_type = PACKET_HOST;
> 1439 goto out;
> 1440 }
> 1441
> 1442 vrf_rx_stats(vrf_dev, skb->len);
> 1443
> 1444 if (!list_empty(&vrf_dev->ptype_all)) {
> 1445 int err;
> 1446
> > 1447 err = vrf_add_mac_header_if_unset(skb, vrf_dev, ETH_P_IP);
> 1448 if (likely(!err)) {
> 1449 skb_push(skb, skb->mac_len);
> 1450 dev_queue_xmit_nit(skb, vrf_dev);
> 1451 skb_pull(skb, skb->mac_len);
> 1452 }
> 1453 }
> 1454
> 1455 skb = vrf_rcv_nfhook(NFPROTO_IPV4, NF_INET_PRE_ROUTING, skb, vrf_dev);
> 1456 out:
> 1457 return skb;
> 1458 }
> 1459
>
> ---
> 0-DAY CI Kernel Test Service, Intel Corporation
> https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
Hi all,
The vrf_add_mac_header_if_unset() is wrongly defined within a conditional
compilation block which depends on the CONFIG_IPV6 macro. Therefore, when the
CONFIG_IPV6 is not set, the function vrf_add_mac_header_if_unset() is missing
and the build process stops reporting the error.
The problem is easily solved by moving the function vrf_add_mac_header_if_unset()
out of the conditional block.
Shortly I will send the fix patch directly to "net-next".
Sorry for the inconvenience, thank you all.
Andrea
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2020-12-08 15:10 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-12-08 6:35 [linux-next:master 10573/11438] drivers/net/vrf.c:1447:9: error: implicit declaration of function 'vrf_add_mac_header_if_unset' kernel test robot
2020-12-08 15:09 ` Andrea Mayer
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).