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@xxxxxxxxx> 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@xxxxxxxxxxxx
Attachment:
.config.gz
Description: application/gzip