[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 Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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@xxxxxxxxx>
| Closes: https://lore.kernel.org/oe-kbuild-all/202306051319.EihCQZPs-lkp@xxxxxxxxx/

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




[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux OMAP]     [Linux MIPS]     [eCos]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux