All of lore.kernel.org
 help / color / mirror / Atom feed
From: kernel test robot <lkp@intel.com>
To: Jiri Olsa <jolsa@kernel.org>
Cc: oe-kbuild-all@lists.linux.dev,
	Linux Memory Management List <linux-mm@kvack.org>,
	Alexei Starovoitov <ast@kernel.org>
Subject: [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 13:50:10 +0800	[thread overview]
Message-ID: <202306051319.EihCQZPs-lkp@intel.com> (raw)

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)
         |              ^~~~~~~~~~~~~~~~~~~~~~


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  5:50 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-06-05  5:50 kernel test robot [this message]
2023-06-05  7:04 ` [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' Jiri Olsa
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=202306051319.EihCQZPs-lkp@intel.com \
    --to=lkp@intel.com \
    --cc=ast@kernel.org \
    --cc=jolsa@kernel.org \
    --cc=linux-mm@kvack.org \
    --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.