All of lore.kernel.org
 help / color / mirror / Atom feed
From: kernel test robot <lkp@intel.com>
To: kbuild-all@lists.01.org
Subject: Re: [RFC bpf-next 10/16] bpf: Add BPF_TRAMPOLINE_BATCH_DETACH support
Date: Thu, 22 Oct 2020 21:04:43 +0800	[thread overview]
Message-ID: <202010222120.LyQwVO9r-lkp@intel.com> (raw)
In-Reply-To: <20201022082138.2322434-11-jolsa@kernel.org>

[-- Attachment #1: Type: text/plain, Size: 7868 bytes --]

Hi Jiri,

[FYI, it's a private test report for your RFC patch.]
[auto build test ERROR on bpf-next/master]

url:    https://github.com/0day-ci/linux/commits/Jiri-Olsa/bpf-Speed-up-trampoline-attach/20201022-162338
base:   https://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-next.git master
config: x86_64-randconfig-a001-20201022 (attached as .config)
compiler: clang version 12.0.0 (https://github.com/llvm/llvm-project ee6abef5323d59b983129bf3514ef6775d1d6cd5)
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 x86_64 cross compiling tool for clang build
        # apt-get install binutils-x86-64-linux-gnu
        # https://github.com/0day-ci/linux/commit/df2d07719c4fd2fa52f40906d5d156e0ffe072f0
        git remote add linux-review https://github.com/0day-ci/linux
        git fetch --no-tags linux-review Jiri-Olsa/bpf-Speed-up-trampoline-attach/20201022-162338
        git checkout df2d07719c4fd2fa52f40906d5d156e0ffe072f0
        # save the attached .config to linux build tree
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=x86_64 

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 >>):

   kernel/bpf/syscall.c:2508:28: error: too many arguments to function call, expected 2, have 3
                                                   tr_link->trampoline, NULL));
                                                                        ^~~~
   include/linux/stddef.h:8:14: note: expanded from macro 'NULL'
   #define NULL ((void *)0)
                ^~~~~~~~~~~
   include/asm-generic/bug.h:102:25: note: expanded from macro 'WARN_ON_ONCE'
           int __ret_warn_on = !!(condition);                      \
                                  ^~~~~~~~~
   include/linux/bpf.h:712:19: note: 'bpf_trampoline_unlink_prog' declared here
   static inline int bpf_trampoline_unlink_prog(struct bpf_prog *prog,
                     ^
   kernel/bpf/syscall.c:2919:10: error: implicit declaration of function 'bpf_trampoline_batch_alloc' [-Werror,-Wimplicit-function-declaration]
           batch = bpf_trampoline_batch_alloc(count);
                   ^
   kernel/bpf/syscall.c:2919:10: note: did you mean 'bpf_trampoline_batch'?
   kernel/bpf/syscall.c:2885:12: note: 'bpf_trampoline_batch' declared here
   static int bpf_trampoline_batch(const union bpf_attr *attr, int cmd)
              ^
   kernel/bpf/syscall.c:2919:8: warning: incompatible integer to pointer conversion assigning to 'struct bpf_trampoline_batch *' from 'int' [-Wint-conversion]
           batch = bpf_trampoline_batch_alloc(count);
                 ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   kernel/bpf/syscall.c:2960:64: error: too many arguments to function call, expected 2, have 3
                           bpf_trampoline_unlink_prog(link->prog, tr_link->trampoline, batch);
                           ~~~~~~~~~~~~~~~~~~~~~~~~~~                                  ^~~~~
   include/linux/bpf.h:712:19: note: 'bpf_trampoline_unlink_prog' declared here
   static inline int bpf_trampoline_unlink_prog(struct bpf_prog *prog,
                     ^
   kernel/bpf/syscall.c:2966:9: error: implicit declaration of function 'register_ftrace_direct_ips' [-Werror,-Wimplicit-function-declaration]
                   ret = register_ftrace_direct_ips(batch->ips, batch->addrs, batch->idx);
                         ^
   kernel/bpf/syscall.c:2966:9: note: did you mean 'register_ftrace_direct'?
   include/linux/ftrace.h:300:19: note: 'register_ftrace_direct' declared here
   static inline int register_ftrace_direct(unsigned long ip, unsigned long addr)
                     ^
>> kernel/bpf/syscall.c:2968:9: error: implicit declaration of function 'unregister_ftrace_direct_ips' [-Werror,-Wimplicit-function-declaration]
                   ret = unregister_ftrace_direct_ips(batch->ips, batch->addrs, batch->idx);
                         ^
   kernel/bpf/syscall.c:2968:9: note: did you mean 'register_ftrace_direct_ips'?
   kernel/bpf/syscall.c:2966:9: note: 'register_ftrace_direct_ips' declared here
                   ret = register_ftrace_direct_ips(batch->ips, batch->addrs, batch->idx);
                         ^
   kernel/bpf/syscall.c:2975:2: error: implicit declaration of function 'bpf_trampoline_batch_free' [-Werror,-Wimplicit-function-declaration]
           bpf_trampoline_batch_free(batch);
           ^
   1 warning and 6 errors generated.

vim +/unregister_ftrace_direct_ips +2968 kernel/bpf/syscall.c

  2884	
  2885	static int bpf_trampoline_batch(const union bpf_attr *attr, int cmd)
  2886	{
  2887		void __user *uout = u64_to_user_ptr(attr->trampoline_batch.out);
  2888		void __user *uin = u64_to_user_ptr(attr->trampoline_batch.in);
  2889		struct bpf_trampoline_batch *batch = NULL;
  2890		struct bpf_prog *prog;
  2891		int count, ret, i, fd;
  2892		u32 *in, *out;
  2893	
  2894		if (CHECK_ATTR(BPF_RAW_TRACEPOINT_OPEN_BATCH))
  2895			return -EINVAL;
  2896	
  2897		if (!uin || !uout)
  2898			return -EINVAL;
  2899	
  2900		count = attr->trampoline_batch.count;
  2901	
  2902		in = kcalloc(count, sizeof(u32), GFP_KERNEL);
  2903		out = kcalloc(count, sizeof(u32), GFP_KERNEL);
  2904		if (!in || !out) {
  2905			kfree(in);
  2906			kfree(out);
  2907			return -ENOMEM;
  2908		}
  2909	
  2910		ret = copy_from_user(in, uin, count * sizeof(u32));
  2911		if (ret)
  2912			goto out_clean;
  2913	
  2914		/* test read out array */
  2915		ret = copy_to_user(uout, out, count * sizeof(u32));
  2916		if (ret)
  2917			goto out_clean;
  2918	
  2919		batch = bpf_trampoline_batch_alloc(count);
  2920		if (!batch)
  2921			goto out_clean;
  2922	
  2923		for (i = 0; i < count; i++) {
  2924			if (cmd == BPF_TRAMPOLINE_BATCH_ATTACH) {
  2925				prog = bpf_prog_get(in[i]);
  2926				if (IS_ERR(prog)) {
  2927					ret = PTR_ERR(prog);
  2928					goto out_clean;
  2929				}
  2930	
  2931				ret = -EINVAL;
  2932				if (prog->type != BPF_PROG_TYPE_TRACING)
  2933					goto out_clean;
  2934				if (prog->type == BPF_PROG_TYPE_TRACING &&
  2935				    prog->expected_attach_type == BPF_TRACE_RAW_TP)
  2936					goto out_clean;
  2937	
  2938				fd = bpf_tracing_prog_attach(prog, 0, 0, batch);
  2939				if (fd < 0)
  2940					goto out_clean;
  2941	
  2942				out[i] = fd;
  2943			} else {
  2944				struct bpf_tracing_link *tr_link;
  2945				struct bpf_link *link;
  2946	
  2947				link = bpf_link_get_from_fd(in[i]);
  2948				if (IS_ERR(link)) {
  2949					ret = PTR_ERR(link);
  2950					goto out_clean;
  2951				}
  2952	
  2953				if (link->type != BPF_LINK_TYPE_TRACING) {
  2954					ret = -EINVAL;
  2955					bpf_link_put(link);
  2956					goto out_clean;
  2957				}
  2958	
  2959				tr_link = container_of(link, struct bpf_tracing_link, link);
  2960				bpf_trampoline_unlink_prog(link->prog, tr_link->trampoline, batch);
  2961				bpf_link_put(link);
  2962			}
  2963		}
  2964	
  2965		if (cmd == BPF_TRAMPOLINE_BATCH_ATTACH)
  2966			ret = register_ftrace_direct_ips(batch->ips, batch->addrs, batch->idx);
  2967		else
> 2968			ret = unregister_ftrace_direct_ips(batch->ips, batch->addrs, batch->idx);
  2969	
  2970		if (!ret)
  2971			WARN_ON_ONCE(copy_to_user(uout, out, count * sizeof(u32)));
  2972	
  2973	out_clean:
  2974		/* XXX cleanup partialy attached array */
  2975		bpf_trampoline_batch_free(batch);
  2976		kfree(in);
  2977		kfree(out);
  2978		return ret;
  2979	}
  2980	

---
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: 31481 bytes --]

  parent reply	other threads:[~2020-10-22 13:04 UTC|newest]

Thread overview: 51+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-10-22  8:21 [RFC bpf-next 00/16] bpf: Speed up trampoline attach Jiri Olsa
2020-10-22  8:21 ` [RFC bpf-next 01/16] ftrace: Add check_direct_entry function Jiri Olsa
2020-10-22  8:21 ` [RFC bpf-next 02/16] ftrace: Add adjust_direct_size function Jiri Olsa
2020-10-22  8:21 ` [RFC bpf-next 03/16] ftrace: Add get/put_direct_func function Jiri Olsa
2020-10-22  8:21 ` [RFC bpf-next 04/16] ftrace: Add ftrace_set_filter_ips function Jiri Olsa
2020-10-22  8:21 ` [RFC bpf-next 05/16] ftrace: Add register_ftrace_direct_ips function Jiri Olsa
2020-10-22  8:21 ` [RFC bpf-next 06/16] ftrace: Add unregister_ftrace_direct_ips function Jiri Olsa
2020-10-22  8:21 ` [RFC bpf-next 07/16] kallsyms: Use rb tree for kallsyms name search Jiri Olsa
2020-10-28 18:25   ` Jiri Olsa
2020-10-28 21:15     ` Alexei Starovoitov
2020-10-29  9:29       ` Jiri Olsa
2020-10-29 22:45         ` Andrii Nakryiko
2020-10-28 22:40     ` Andrii Nakryiko
2020-10-29  9:33       ` Jiri Olsa
2020-10-22  8:21 ` [RFC bpf-next 08/16] bpf: Use delayed link free in bpf_link_put Jiri Olsa
2020-10-23 19:46   ` Andrii Nakryiko
2020-10-25 19:02     ` Jiri Olsa
2020-10-22  8:21 ` [RFC bpf-next 09/16] bpf: Add BPF_TRAMPOLINE_BATCH_ATTACH support Jiri Olsa
2020-10-22 11:55   ` kernel test robot
2020-10-22 11:57   ` kernel test robot
2020-10-23 20:03   ` Andrii Nakryiko
2020-10-23 20:31     ` Steven Rostedt
2020-10-23 22:23       ` Andrii Nakryiko
2020-10-25 19:41         ` Jiri Olsa
2020-10-26 23:19           ` Andrii Nakryiko
2020-10-22  8:21 ` [RFC bpf-next 10/16] bpf: Add BPF_TRAMPOLINE_BATCH_DETACH support Jiri Olsa
2020-10-22 13:00   ` kernel test robot
2020-10-22 13:04   ` kernel test robot [this message]
2020-10-22  8:21 ` [RFC bpf-next 11/16] bpf: Sync uapi bpf.h to tools Jiri Olsa
2020-10-22  8:21 ` [RFC bpf-next 12/16] bpf: Move synchronize_rcu_mult for batch processing (NOT TO BE MERGED) Jiri Olsa
2020-10-22  8:21 ` [RFC bpf-next 13/16] libbpf: Add trampoline batch attach support Jiri Olsa
2020-10-23 20:09   ` Andrii Nakryiko
2020-10-25 19:11     ` Jiri Olsa
2020-10-26 23:15       ` Andrii Nakryiko
2020-10-27 19:03         ` Jiri Olsa
2020-10-22  8:21 ` [RFC bpf-next 14/16] libbpf: Add trampoline batch detach support Jiri Olsa
2020-10-22  8:21 ` [RFC bpf-next 15/16] selftests/bpf: Add trampoline batch test Jiri Olsa
2020-10-22  8:21 ` [RFC bpf-next 16/16] selftests/bpf: Add attach batch test (NOT TO BE MERGED) Jiri Olsa
2020-10-22 13:35 ` [RFC bpf-next 00/16] bpf: Speed up trampoline attach Steven Rostedt
2020-10-22 14:11   ` Jiri Olsa
2020-10-22 14:42     ` Steven Rostedt
2020-10-22 16:21       ` Steven Rostedt
2020-10-22 20:52         ` Steven Rostedt
2020-10-23  6:09           ` Jiri Olsa
2020-10-23 13:50             ` Steven Rostedt
2020-10-25 19:01               ` Jiri Olsa
2020-10-27  4:30       ` Alexei Starovoitov
2020-10-27 13:14         ` Steven Rostedt
2020-10-27 14:28         ` Jiri Olsa
2020-10-28 21:13           ` Alexei Starovoitov
2020-10-29 11:09             ` Jiri Olsa

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=202010222120.LyQwVO9r-lkp@intel.com \
    --to=lkp@intel.com \
    --cc=kbuild-all@lists.01.org \
    /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.