mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Yonghong Song <yhs@fb.com>
To: kernel test robot <lkp@intel.com>
Cc: <kbuild-all@lists.01.org>, <linux-kernel@vger.kernel.org>,
	Daniel Borkmann <daniel@iogearbox.net>
Subject: Re: net/bpf/test_run.c:154:14: warning: no previous prototype for 'bpf_fentry_test7'
Date: Fri, 4 Jun 2021 08:52:30 -0700	[thread overview]
Message-ID: <b45f82d0-8bc1-7050-a939-4f5791c6981e@fb.com> (raw)
In-Reply-To: <202106041511.4rHRCtw2-lkp@intel.com>



On 6/4/21 12:50 AM, kernel test robot wrote:
> Hi Yonghong,
> 
> FYI, the error/warning still remains.
> 
> tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
> head:   f88cd3fb9df228e5ce4e13ec3dbad671ddb2146e
> commit: d923021c2ce12acb50dc7086a1bf66eed82adf6a bpf: Add tests for PTR_TO_BTF_ID vs. null comparison
> date:   11 months ago
> config: x86_64-rhel (attached as .config)
> compiler: gcc-6 (Ubuntu 6.4.0-17ubuntu1) 6.4.0 20180424
> reproduce (this is a W=1 build):
>          # https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=d923021c2ce12acb50dc7086a1bf66eed82adf6a
>          git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
>          git fetch --no-tags linus master
>          git checkout d923021c2ce12acb50dc7086a1bf66eed82adf6a
>          # save the attached .config to linux build tree
>          make W=1 ARCH=x86_64
> 
> If you fix the issue, kindly add following tag as appropriate
> Reported-by: kernel test robot <lkp@intel.com>
> 
> All warnings (new ones prefixed by >>):
> 
>     net/bpf/test_run.c:120:14: warning: no previous prototype for 'bpf_fentry_test1' [-Wmissing-prototypes]
>      int noinline bpf_fentry_test1(int a)
>                   ^~~~~~~~~~~~~~~~
>     net/bpf/test_run.c:125:14: warning: no previous prototype for 'bpf_fentry_test2' [-Wmissing-prototypes]
>      int noinline bpf_fentry_test2(int a, u64 b)
>                   ^~~~~~~~~~~~~~~~
>     net/bpf/test_run.c:130:14: warning: no previous prototype for 'bpf_fentry_test3' [-Wmissing-prototypes]
>      int noinline bpf_fentry_test3(char a, int b, u64 c)
>                   ^~~~~~~~~~~~~~~~
>     net/bpf/test_run.c:135:14: warning: no previous prototype for 'bpf_fentry_test4' [-Wmissing-prototypes]
>      int noinline bpf_fentry_test4(void *a, char b, int c, u64 d)
>                   ^~~~~~~~~~~~~~~~
>     net/bpf/test_run.c:140:14: warning: no previous prototype for 'bpf_fentry_test5' [-Wmissing-prototypes]
>      int noinline bpf_fentry_test5(u64 a, void *b, short c, int d, u64 e)
>                   ^~~~~~~~~~~~~~~~
>     net/bpf/test_run.c:145:14: warning: no previous prototype for 'bpf_fentry_test6' [-Wmissing-prototypes]
>      int noinline bpf_fentry_test6(u64 a, void *b, short c, int d, void *e, u64 f)
>                   ^~~~~~~~~~~~~~~~
>>> net/bpf/test_run.c:154:14: warning: no previous prototype for 'bpf_fentry_test7' [-Wmissing-prototypes]
>      int noinline bpf_fentry_test7(struct bpf_fentry_test_t *arg)
>                   ^~~~~~~~~~~~~~~~
>>> net/bpf/test_run.c:159:14: warning: no previous prototype for 'bpf_fentry_test8' [-Wmissing-prototypes]
>      int noinline bpf_fentry_test8(struct bpf_fentry_test_t *arg)
>                   ^~~~~~~~~~~~~~~~
>     net/bpf/test_run.c:164:14: warning: no previous prototype for 'bpf_modify_return_test' [-Wmissing-prototypes]
>      int noinline bpf_modify_return_test(int a, int *b)
>                   ^~~~~~~~~~~~~~~~~~~~~~

I think this has been discussed earlier.

In net/bpf/test_run.c, we have,

__diag_push();
__diag_ignore(GCC, 8, "-Wmissing-prototypes",
               "Global functions as their definitions will be in vmlinux 
BTF");
int noinline bpf_fentry_test1(int a)
{
         return a + 1;
}
...

Unfortunately, the __diag_ignore macro only effective for gcc8 and later.

So for gcc6, the above warning will be emitted. Is it possible for the 
tool to check and ignore this error if the gcc version is less than 8?


> 
> vim +/bpf_fentry_test7 +154 net/bpf/test_run.c
> 
>     153	
>   > 154	int noinline bpf_fentry_test7(struct bpf_fentry_test_t *arg)
>     155	{
>     156		return (long)arg;
>     157	}
>     158	
>   > 159	int noinline bpf_fentry_test8(struct bpf_fentry_test_t *arg)
>     160	{
>     161		return (long)arg->a;
>     162	}
>     163	
> 
> ---
> 0-DAY CI Kernel Test Service, Intel Corporation
> https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
> 

  reply	other threads:[~2021-06-04 15:52 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-06-04  7:50 kernel test robot
2021-06-04 15:52 ` Yonghong Song [this message]
2021-06-07  5:39   ` [kbuild-all] " Rong Chen

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=b45f82d0-8bc1-7050-a939-4f5791c6981e@fb.com \
    --to=yhs@fb.com \
    --cc=daniel@iogearbox.net \
    --cc=kbuild-all@lists.01.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=lkp@intel.com \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®