From: kernel test robot <lkp@intel.com>
To: "Toke Høiland-Jørgensen" <toke@redhat.com>,
"Alexei Starovoitov" <ast@kernel.org>
Cc: kbuild-all@lists.01.org, Daniel Borkmann <daniel@iogearbox.net>,
Martin KaFai Lau <kafai@fb.com>, Song Liu <songliubraving@fb.com>,
Yonghong Song <yhs@fb.com>, Andrii Nakryiko <andriin@fb.com>,
John Fastabend <john.fastabend@gmail.com>,
KP Singh <kpsingh@chromium.org>,
netdev@vger.kernel.org, bpf@vger.kernel.org
Subject: Re: [PATCH bpf-next 3/6] bpf: support attaching freplace programs to multiple attach points
Date: Tue, 14 Jul 2020 07:16:04 +0800 [thread overview]
Message-ID: <202007140701.DsEkw2KF%lkp@intel.com> (raw)
In-Reply-To: <159467114297.370286.13434549915540848776.stgit@toke.dk>
[-- Attachment #1: Type: text/plain, Size: 10309 bytes --]
Hi "Toke,
I love your patch! Perhaps something to improve:
[auto build test WARNING on net-next/master]
[also build test WARNING on vhost/linux-next ipvs/master v5.8-rc5 next-20200713]
[cannot apply to bpf-next/master bpf/master net/master]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use as documented in
https://git-scm.com/docs/git-format-patch]
url: https://github.com/0day-ci/linux/commits/Toke-H-iland-J-rgensen/bpf-Support-multi-attach-for-freplace-programs/20200714-041410
base: https://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next.git 528ae84a34ffd40da5d3fbff740d28d6dc2c8f8a
config: nios2-allyesconfig (attached as .config)
compiler: nios2-linux-gcc (GCC) 9.3.0
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
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=nios2
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
All warnings (new ones prefixed by >>):
kernel/bpf/syscall.c: In function 'bpf_raw_tracepoint_open':
>> kernel/bpf/syscall.c:2831:1: warning: the frame size of 1172 bytes is larger than 1024 bytes [-Wframe-larger-than=]
2831 | }
| ^
vim +2831 kernel/bpf/syscall.c
c4f6699dfcb8558 Alexei Starovoitov 2018-03-28 2726
c4f6699dfcb8558 Alexei Starovoitov 2018-03-28 2727 static int bpf_raw_tracepoint_open(const union bpf_attr *attr)
c4f6699dfcb8558 Alexei Starovoitov 2018-03-28 2728 {
a3b80e1078943dc Andrii Nakryiko 2020-04-28 2729 struct bpf_link_primer link_primer;
95dcc8ca42c35eb Toke Høiland-Jørgensen 2020-07-13 2730 struct bpf_verifier_log log = {};
babf3164095b067 Andrii Nakryiko 2020-03-09 2731 struct bpf_raw_tp_link *link;
c4f6699dfcb8558 Alexei Starovoitov 2018-03-28 2732 struct bpf_raw_event_map *btp;
c4f6699dfcb8558 Alexei Starovoitov 2018-03-28 2733 struct bpf_prog *prog;
ac4414b5ca47d16 Alexei Starovoitov 2019-10-15 2734 const char *tp_name;
ac4414b5ca47d16 Alexei Starovoitov 2019-10-15 2735 char buf[128];
a3b80e1078943dc Andrii Nakryiko 2020-04-28 2736 int err;
c4f6699dfcb8558 Alexei Starovoitov 2018-03-28 2737
ac4414b5ca47d16 Alexei Starovoitov 2019-10-15 2738 if (CHECK_ATTR(BPF_RAW_TRACEPOINT_OPEN))
ac4414b5ca47d16 Alexei Starovoitov 2019-10-15 2739 return -EINVAL;
ac4414b5ca47d16 Alexei Starovoitov 2019-10-15 2740
ac4414b5ca47d16 Alexei Starovoitov 2019-10-15 2741 prog = bpf_prog_get(attr->raw_tracepoint.prog_fd);
ac4414b5ca47d16 Alexei Starovoitov 2019-10-15 2742 if (IS_ERR(prog))
ac4414b5ca47d16 Alexei Starovoitov 2019-10-15 2743 return PTR_ERR(prog);
ac4414b5ca47d16 Alexei Starovoitov 2019-10-15 2744
95dcc8ca42c35eb Toke Høiland-Jørgensen 2020-07-13 2745 if (attr->raw_tracepoint.log_level ||
95dcc8ca42c35eb Toke Høiland-Jørgensen 2020-07-13 2746 attr->raw_tracepoint.log_buf ||
95dcc8ca42c35eb Toke Høiland-Jørgensen 2020-07-13 2747 attr->raw_tracepoint.log_size) {
95dcc8ca42c35eb Toke Høiland-Jørgensen 2020-07-13 2748 /* user requested verbose verifier output
95dcc8ca42c35eb Toke Høiland-Jørgensen 2020-07-13 2749 * and supplied buffer to store the verification trace
95dcc8ca42c35eb Toke Høiland-Jørgensen 2020-07-13 2750 */
95dcc8ca42c35eb Toke Høiland-Jørgensen 2020-07-13 2751 log.level = attr->raw_tracepoint.log_level;
95dcc8ca42c35eb Toke Høiland-Jørgensen 2020-07-13 2752 log.ubuf = (char __user *) (unsigned long) attr->raw_tracepoint.log_buf;
95dcc8ca42c35eb Toke Høiland-Jørgensen 2020-07-13 2753 log.len_total = attr->raw_tracepoint.log_size;
95dcc8ca42c35eb Toke Høiland-Jørgensen 2020-07-13 2754
95dcc8ca42c35eb Toke Høiland-Jørgensen 2020-07-13 2755 /* log attributes have to be sane */
95dcc8ca42c35eb Toke Høiland-Jørgensen 2020-07-13 2756 if (log.len_total < 128 || log.len_total > UINT_MAX >> 2 ||
95dcc8ca42c35eb Toke Høiland-Jørgensen 2020-07-13 2757 !log.level || !log.ubuf || log.level & ~BPF_LOG_MASK)
95dcc8ca42c35eb Toke Høiland-Jørgensen 2020-07-13 2758 return -EINVAL;
95dcc8ca42c35eb Toke Høiland-Jørgensen 2020-07-13 2759 }
95dcc8ca42c35eb Toke Høiland-Jørgensen 2020-07-13 2760
9e4e01dfd3254c7 KP Singh 2020-03-29 2761 switch (prog->type) {
9e4e01dfd3254c7 KP Singh 2020-03-29 2762 case BPF_PROG_TYPE_TRACING:
9e4e01dfd3254c7 KP Singh 2020-03-29 2763 case BPF_PROG_TYPE_EXT:
9e4e01dfd3254c7 KP Singh 2020-03-29 2764 case BPF_PROG_TYPE_LSM:
ac4414b5ca47d16 Alexei Starovoitov 2019-10-15 2765 if (attr->raw_tracepoint.name) {
95dcc8ca42c35eb Toke Høiland-Jørgensen 2020-07-13 2766 /* The attach point for this category of programs should
95dcc8ca42c35eb Toke Høiland-Jørgensen 2020-07-13 2767 * be specified via btf_id during program load, or using
95dcc8ca42c35eb Toke Høiland-Jørgensen 2020-07-13 2768 * tgt_btf_id.
ac4414b5ca47d16 Alexei Starovoitov 2019-10-15 2769 */
ac4414b5ca47d16 Alexei Starovoitov 2019-10-15 2770 err = -EINVAL;
ac4414b5ca47d16 Alexei Starovoitov 2019-10-15 2771 goto out_put_prog;
ac4414b5ca47d16 Alexei Starovoitov 2019-10-15 2772 }
9e4e01dfd3254c7 KP Singh 2020-03-29 2773 if (prog->type == BPF_PROG_TYPE_TRACING &&
9e4e01dfd3254c7 KP Singh 2020-03-29 2774 prog->expected_attach_type == BPF_TRACE_RAW_TP) {
382072916044015 Martin KaFai Lau 2019-10-24 2775 tp_name = prog->aux->attach_func_name;
9e4e01dfd3254c7 KP Singh 2020-03-29 2776 break;
9e4e01dfd3254c7 KP Singh 2020-03-29 2777 }
95dcc8ca42c35eb Toke Høiland-Jørgensen 2020-07-13 2778 return bpf_tracing_prog_attach(prog,
95dcc8ca42c35eb Toke Høiland-Jørgensen 2020-07-13 2779 attr->raw_tracepoint.tgt_prog_fd,
95dcc8ca42c35eb Toke Høiland-Jørgensen 2020-07-13 2780 attr->raw_tracepoint.tgt_btf_id, &log);
9e4e01dfd3254c7 KP Singh 2020-03-29 2781 case BPF_PROG_TYPE_RAW_TRACEPOINT:
9e4e01dfd3254c7 KP Singh 2020-03-29 2782 case BPF_PROG_TYPE_RAW_TRACEPOINT_WRITABLE:
ac4414b5ca47d16 Alexei Starovoitov 2019-10-15 2783 if (strncpy_from_user(buf,
ac4414b5ca47d16 Alexei Starovoitov 2019-10-15 2784 u64_to_user_ptr(attr->raw_tracepoint.name),
ac4414b5ca47d16 Alexei Starovoitov 2019-10-15 2785 sizeof(buf) - 1) < 0) {
ac4414b5ca47d16 Alexei Starovoitov 2019-10-15 2786 err = -EFAULT;
ac4414b5ca47d16 Alexei Starovoitov 2019-10-15 2787 goto out_put_prog;
ac4414b5ca47d16 Alexei Starovoitov 2019-10-15 2788 }
ac4414b5ca47d16 Alexei Starovoitov 2019-10-15 2789 buf[sizeof(buf) - 1] = 0;
ac4414b5ca47d16 Alexei Starovoitov 2019-10-15 2790 tp_name = buf;
9e4e01dfd3254c7 KP Singh 2020-03-29 2791 break;
9e4e01dfd3254c7 KP Singh 2020-03-29 2792 default:
9e4e01dfd3254c7 KP Singh 2020-03-29 2793 err = -EINVAL;
9e4e01dfd3254c7 KP Singh 2020-03-29 2794 goto out_put_prog;
ac4414b5ca47d16 Alexei Starovoitov 2019-10-15 2795 }
c4f6699dfcb8558 Alexei Starovoitov 2018-03-28 2796
a38d1107f937ca9 Matt Mullins 2018-12-12 2797 btp = bpf_get_raw_tracepoint(tp_name);
ac4414b5ca47d16 Alexei Starovoitov 2019-10-15 2798 if (!btp) {
ac4414b5ca47d16 Alexei Starovoitov 2019-10-15 2799 err = -ENOENT;
ac4414b5ca47d16 Alexei Starovoitov 2019-10-15 2800 goto out_put_prog;
ac4414b5ca47d16 Alexei Starovoitov 2019-10-15 2801 }
c4f6699dfcb8558 Alexei Starovoitov 2018-03-28 2802
babf3164095b067 Andrii Nakryiko 2020-03-09 2803 link = kzalloc(sizeof(*link), GFP_USER);
babf3164095b067 Andrii Nakryiko 2020-03-09 2804 if (!link) {
a38d1107f937ca9 Matt Mullins 2018-12-12 2805 err = -ENOMEM;
a38d1107f937ca9 Matt Mullins 2018-12-12 2806 goto out_put_btp;
a38d1107f937ca9 Matt Mullins 2018-12-12 2807 }
f2e10bff16a0fdd Andrii Nakryiko 2020-04-28 2808 bpf_link_init(&link->link, BPF_LINK_TYPE_RAW_TRACEPOINT,
f2e10bff16a0fdd Andrii Nakryiko 2020-04-28 2809 &bpf_raw_tp_link_lops, prog);
babf3164095b067 Andrii Nakryiko 2020-03-09 2810 link->btp = btp;
c4f6699dfcb8558 Alexei Starovoitov 2018-03-28 2811
a3b80e1078943dc Andrii Nakryiko 2020-04-28 2812 err = bpf_link_prime(&link->link, &link_primer);
a3b80e1078943dc Andrii Nakryiko 2020-04-28 2813 if (err) {
babf3164095b067 Andrii Nakryiko 2020-03-09 2814 kfree(link);
babf3164095b067 Andrii Nakryiko 2020-03-09 2815 goto out_put_btp;
babf3164095b067 Andrii Nakryiko 2020-03-09 2816 }
c4f6699dfcb8558 Alexei Starovoitov 2018-03-28 2817
babf3164095b067 Andrii Nakryiko 2020-03-09 2818 err = bpf_probe_register(link->btp, prog);
babf3164095b067 Andrii Nakryiko 2020-03-09 2819 if (err) {
a3b80e1078943dc Andrii Nakryiko 2020-04-28 2820 bpf_link_cleanup(&link_primer);
babf3164095b067 Andrii Nakryiko 2020-03-09 2821 goto out_put_btp;
c4f6699dfcb8558 Alexei Starovoitov 2018-03-28 2822 }
babf3164095b067 Andrii Nakryiko 2020-03-09 2823
a3b80e1078943dc Andrii Nakryiko 2020-04-28 2824 return bpf_link_settle(&link_primer);
c4f6699dfcb8558 Alexei Starovoitov 2018-03-28 2825
a38d1107f937ca9 Matt Mullins 2018-12-12 2826 out_put_btp:
a38d1107f937ca9 Matt Mullins 2018-12-12 2827 bpf_put_raw_tracepoint(btp);
ac4414b5ca47d16 Alexei Starovoitov 2019-10-15 2828 out_put_prog:
ac4414b5ca47d16 Alexei Starovoitov 2019-10-15 2829 bpf_prog_put(prog);
c4f6699dfcb8558 Alexei Starovoitov 2018-03-28 2830 return err;
c4f6699dfcb8558 Alexei Starovoitov 2018-03-28 @2831 }
c4f6699dfcb8558 Alexei Starovoitov 2018-03-28 2832
---
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: 56600 bytes --]
WARNING: multiple messages have this Message-ID (diff)
From: kernel test robot <lkp@intel.com>
To: kbuild-all@lists.01.org
Subject: Re: [PATCH bpf-next 3/6] bpf: support attaching freplace programs to multiple attach points
Date: Tue, 14 Jul 2020 07:16:04 +0800 [thread overview]
Message-ID: <202007140701.DsEkw2KF%lkp@intel.com> (raw)
In-Reply-To: <159467114297.370286.13434549915540848776.stgit@toke.dk>
[-- Attachment #1: Type: text/plain, Size: 10501 bytes --]
Hi "Toke,
I love your patch! Perhaps something to improve:
[auto build test WARNING on net-next/master]
[also build test WARNING on vhost/linux-next ipvs/master v5.8-rc5 next-20200713]
[cannot apply to bpf-next/master bpf/master net/master]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use as documented in
https://git-scm.com/docs/git-format-patch]
url: https://github.com/0day-ci/linux/commits/Toke-H-iland-J-rgensen/bpf-Support-multi-attach-for-freplace-programs/20200714-041410
base: https://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next.git 528ae84a34ffd40da5d3fbff740d28d6dc2c8f8a
config: nios2-allyesconfig (attached as .config)
compiler: nios2-linux-gcc (GCC) 9.3.0
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
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=nios2
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
All warnings (new ones prefixed by >>):
kernel/bpf/syscall.c: In function 'bpf_raw_tracepoint_open':
>> kernel/bpf/syscall.c:2831:1: warning: the frame size of 1172 bytes is larger than 1024 bytes [-Wframe-larger-than=]
2831 | }
| ^
vim +2831 kernel/bpf/syscall.c
c4f6699dfcb8558 Alexei Starovoitov 2018-03-28 2726
c4f6699dfcb8558 Alexei Starovoitov 2018-03-28 2727 static int bpf_raw_tracepoint_open(const union bpf_attr *attr)
c4f6699dfcb8558 Alexei Starovoitov 2018-03-28 2728 {
a3b80e1078943dc Andrii Nakryiko 2020-04-28 2729 struct bpf_link_primer link_primer;
95dcc8ca42c35eb Toke Høiland-Jørgensen 2020-07-13 2730 struct bpf_verifier_log log = {};
babf3164095b067 Andrii Nakryiko 2020-03-09 2731 struct bpf_raw_tp_link *link;
c4f6699dfcb8558 Alexei Starovoitov 2018-03-28 2732 struct bpf_raw_event_map *btp;
c4f6699dfcb8558 Alexei Starovoitov 2018-03-28 2733 struct bpf_prog *prog;
ac4414b5ca47d16 Alexei Starovoitov 2019-10-15 2734 const char *tp_name;
ac4414b5ca47d16 Alexei Starovoitov 2019-10-15 2735 char buf[128];
a3b80e1078943dc Andrii Nakryiko 2020-04-28 2736 int err;
c4f6699dfcb8558 Alexei Starovoitov 2018-03-28 2737
ac4414b5ca47d16 Alexei Starovoitov 2019-10-15 2738 if (CHECK_ATTR(BPF_RAW_TRACEPOINT_OPEN))
ac4414b5ca47d16 Alexei Starovoitov 2019-10-15 2739 return -EINVAL;
ac4414b5ca47d16 Alexei Starovoitov 2019-10-15 2740
ac4414b5ca47d16 Alexei Starovoitov 2019-10-15 2741 prog = bpf_prog_get(attr->raw_tracepoint.prog_fd);
ac4414b5ca47d16 Alexei Starovoitov 2019-10-15 2742 if (IS_ERR(prog))
ac4414b5ca47d16 Alexei Starovoitov 2019-10-15 2743 return PTR_ERR(prog);
ac4414b5ca47d16 Alexei Starovoitov 2019-10-15 2744
95dcc8ca42c35eb Toke Høiland-Jørgensen 2020-07-13 2745 if (attr->raw_tracepoint.log_level ||
95dcc8ca42c35eb Toke Høiland-Jørgensen 2020-07-13 2746 attr->raw_tracepoint.log_buf ||
95dcc8ca42c35eb Toke Høiland-Jørgensen 2020-07-13 2747 attr->raw_tracepoint.log_size) {
95dcc8ca42c35eb Toke Høiland-Jørgensen 2020-07-13 2748 /* user requested verbose verifier output
95dcc8ca42c35eb Toke Høiland-Jørgensen 2020-07-13 2749 * and supplied buffer to store the verification trace
95dcc8ca42c35eb Toke Høiland-Jørgensen 2020-07-13 2750 */
95dcc8ca42c35eb Toke Høiland-Jørgensen 2020-07-13 2751 log.level = attr->raw_tracepoint.log_level;
95dcc8ca42c35eb Toke Høiland-Jørgensen 2020-07-13 2752 log.ubuf = (char __user *) (unsigned long) attr->raw_tracepoint.log_buf;
95dcc8ca42c35eb Toke Høiland-Jørgensen 2020-07-13 2753 log.len_total = attr->raw_tracepoint.log_size;
95dcc8ca42c35eb Toke Høiland-Jørgensen 2020-07-13 2754
95dcc8ca42c35eb Toke Høiland-Jørgensen 2020-07-13 2755 /* log attributes have to be sane */
95dcc8ca42c35eb Toke Høiland-Jørgensen 2020-07-13 2756 if (log.len_total < 128 || log.len_total > UINT_MAX >> 2 ||
95dcc8ca42c35eb Toke Høiland-Jørgensen 2020-07-13 2757 !log.level || !log.ubuf || log.level & ~BPF_LOG_MASK)
95dcc8ca42c35eb Toke Høiland-Jørgensen 2020-07-13 2758 return -EINVAL;
95dcc8ca42c35eb Toke Høiland-Jørgensen 2020-07-13 2759 }
95dcc8ca42c35eb Toke Høiland-Jørgensen 2020-07-13 2760
9e4e01dfd3254c7 KP Singh 2020-03-29 2761 switch (prog->type) {
9e4e01dfd3254c7 KP Singh 2020-03-29 2762 case BPF_PROG_TYPE_TRACING:
9e4e01dfd3254c7 KP Singh 2020-03-29 2763 case BPF_PROG_TYPE_EXT:
9e4e01dfd3254c7 KP Singh 2020-03-29 2764 case BPF_PROG_TYPE_LSM:
ac4414b5ca47d16 Alexei Starovoitov 2019-10-15 2765 if (attr->raw_tracepoint.name) {
95dcc8ca42c35eb Toke Høiland-Jørgensen 2020-07-13 2766 /* The attach point for this category of programs should
95dcc8ca42c35eb Toke Høiland-Jørgensen 2020-07-13 2767 * be specified via btf_id during program load, or using
95dcc8ca42c35eb Toke Høiland-Jørgensen 2020-07-13 2768 * tgt_btf_id.
ac4414b5ca47d16 Alexei Starovoitov 2019-10-15 2769 */
ac4414b5ca47d16 Alexei Starovoitov 2019-10-15 2770 err = -EINVAL;
ac4414b5ca47d16 Alexei Starovoitov 2019-10-15 2771 goto out_put_prog;
ac4414b5ca47d16 Alexei Starovoitov 2019-10-15 2772 }
9e4e01dfd3254c7 KP Singh 2020-03-29 2773 if (prog->type == BPF_PROG_TYPE_TRACING &&
9e4e01dfd3254c7 KP Singh 2020-03-29 2774 prog->expected_attach_type == BPF_TRACE_RAW_TP) {
382072916044015 Martin KaFai Lau 2019-10-24 2775 tp_name = prog->aux->attach_func_name;
9e4e01dfd3254c7 KP Singh 2020-03-29 2776 break;
9e4e01dfd3254c7 KP Singh 2020-03-29 2777 }
95dcc8ca42c35eb Toke Høiland-Jørgensen 2020-07-13 2778 return bpf_tracing_prog_attach(prog,
95dcc8ca42c35eb Toke Høiland-Jørgensen 2020-07-13 2779 attr->raw_tracepoint.tgt_prog_fd,
95dcc8ca42c35eb Toke Høiland-Jørgensen 2020-07-13 2780 attr->raw_tracepoint.tgt_btf_id, &log);
9e4e01dfd3254c7 KP Singh 2020-03-29 2781 case BPF_PROG_TYPE_RAW_TRACEPOINT:
9e4e01dfd3254c7 KP Singh 2020-03-29 2782 case BPF_PROG_TYPE_RAW_TRACEPOINT_WRITABLE:
ac4414b5ca47d16 Alexei Starovoitov 2019-10-15 2783 if (strncpy_from_user(buf,
ac4414b5ca47d16 Alexei Starovoitov 2019-10-15 2784 u64_to_user_ptr(attr->raw_tracepoint.name),
ac4414b5ca47d16 Alexei Starovoitov 2019-10-15 2785 sizeof(buf) - 1) < 0) {
ac4414b5ca47d16 Alexei Starovoitov 2019-10-15 2786 err = -EFAULT;
ac4414b5ca47d16 Alexei Starovoitov 2019-10-15 2787 goto out_put_prog;
ac4414b5ca47d16 Alexei Starovoitov 2019-10-15 2788 }
ac4414b5ca47d16 Alexei Starovoitov 2019-10-15 2789 buf[sizeof(buf) - 1] = 0;
ac4414b5ca47d16 Alexei Starovoitov 2019-10-15 2790 tp_name = buf;
9e4e01dfd3254c7 KP Singh 2020-03-29 2791 break;
9e4e01dfd3254c7 KP Singh 2020-03-29 2792 default:
9e4e01dfd3254c7 KP Singh 2020-03-29 2793 err = -EINVAL;
9e4e01dfd3254c7 KP Singh 2020-03-29 2794 goto out_put_prog;
ac4414b5ca47d16 Alexei Starovoitov 2019-10-15 2795 }
c4f6699dfcb8558 Alexei Starovoitov 2018-03-28 2796
a38d1107f937ca9 Matt Mullins 2018-12-12 2797 btp = bpf_get_raw_tracepoint(tp_name);
ac4414b5ca47d16 Alexei Starovoitov 2019-10-15 2798 if (!btp) {
ac4414b5ca47d16 Alexei Starovoitov 2019-10-15 2799 err = -ENOENT;
ac4414b5ca47d16 Alexei Starovoitov 2019-10-15 2800 goto out_put_prog;
ac4414b5ca47d16 Alexei Starovoitov 2019-10-15 2801 }
c4f6699dfcb8558 Alexei Starovoitov 2018-03-28 2802
babf3164095b067 Andrii Nakryiko 2020-03-09 2803 link = kzalloc(sizeof(*link), GFP_USER);
babf3164095b067 Andrii Nakryiko 2020-03-09 2804 if (!link) {
a38d1107f937ca9 Matt Mullins 2018-12-12 2805 err = -ENOMEM;
a38d1107f937ca9 Matt Mullins 2018-12-12 2806 goto out_put_btp;
a38d1107f937ca9 Matt Mullins 2018-12-12 2807 }
f2e10bff16a0fdd Andrii Nakryiko 2020-04-28 2808 bpf_link_init(&link->link, BPF_LINK_TYPE_RAW_TRACEPOINT,
f2e10bff16a0fdd Andrii Nakryiko 2020-04-28 2809 &bpf_raw_tp_link_lops, prog);
babf3164095b067 Andrii Nakryiko 2020-03-09 2810 link->btp = btp;
c4f6699dfcb8558 Alexei Starovoitov 2018-03-28 2811
a3b80e1078943dc Andrii Nakryiko 2020-04-28 2812 err = bpf_link_prime(&link->link, &link_primer);
a3b80e1078943dc Andrii Nakryiko 2020-04-28 2813 if (err) {
babf3164095b067 Andrii Nakryiko 2020-03-09 2814 kfree(link);
babf3164095b067 Andrii Nakryiko 2020-03-09 2815 goto out_put_btp;
babf3164095b067 Andrii Nakryiko 2020-03-09 2816 }
c4f6699dfcb8558 Alexei Starovoitov 2018-03-28 2817
babf3164095b067 Andrii Nakryiko 2020-03-09 2818 err = bpf_probe_register(link->btp, prog);
babf3164095b067 Andrii Nakryiko 2020-03-09 2819 if (err) {
a3b80e1078943dc Andrii Nakryiko 2020-04-28 2820 bpf_link_cleanup(&link_primer);
babf3164095b067 Andrii Nakryiko 2020-03-09 2821 goto out_put_btp;
c4f6699dfcb8558 Alexei Starovoitov 2018-03-28 2822 }
babf3164095b067 Andrii Nakryiko 2020-03-09 2823
a3b80e1078943dc Andrii Nakryiko 2020-04-28 2824 return bpf_link_settle(&link_primer);
c4f6699dfcb8558 Alexei Starovoitov 2018-03-28 2825
a38d1107f937ca9 Matt Mullins 2018-12-12 2826 out_put_btp:
a38d1107f937ca9 Matt Mullins 2018-12-12 2827 bpf_put_raw_tracepoint(btp);
ac4414b5ca47d16 Alexei Starovoitov 2019-10-15 2828 out_put_prog:
ac4414b5ca47d16 Alexei Starovoitov 2019-10-15 2829 bpf_prog_put(prog);
c4f6699dfcb8558 Alexei Starovoitov 2018-03-28 2830 return err;
c4f6699dfcb8558 Alexei Starovoitov 2018-03-28 @2831 }
c4f6699dfcb8558 Alexei Starovoitov 2018-03-28 2832
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org
[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 56600 bytes --]
next prev parent reply other threads:[~2020-07-14 0:08 UTC|newest]
Thread overview: 29+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-07-13 20:12 [PATCH bpf-next 0/6] bpf: Support multi-attach for freplace programs Toke Høiland-Jørgensen
2020-07-13 20:12 ` [PATCH bpf-next 1/6] bpf: change logging calls from verbose() to bpf_log() and use log pointer Toke Høiland-Jørgensen
2020-07-13 20:12 ` [PATCH bpf-next 2/6] bpf: verifier: refactor check_attach_btf_id() Toke Høiland-Jørgensen
2020-07-14 2:50 ` kernel test robot
2020-07-14 2:50 ` kernel test robot
2020-07-13 20:12 ` [PATCH bpf-next 3/6] bpf: support attaching freplace programs to multiple attach points Toke Høiland-Jørgensen
2020-07-13 23:16 ` kernel test robot [this message]
2020-07-13 23:16 ` kernel test robot
2020-07-13 20:12 ` [PATCH bpf-next 4/6] tools: add new members to bpf_attr.raw_tracepoint in bpf.h Toke Høiland-Jørgensen
2020-07-14 5:21 ` BPF logging infrastructure. Was: " Andrii Nakryiko
2020-07-14 12:12 ` Toke Høiland-Jørgensen
2020-07-14 19:14 ` Andrii Nakryiko
2020-07-14 20:47 ` Toke Høiland-Jørgensen
2020-07-14 21:58 ` Andrii Nakryiko
2020-07-14 22:19 ` Toke Høiland-Jørgensen
2020-07-14 23:11 ` Alexei Starovoitov
2020-07-15 12:56 ` Toke Høiland-Jørgensen
2020-07-15 23:41 ` Alexei Starovoitov
2020-07-16 1:11 ` Andrii Nakryiko
2020-07-16 5:44 ` Alexei Starovoitov
2020-07-16 19:59 ` Andrii Nakryiko
2020-07-16 20:19 ` Toke Høiland-Jørgensen
2020-07-17 3:09 ` Alexei Starovoitov
2020-07-18 3:54 ` Andrii Nakryiko
2020-07-20 22:30 ` Alexei Starovoitov
2020-07-21 3:00 ` Andrii Nakryiko
2020-07-15 19:02 ` Andrii Nakryiko
2020-07-13 20:12 ` [PATCH bpf-next 5/6] libbpf: add support for supplying target to bpf_raw_tracepoint_open() Toke Høiland-Jørgensen
2020-07-13 20:12 ` [PATCH bpf-next 6/6] selftests: add test for multiple attachments of freplace program Toke Høiland-Jørgensen
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=202007140701.DsEkw2KF%lkp@intel.com \
--to=lkp@intel.com \
--cc=andriin@fb.com \
--cc=ast@kernel.org \
--cc=bpf@vger.kernel.org \
--cc=daniel@iogearbox.net \
--cc=john.fastabend@gmail.com \
--cc=kafai@fb.com \
--cc=kbuild-all@lists.01.org \
--cc=kpsingh@chromium.org \
--cc=netdev@vger.kernel.org \
--cc=songliubraving@fb.com \
--cc=toke@redhat.com \
--cc=yhs@fb.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.