All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jiri Olsa <olsajiri@gmail.com>
To: kernel test robot <lkp@intel.com>
Cc: oe-kbuild-all@lists.linux.dev,
	Linux Memory Management List <linux-mm@kvack.org>,
	Alexei Starovoitov <ast@kernel.org>
Subject: Re: [linux-next:master 2368/6966] tools/testing/selftests/bpf/bpf_testmod/bpf_testmod.c:330:18: warning: no previous prototype for 'bpf_kfunc_call_test_offset'
Date: Mon, 5 Jun 2023 09:04:17 +0200	[thread overview]
Message-ID: <ZH2I8W2aUkJyPliD@krava> (raw)
In-Reply-To: <202306051319.EihCQZPs-lkp@intel.com>

On Mon, Jun 05, 2023 at 01:50:10PM +0800, kernel test robot wrote:
> tree:   https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git master
> head:   bc708bbd8260ee4eb3428b0109f5f3be661fae46
> commit: 65eb006d85a2ac0b23464808099726bd826e9877 [2368/6966] bpf: Move kernel test kfuncs to bpf_testmod
> compiler: gcc-12 (Debian 12.2.0-14) 12.2.0
> reproduce:
>         # https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/commit/?id=65eb006d85a2ac0b23464808099726bd826e9877
>         git remote add linux-next https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
>         git fetch --no-tags linux-next master
>         git checkout 65eb006d85a2ac0b23464808099726bd826e9877
>         make O=/tmp/kselftest headers
>         make O=/tmp/kselftest -C tools/testing/selftests
> 
> If you fix the issue, kindly add following tag where applicable
> | Reported-by: kernel test robot <lkp@intel.com>
> | Closes: https://lore.kernel.org/oe-kbuild-all/202306051319.EihCQZPs-lkp@intel.com/
> 
> All warnings (new ones prefixed by >>):
> 
>    tools/testing/selftests/bpf/bpf_testmod/bpf_testmod.c:199:1: warning: no previous prototype for 'bpf_testmod_test_read' [-Wmissing-prototypes]
>      199 | bpf_testmod_test_read(struct file *file, struct kobject *kobj,
>          | ^~~~~~~~~~~~~~~~~~~~~
>    tools/testing/selftests/bpf/bpf_testmod/bpf_testmod.c:259:1: warning: no previous prototype for 'bpf_testmod_test_write' [-Wmissing-prototypes]
>      259 | bpf_testmod_test_write(struct file *file, struct kobject *kobj,
>          | ^~~~~~~~~~~~~~~~~~~~~~
> >> tools/testing/selftests/bpf/bpf_testmod/bpf_testmod.c:330:18: warning: no previous prototype for 'bpf_kfunc_call_test_offset' [-Wmissing-prototypes]
>      330 | __bpf_kfunc void bpf_kfunc_call_test_offset(struct prog_test_ref_kfunc *p)
>          |                  ^~~~~~~~~~~~~~~~~~~~~~~~~~
> >> tools/testing/selftests/bpf/bpf_testmod/bpf_testmod.c:336:1: warning: no previous prototype for 'bpf_kfunc_call_memb_acquire' [-Wmissing-prototypes]
>      336 | bpf_kfunc_call_memb_acquire(void)
>          | ^~~~~~~~~~~~~~~~~~~~~~~~~~~
> >> tools/testing/selftests/bpf/bpf_testmod/bpf_testmod.c:342:18: warning: no previous prototype for 'bpf_kfunc_call_memb1_release' [-Wmissing-prototypes]
>      342 | __bpf_kfunc void bpf_kfunc_call_memb1_release(struct prog_test_member1 *p)
>          |                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
> >> tools/testing/selftests/bpf/bpf_testmod/bpf_testmod.c:394:18: warning: no previous prototype for 'bpf_kfunc_call_test_fail1' [-Wmissing-prototypes]
>      394 | __bpf_kfunc void bpf_kfunc_call_test_fail1(struct prog_test_fail1 *p)
>          |                  ^~~~~~~~~~~~~~~~~~~~~~~~~
> >> tools/testing/selftests/bpf/bpf_testmod/bpf_testmod.c:398:18: warning: no previous prototype for 'bpf_kfunc_call_test_fail2' [-Wmissing-prototypes]
>      398 | __bpf_kfunc void bpf_kfunc_call_test_fail2(struct prog_test_fail2 *p)
>          |                  ^~~~~~~~~~~~~~~~~~~~~~~~~
> >> tools/testing/selftests/bpf/bpf_testmod/bpf_testmod.c:402:18: warning: no previous prototype for 'bpf_kfunc_call_test_fail3' [-Wmissing-prototypes]
>      402 | __bpf_kfunc void bpf_kfunc_call_test_fail3(struct prog_test_fail3 *p)
>          |                  ^~~~~~~~~~~~~~~~~~~~~~~~~
> >> tools/testing/selftests/bpf/bpf_testmod/bpf_testmod.c:410:18: warning: no previous prototype for 'bpf_kfunc_call_test_mem_len_fail1' [-Wmissing-prototypes]
>      410 | __bpf_kfunc void bpf_kfunc_call_test_mem_len_fail1(void *mem, int len)
>          |                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>    tools/testing/selftests/bpf/bpf_testmod/bpf_testmod.c:465:14: warning: no previous prototype for 'bpf_fentry_shadow_test' [-Wmissing-prototypes]
>      465 | noinline int bpf_fentry_shadow_test(int a)
>          |              ^~~~~~~~~~~~~~~~~~~~~~

hi,
I can't reprduce, not event the old warnings..
is there perhaps specific .config you use for the kernel?

thanks,
jirka

> 
> 
> vim +/bpf_kfunc_call_test_offset +330 tools/testing/selftests/bpf/bpf_testmod/bpf_testmod.c
> 
>    329	
>  > 330	__bpf_kfunc void bpf_kfunc_call_test_offset(struct prog_test_ref_kfunc *p)
>    331	{
>    332		WARN_ON_ONCE(1);
>    333	}
>    334	
>    335	__bpf_kfunc struct prog_test_member *
>  > 336	bpf_kfunc_call_memb_acquire(void)
>    337	{
>    338		WARN_ON_ONCE(1);
>    339		return NULL;
>    340	}
>    341	
>  > 342	__bpf_kfunc void bpf_kfunc_call_memb1_release(struct prog_test_member1 *p)
>    343	{
>    344		WARN_ON_ONCE(1);
>    345	}
>    346	
>    347	static int *__bpf_kfunc_call_test_get_mem(struct prog_test_ref_kfunc *p, const int size)
>    348	{
>    349		if (size > 2 * sizeof(int))
>    350			return NULL;
>    351	
>    352		return (int *)p;
>    353	}
>    354	
>    355	__bpf_kfunc int *bpf_kfunc_call_test_get_rdwr_mem(struct prog_test_ref_kfunc *p,
>    356							  const int rdwr_buf_size)
>    357	{
>    358		return __bpf_kfunc_call_test_get_mem(p, rdwr_buf_size);
>    359	}
>    360	
>    361	__bpf_kfunc int *bpf_kfunc_call_test_get_rdonly_mem(struct prog_test_ref_kfunc *p,
>    362							    const int rdonly_buf_size)
>    363	{
>    364		return __bpf_kfunc_call_test_get_mem(p, rdonly_buf_size);
>    365	}
>    366	
>    367	/* the next 2 ones can't be really used for testing expect to ensure
>    368	 * that the verifier rejects the call.
>    369	 * Acquire functions must return struct pointers, so these ones are
>    370	 * failing.
>    371	 */
>    372	__bpf_kfunc int *bpf_kfunc_call_test_acq_rdonly_mem(struct prog_test_ref_kfunc *p,
>    373							    const int rdonly_buf_size)
>    374	{
>    375		return __bpf_kfunc_call_test_get_mem(p, rdonly_buf_size);
>    376	}
>    377	
>    378	__bpf_kfunc void bpf_kfunc_call_int_mem_release(int *p)
>    379	{
>    380	}
>    381	
>    382	__bpf_kfunc void bpf_kfunc_call_test_pass_ctx(struct __sk_buff *skb)
>    383	{
>    384	}
>    385	
>    386	__bpf_kfunc void bpf_kfunc_call_test_pass1(struct prog_test_pass1 *p)
>    387	{
>    388	}
>    389	
>    390	__bpf_kfunc void bpf_kfunc_call_test_pass2(struct prog_test_pass2 *p)
>    391	{
>    392	}
>    393	
>  > 394	__bpf_kfunc void bpf_kfunc_call_test_fail1(struct prog_test_fail1 *p)
>    395	{
>    396	}
>    397	
>  > 398	__bpf_kfunc void bpf_kfunc_call_test_fail2(struct prog_test_fail2 *p)
>    399	{
>    400	}
>    401	
>  > 402	__bpf_kfunc void bpf_kfunc_call_test_fail3(struct prog_test_fail3 *p)
>    403	{
>    404	}
>    405	
>    406	__bpf_kfunc void bpf_kfunc_call_test_mem_len_pass1(void *mem, int mem__sz)
>    407	{
>    408	}
>    409	
>  > 410	__bpf_kfunc void bpf_kfunc_call_test_mem_len_fail1(void *mem, int len)
>    411	{
>    412	}
>    413	
> 
> -- 
> 0-DAY CI Kernel Test Service
> https://github.com/intel/lkp-tests/wiki

  reply	other threads:[~2023-06-05  7:04 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-06-05  5:50 [linux-next:master 2368/6966] tools/testing/selftests/bpf/bpf_testmod/bpf_testmod.c:330:18: warning: no previous prototype for 'bpf_kfunc_call_test_offset' kernel test robot
2023-06-05  7:04 ` Jiri Olsa [this message]
2023-06-05 21:00   ` Jiri Olsa
2023-06-06  6:28     ` Liu, Yujie

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=ZH2I8W2aUkJyPliD@krava \
    --to=olsajiri@gmail.com \
    --cc=ast@kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=lkp@intel.com \
    --cc=oe-kbuild-all@lists.linux.dev \
    /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.