[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <202411011244.LrXOUj8p-lkp@intel.com>
Date: Fri, 1 Nov 2024 13:07:07 +0800
From: kernel test robot <lkp@...el.com>
To: Andrii Nakryiko <andrii@...nel.org>, linux-trace-kernel@...r.kernel.org,
bpf@...r.kernel.org, rostedt@...dmis.org, ast@...nel.org,
daniel@...earbox.net, martin.lau@...nel.org
Cc: oe-kbuild-all@...ts.linux.dev, mathieu.desnoyers@...icios.com,
linux-kernel@...r.kernel.org, mhiramat@...nel.org,
peterz@...radead.org, paulmck@...nel.org, jrife@...gle.com,
Andrii Nakryiko <andrii@...nel.org>
Subject: Re: [PATCH trace/for-next 2/3] bpf: decouple BPF link/attach hook
and BPF program sleepable semantics
Hi Andrii,
kernel test robot noticed the following build errors:
[auto build test ERROR on trace/for-next]
url: https://github.com/intel-lab-lkp/linux/commits/Andrii-Nakryiko/bpf-decouple-BPF-link-attach-hook-and-BPF-program-sleepable-semantics/20241101-051131
base: https://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace for-next
patch link: https://lore.kernel.org/r/20241031210938.1696639-2-andrii%40kernel.org
patch subject: [PATCH trace/for-next 2/3] bpf: decouple BPF link/attach hook and BPF program sleepable semantics
config: x86_64-defconfig (https://download.01.org/0day-ci/archive/20241101/202411011244.LrXOUj8p-lkp@intel.com/config)
compiler: gcc-11 (Debian 11.3.0-12) 11.3.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20241101/202411011244.LrXOUj8p-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/202411011244.LrXOUj8p-lkp@intel.com/
All errors (new ones prefixed by >>):
net/core/dev.c: In function 'bpf_xdp_link_attach':
>> net/core/dev.c:9767:9: error: too few arguments to function 'bpf_link_init'
9767 | bpf_link_init(&link->link, BPF_LINK_TYPE_XDP, &bpf_xdp_link_lops, prog);
| ^~~~~~~~~~~~~
In file included from include/linux/security.h:35,
from include/net/scm.h:9,
from include/linux/netlink.h:9,
from include/uapi/linux/neighbour.h:6,
from include/linux/netdevice.h:44,
from net/core/dev.c:92:
include/linux/bpf.h:2724:20: note: declared here
2724 | static inline void bpf_link_init(struct bpf_link *link, enum bpf_link_type type,
| ^~~~~~~~~~~~~
vim +/bpf_link_init +9767 net/core/dev.c
aa8d3a716b59db Andrii Nakryiko 2020-07-21 9744
aa8d3a716b59db Andrii Nakryiko 2020-07-21 9745 int bpf_xdp_link_attach(const union bpf_attr *attr, struct bpf_prog *prog)
aa8d3a716b59db Andrii Nakryiko 2020-07-21 9746 {
aa8d3a716b59db Andrii Nakryiko 2020-07-21 9747 struct net *net = current->nsproxy->net_ns;
aa8d3a716b59db Andrii Nakryiko 2020-07-21 9748 struct bpf_link_primer link_primer;
bf4ea1d0b2cb22 Leon Hwang 2023-08-01 9749 struct netlink_ext_ack extack = {};
aa8d3a716b59db Andrii Nakryiko 2020-07-21 9750 struct bpf_xdp_link *link;
aa8d3a716b59db Andrii Nakryiko 2020-07-21 9751 struct net_device *dev;
aa8d3a716b59db Andrii Nakryiko 2020-07-21 9752 int err, fd;
aa8d3a716b59db Andrii Nakryiko 2020-07-21 9753
5acc7d3e8d3428 Xuan Zhuo 2021-07-10 9754 rtnl_lock();
aa8d3a716b59db Andrii Nakryiko 2020-07-21 9755 dev = dev_get_by_index(net, attr->link_create.target_ifindex);
5acc7d3e8d3428 Xuan Zhuo 2021-07-10 9756 if (!dev) {
5acc7d3e8d3428 Xuan Zhuo 2021-07-10 9757 rtnl_unlock();
aa8d3a716b59db Andrii Nakryiko 2020-07-21 9758 return -EINVAL;
5acc7d3e8d3428 Xuan Zhuo 2021-07-10 9759 }
aa8d3a716b59db Andrii Nakryiko 2020-07-21 9760
aa8d3a716b59db Andrii Nakryiko 2020-07-21 9761 link = kzalloc(sizeof(*link), GFP_USER);
aa8d3a716b59db Andrii Nakryiko 2020-07-21 9762 if (!link) {
aa8d3a716b59db Andrii Nakryiko 2020-07-21 9763 err = -ENOMEM;
5acc7d3e8d3428 Xuan Zhuo 2021-07-10 9764 goto unlock;
aa8d3a716b59db Andrii Nakryiko 2020-07-21 9765 }
aa8d3a716b59db Andrii Nakryiko 2020-07-21 9766
aa8d3a716b59db Andrii Nakryiko 2020-07-21 @9767 bpf_link_init(&link->link, BPF_LINK_TYPE_XDP, &bpf_xdp_link_lops, prog);
aa8d3a716b59db Andrii Nakryiko 2020-07-21 9768 link->dev = dev;
aa8d3a716b59db Andrii Nakryiko 2020-07-21 9769 link->flags = attr->link_create.flags;
aa8d3a716b59db Andrii Nakryiko 2020-07-21 9770
aa8d3a716b59db Andrii Nakryiko 2020-07-21 9771 err = bpf_link_prime(&link->link, &link_primer);
aa8d3a716b59db Andrii Nakryiko 2020-07-21 9772 if (err) {
aa8d3a716b59db Andrii Nakryiko 2020-07-21 9773 kfree(link);
5acc7d3e8d3428 Xuan Zhuo 2021-07-10 9774 goto unlock;
aa8d3a716b59db Andrii Nakryiko 2020-07-21 9775 }
aa8d3a716b59db Andrii Nakryiko 2020-07-21 9776
bf4ea1d0b2cb22 Leon Hwang 2023-08-01 9777 err = dev_xdp_attach_link(dev, &extack, link);
aa8d3a716b59db Andrii Nakryiko 2020-07-21 9778 rtnl_unlock();
aa8d3a716b59db Andrii Nakryiko 2020-07-21 9779
aa8d3a716b59db Andrii Nakryiko 2020-07-21 9780 if (err) {
5acc7d3e8d3428 Xuan Zhuo 2021-07-10 9781 link->dev = NULL;
aa8d3a716b59db Andrii Nakryiko 2020-07-21 9782 bpf_link_cleanup(&link_primer);
bf4ea1d0b2cb22 Leon Hwang 2023-08-01 9783 trace_bpf_xdp_link_attach_failed(extack._msg);
aa8d3a716b59db Andrii Nakryiko 2020-07-21 9784 goto out_put_dev;
aa8d3a716b59db Andrii Nakryiko 2020-07-21 9785 }
aa8d3a716b59db Andrii Nakryiko 2020-07-21 9786
aa8d3a716b59db Andrii Nakryiko 2020-07-21 9787 fd = bpf_link_settle(&link_primer);
aa8d3a716b59db Andrii Nakryiko 2020-07-21 9788 /* link itself doesn't hold dev's refcnt to not complicate shutdown */
aa8d3a716b59db Andrii Nakryiko 2020-07-21 9789 dev_put(dev);
aa8d3a716b59db Andrii Nakryiko 2020-07-21 9790 return fd;
aa8d3a716b59db Andrii Nakryiko 2020-07-21 9791
5acc7d3e8d3428 Xuan Zhuo 2021-07-10 9792 unlock:
5acc7d3e8d3428 Xuan Zhuo 2021-07-10 9793 rtnl_unlock();
5acc7d3e8d3428 Xuan Zhuo 2021-07-10 9794
aa8d3a716b59db Andrii Nakryiko 2020-07-21 9795 out_put_dev:
aa8d3a716b59db Andrii Nakryiko 2020-07-21 9796 dev_put(dev);
aa8d3a716b59db Andrii Nakryiko 2020-07-21 9797 return err;
aa8d3a716b59db Andrii Nakryiko 2020-07-21 9798 }
aa8d3a716b59db Andrii Nakryiko 2020-07-21 9799
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
Powered by blists - more mailing lists