[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <202410200600.GGC28WrU-lkp@intel.com>
Date: Sun, 20 Oct 2024 06:59:32 +0800
From: kernel test robot <lkp@...el.com>
To: Kuniyuki Iwashima <kuniyu@...zon.com>,
"David S. Miller" <davem@...emloft.net>,
Eric Dumazet <edumazet@...gle.com>,
Jakub Kicinski <kuba@...nel.org>, Paolo Abeni <pabeni@...hat.com>,
David Ahern <dsahern@...nel.org>
Cc: oe-kbuild-all@...ts.linux.dev, netdev@...r.kernel.org,
Kuniyuki Iwashima <kuniyu@...zon.com>
Subject: Re: [PATCH v1 net-next 06/11] ipv4: Convert RTM_DELADDR to per-netns
RTNL.
Hi Kuniyuki,
kernel test robot noticed the following build warnings:
[auto build test WARNING on net-next/main]
url: https://github.com/intel-lab-lkp/linux/commits/Kuniyuki-Iwashima/rtnetlink-Define-RTNL_FLAG_DOIT_PERNET-for-per-netns-RTNL-doit/20241018-092802
base: net-next/main
patch link: https://lore.kernel.org/r/20241018012225.90409-7-kuniyu%40amazon.com
patch subject: [PATCH v1 net-next 06/11] ipv4: Convert RTM_DELADDR to per-netns RTNL.
config: x86_64-randconfig-122-20241019 (https://download.01.org/0day-ci/archive/20241020/202410200600.GGC28WrU-lkp@intel.com/config)
compiler: gcc-12 (Debian 12.2.0-14) 12.2.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20241020/202410200600.GGC28WrU-lkp@intel.com/reproduce)
If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@...el.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202410200600.GGC28WrU-lkp@intel.com/
sparse warnings: (new ones prefixed by >>)
>> net/ipv4/devinet.c:676:47: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void *p @@ got struct in_ifaddr [noderef] __rcu * @@
net/ipv4/devinet.c:676:47: sparse: expected void *p
net/ipv4/devinet.c:676:47: sparse: got struct in_ifaddr [noderef] __rcu *
net/ipv4/devinet.c:946:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void *p @@ got struct in_ifaddr [noderef] __rcu *ifa_list @@
net/ipv4/devinet.c:946:9: sparse: expected void *p
net/ipv4/devinet.c:946:9: sparse: got struct in_ifaddr [noderef] __rcu *ifa_list
net/ipv4/devinet.c:946:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void *p @@ got struct in_ifaddr [noderef] __rcu *ifa_next @@
net/ipv4/devinet.c:946:9: sparse: expected void *p
net/ipv4/devinet.c:946:9: sparse: got struct in_ifaddr [noderef] __rcu *ifa_next
net/ipv4/devinet.c: note: in included file (through include/linux/inetdevice.h):
include/linux/rtnetlink.h:147:16: sparse: sparse: incompatible types in comparison expression (different address spaces):
include/linux/rtnetlink.h:147:16: sparse: void [noderef] __rcu *
include/linux/rtnetlink.h:147:16: sparse: void *
include/linux/rtnetlink.h:147:16: sparse: sparse: incompatible types in comparison expression (different address spaces):
include/linux/rtnetlink.h:147:16: sparse: void [noderef] __rcu *
include/linux/rtnetlink.h:147:16: sparse: void *
include/linux/rtnetlink.h:147:16: sparse: sparse: incompatible types in comparison expression (different address spaces):
include/linux/rtnetlink.h:147:16: sparse: void [noderef] __rcu *
include/linux/rtnetlink.h:147:16: sparse: void *
include/linux/rtnetlink.h:147:16: sparse: sparse: incompatible types in comparison expression (different address spaces):
include/linux/rtnetlink.h:147:16: sparse: void [noderef] __rcu *
include/linux/rtnetlink.h:147:16: sparse: void *
vim +676 net/ipv4/devinet.c
647
648 static int inet_rtm_deladdr(struct sk_buff *skb, struct nlmsghdr *nlh,
649 struct netlink_ext_ack *extack)
650 {
651 struct net *net = sock_net(skb->sk);
652 struct in_ifaddr __rcu **ifap;
653 struct nlattr *tb[IFA_MAX+1];
654 struct in_device *in_dev;
655 struct ifaddrmsg *ifm;
656 struct in_ifaddr *ifa;
657 int err;
658
659 err = nlmsg_parse_deprecated(nlh, sizeof(*ifm), tb, IFA_MAX,
660 ifa_ipv4_policy, extack);
661 if (err < 0)
662 goto out;
663
664 ifm = nlmsg_data(nlh);
665
666 rtnl_net_lock(net);
667
668 in_dev = inetdev_by_index(net, ifm->ifa_index);
669 if (!in_dev) {
670 NL_SET_ERR_MSG(extack, "ipv4: Device not found");
671 err = -ENODEV;
672 goto unlock;
673 }
674
675 for (ifap = &in_dev->ifa_list;
> 676 (ifa = rtnl_net_dereference(net, *ifap)) != NULL;
677 ifap = &ifa->ifa_next) {
678 if (tb[IFA_LOCAL] &&
679 ifa->ifa_local != nla_get_in_addr(tb[IFA_LOCAL]))
680 continue;
681
682 if (tb[IFA_LABEL] && nla_strcmp(tb[IFA_LABEL], ifa->ifa_label))
683 continue;
684
685 if (tb[IFA_ADDRESS] &&
686 (ifm->ifa_prefixlen != ifa->ifa_prefixlen ||
687 !inet_ifa_match(nla_get_in_addr(tb[IFA_ADDRESS]), ifa)))
688 continue;
689
690 if (ipv4_is_multicast(ifa->ifa_address))
691 ip_mc_autojoin_config(net, false, ifa);
692
693 __inet_del_ifa(in_dev, ifap, 1, nlh, NETLINK_CB(skb).portid);
694 goto unlock;
695 }
696
697 NL_SET_ERR_MSG(extack, "ipv4: Address not found");
698 err = -EADDRNOTAVAIL;
699 unlock:
700 rtnl_net_unlock(net);
701 out:
702 return err;
703 }
704
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
Powered by blists - more mailing lists