Hi Jakub,
I love your patch! Perhaps something to improve:
[auto build test WARNING on bpf-next/master]
url:
https://github.com/0day-ci/linux/commits/Jakub-Kicinski/bpf-remove-the-cg...
base:
https://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-next.git master
config: um-i386_defconfig
(
https://download.01.org/0day-ci/archive/20211216/202112160753.yRz2i2rn-lk...)
compiler: gcc-9 (Debian 9.3.0-22) 9.3.0
reproduce (this is a W=1 build):
#
https://github.com/0day-ci/linux/commit/4dc3a2bcf4720df1766ff9dc2bcbf14b3...
git remote add linux-review
https://github.com/0day-ci/linux
git fetch --no-tags linux-review
Jakub-Kicinski/bpf-remove-the-cgroup-bpf-header-dependecy/20211216-021426
git checkout 4dc3a2bcf4720df1766ff9dc2bcbf14b3f221a31
# save the config file to linux build tree
mkdir build_dir
make W=1 O=build_dir ARCH=um SUBARCH=i386 SHELL=/bin/bash
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All warnings (new ones prefixed by >>):
In file included from include/linux/trace_events.h:10,
from include/trace/syscall.h:7,
from include/linux/syscalls.h:88,
from init/main.c:21:
> include/linux/perf_event.h:1499:48: warning: 'struct
bpf_prog' declared inside parameter list will not be visible outside of this
definition or declaration
1499 | static inline void perf_event_bpf_event(struct
bpf_prog *prog,
| ^~~~~~~~
init/main.c:768:20: warning: no previous prototype for
'arch_post_acpi_subsys_init' [-Wmissing-prototypes]
768 | void __init __weak arch_post_acpi_subsys_init(void) { }
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
init/main.c:780:20: warning: no previous prototype for 'mem_encrypt_init'
[-Wmissing-prototypes]
780 | void __init __weak mem_encrypt_init(void) { }
| ^~~~~~~~~~~~~~~~
init/main.c:782:20: warning: no previous prototype for 'poking_init'
[-Wmissing-prototypes]
782 | void __init __weak poking_init(void) { }
| ^~~~~~~~~~~
--
In file included from include/linux/trace_events.h:10,
from include/trace/syscall.h:7,
from include/linux/syscalls.h:88,
from init/noinitramfs.c:11:
> include/linux/perf_event.h:1499:48: warning: 'struct
bpf_prog' declared inside parameter list will not be visible outside of this
definition or declaration
1499 | static inline void perf_event_bpf_event(struct
bpf_prog *prog,
| ^~~~~~~~
--
In file included from include/linux/trace_events.h:10,
from include/trace/syscall.h:7,
from include/linux/syscalls.h:88,
from arch/um/kernel/syscall.c:11:
> include/linux/perf_event.h:1499:48: warning: 'struct
bpf_prog' declared inside parameter list will not be visible outside of this
definition or declaration
1499 | static inline void perf_event_bpf_event(struct
bpf_prog *prog,
| ^~~~~~~~
arch/um/kernel/syscall.c:17:6: warning: no previous prototype for 'old_mmap'
[-Wmissing-prototypes]
17 | long old_mmap(unsigned long addr, unsigned long len,
| ^~~~~~~~
--
In file included from include/linux/trace_events.h:10,
from include/trace/syscall.h:7,
from include/linux/syscalls.h:88,
from arch/x86/um/tls_32.c:8:
> include/linux/perf_event.h:1499:48: warning: 'struct
bpf_prog' declared inside parameter list will not be visible outside of this
definition or declaration
1499 | static inline void perf_event_bpf_event(struct
bpf_prog *prog,
| ^~~~~~~~
arch/x86/um/tls_32.c:23:5: warning: no previous prototype for
'do_set_thread_area' [-Wmissing-prototypes]
23 | int do_set_thread_area(struct user_desc *info)
| ^~~~~~~~~~~~~~~~~~
arch/x86/um/tls_32.c:39:5: warning: no previous prototype for
'do_get_thread_area' [-Wmissing-prototypes]
39 | int do_get_thread_area(struct user_desc *info)
| ^~~~~~~~~~~~~~~~~~
arch/x86/um/tls_32.c:187:5: warning: no previous prototype for
'arch_switch_tls' [-Wmissing-prototypes]
187 | int arch_switch_tls(struct task_struct *to)
| ^~~~~~~~~~~~~~~
--
In file included from include/linux/trace_events.h:10,
from include/trace/syscall.h:7,
from include/linux/syscalls.h:88,
from kernel/fork.c:54:
> include/linux/perf_event.h:1499:48: warning: 'struct
bpf_prog' declared inside parameter list will not be visible outside of this
definition or declaration
1499 | static inline void perf_event_bpf_event(struct
bpf_prog *prog,
| ^~~~~~~~
kernel/fork.c:161:13: warning: no previous prototype for
'arch_release_task_struct' [-Wmissing-prototypes]
161 | void __weak arch_release_task_struct(struct task_struct *tsk)
| ^~~~~~~~~~~~~~~~~~~~~~~~
kernel/fork.c:763:20: warning: no previous prototype for 'arch_task_cache_init'
[-Wmissing-prototypes]
763 | void __init __weak arch_task_cache_init(void) { }
| ^~~~~~~~~~~~~~~~~~~~
kernel/fork.c:858:12: warning: no previous prototype for 'arch_dup_task_struct'
[-Wmissing-prototypes]
858 | int __weak arch_dup_task_struct(struct task_struct *dst,
| ^~~~~~~~~~~~~~~~~~~~
--
In file included from include/linux/trace_events.h:10,
from include/trace/syscall.h:7,
from include/linux/syscalls.h:88,
from kernel/exit.c:42:
> include/linux/perf_event.h:1499:48: warning: 'struct
bpf_prog' declared inside parameter list will not be visible outside of this
definition or declaration
1499 | static inline void perf_event_bpf_event(struct
bpf_prog *prog,
| ^~~~~~~~
kernel/exit.c:1817:13: warning: no previous prototype for 'abort'
[-Wmissing-prototypes]
1817 | __weak void abort(void)
| ^~~~~
--
In file included from include/linux/trace_events.h:10,
from include/trace/syscall.h:7,
from include/linux/syscalls.h:88,
from fs/pipe.c:24:
> include/linux/perf_event.h:1499:48: warning: 'struct
bpf_prog' declared inside parameter list will not be visible outside of this
definition or declaration
1499 | static inline void perf_event_bpf_event(struct
bpf_prog *prog,
| ^~~~~~~~
fs/pipe.c:755:15: warning: no previous prototype for 'account_pipe_buffers'
[-Wmissing-prototypes]
755 | unsigned long account_pipe_buffers(struct user_struct *user,
| ^~~~~~~~~~~~~~~~~~~~
fs/pipe.c:761:6: warning: no previous prototype for
'too_many_pipe_buffers_soft' [-Wmissing-prototypes]
761 | bool too_many_pipe_buffers_soft(unsigned long user_bufs)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
fs/pipe.c:768:6: warning: no previous prototype for
'too_many_pipe_buffers_hard' [-Wmissing-prototypes]
768 | bool too_many_pipe_buffers_hard(unsigned long user_bufs)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
fs/pipe.c:775:6: warning: no previous prototype for 'pipe_is_unprivileged_user'
[-Wmissing-prototypes]
775 | bool pipe_is_unprivileged_user(void)
| ^~~~~~~~~~~~~~~~~~~~~~~~~
fs/pipe.c:1245:5: warning: no previous prototype for 'pipe_resize_ring'
[-Wmissing-prototypes]
1245 | int pipe_resize_ring(struct pipe_inode_info *pipe, unsigned int nr_slots)
| ^~~~~~~~~~~~~~~~
--
In file included from include/linux/trace_events.h:10,
from include/trace/syscall.h:7,
from include/linux/syscalls.h:88,
from fs/d_path.c:2:
> include/linux/perf_event.h:1499:48: warning: 'struct
bpf_prog' declared inside parameter list will not be visible outside of this
definition or declaration
1499 | static inline void perf_event_bpf_event(struct
bpf_prog *prog,
| ^~~~~~~~
fs/d_path.c:318:7: warning: no previous prototype for 'simple_dname'
[-Wmissing-prototypes]
318 | char *simple_dname(struct dentry *dentry, char *buffer, int buflen)
| ^~~~~~~~~~~~
--
In file included from include/linux/trace_events.h:10,
from include/trace/syscall.h:7,
from include/linux/syscalls.h:88,
from fs/io_uring.c:45:
> include/linux/perf_event.h:1499:48: warning: 'struct
bpf_prog' declared inside parameter list will not be visible outside of this
definition or declaration
1499 | static inline void perf_event_bpf_event(struct
bpf_prog *prog,
| ^~~~~~~~
fs/io_uring.c: In function '__io_submit_flush_completions':
fs/io_uring.c:2403:33: warning: variable 'prev' set but not used
[-Wunused-but-set-variable]
2403 | struct io_wq_work_node *node, *prev;
| ^~~~
--
In file included from include/linux/trace_events.h:10,
from include/trace/syscall.h:7,
from include/linux/syscalls.h:88,
from kernel/time/timer.c:35:
> include/linux/perf_event.h:1499:48: warning: 'struct
bpf_prog' declared inside parameter list will not be visible outside of this
definition or declaration
1499 | static inline void perf_event_bpf_event(struct
bpf_prog *prog,
| ^~~~~~~~
kernel/time/timer.c:254:5: warning: no previous prototype for
'timer_migration_handler' [-Wmissing-prototypes]
254 | int timer_migration_handler(struct ctl_table *table, int write,
| ^~~~~~~~~~~~~~~~~~~~~~~
--
In file included from include/linux/trace_events.h:10,
from include/trace/syscall.h:7,
from include/linux/syscalls.h:88,
from kernel/time/hrtimer.c:30:
> include/linux/perf_event.h:1499:48: warning: 'struct
bpf_prog' declared inside parameter list will not be visible outside of this
definition or declaration
1499 | static inline void perf_event_bpf_event(struct
bpf_prog *prog,
| ^~~~~~~~
kernel/time/hrtimer.c:120:21: warning: initialized field overwritten [-Woverride-init]
120 | [CLOCK_REALTIME] = HRTIMER_BASE_REALTIME,
| ^~~~~~~~~~~~~~~~~~~~~
kernel/time/hrtimer.c:120:21: note: (near initialization for
'hrtimer_clock_to_base_table[0]')
kernel/time/hrtimer.c:121:22: warning: initialized field overwritten [-Woverride-init]
121 | [CLOCK_MONOTONIC] = HRTIMER_BASE_MONOTONIC,
| ^~~~~~~~~~~~~~~~~~~~~~
kernel/time/hrtimer.c:121:22: note: (near initialization for
'hrtimer_clock_to_base_table[1]')
kernel/time/hrtimer.c:122:21: warning: initialized field overwritten [-Woverride-init]
122 | [CLOCK_BOOTTIME] = HRTIMER_BASE_BOOTTIME,
| ^~~~~~~~~~~~~~~~~~~~~
kernel/time/hrtimer.c:122:21: note: (near initialization for
'hrtimer_clock_to_base_table[7]')
kernel/time/hrtimer.c:123:17: warning: initialized field overwritten [-Woverride-init]
123 | [CLOCK_TAI] = HRTIMER_BASE_TAI,
| ^~~~~~~~~~~~~~~~
kernel/time/hrtimer.c:123:17: note: (near initialization for
'hrtimer_clock_to_base_table[11]')
kernel/time/hrtimer.c: In function '__run_hrtimer':
kernel/time/hrtimer.c:1648:7: warning: variable 'expires_in_hardirq' set but
not used [-Wunused-but-set-variable]
1648 | bool expires_in_hardirq;
| ^~~~~~~~~~~~~~~~~~
..
vim +1499 include/linux/perf_event.h
76193a94522f1d include/linux/perf_event.h Song Liu 2019-01-17 1495
76193a94522f1d include/linux/perf_event.h Song Liu 2019-01-17 1496 typedef
int (perf_ksymbol_get_name_f)(char *name, int name_len, void *data);
76193a94522f1d include/linux/perf_event.h Song Liu 2019-01-17 1497 static
inline void perf_event_ksymbol(u16 ksym_type, u64 addr, u32 len,
76193a94522f1d include/linux/perf_event.h Song Liu 2019-01-17 1498
bool unregister, const char *sym) { }
6ee52e2a3fe4ea include/linux/perf_event.h Song Liu 2019-01-17 @1499 static
inline void perf_event_bpf_event(struct bpf_prog *prog,
6ee52e2a3fe4ea include/linux/perf_event.h Song Liu 2019-01-17 1500
enum perf_bpf_event_type type,
6ee52e2a3fe4ea include/linux/perf_event.h Song Liu 2019-01-17 1501 u16
flags) { }
e041e328c4b41e include/linux/perf_event.h Peter Zijlstra 2014-05-21 1502 static
inline void perf_event_exec(void) { }
82b897782d10fc include/linux/perf_event.h Adrian Hunter 2014-05-28 1503 static
inline void perf_event_comm(struct task_struct *tsk, bool exec) { }
e422267322cd31 include/linux/perf_event.h Hari Bathini 2017-03-08 1504 static
inline void perf_event_namespaces(struct task_struct *tsk) { }
cdd6c482c9ff9c include/linux/perf_event.h Ingo Molnar 2009-09-21 1505 static
inline void perf_event_fork(struct task_struct *tsk) { }
e17d43b93e544f include/linux/perf_event.h Adrian Hunter 2020-05-12 1506 static
inline void perf_event_text_poke(const void *addr,
e17d43b93e544f include/linux/perf_event.h Adrian Hunter 2020-05-12 1507
const void *old_bytes,
e17d43b93e544f include/linux/perf_event.h Adrian Hunter 2020-05-12 1508
size_t old_len,
e17d43b93e544f include/linux/perf_event.h Adrian Hunter 2020-05-12 1509
const void *new_bytes,
e17d43b93e544f include/linux/perf_event.h Adrian Hunter 2020-05-12 1510
size_t new_len) { }
cdd6c482c9ff9c include/linux/perf_event.h Ingo Molnar 2009-09-21 1511 static
inline void perf_event_init(void) { }
4ed7c92d68a538 include/linux/perf_event.h Peter Zijlstra 2009-11-23 1512 static
inline int perf_swevent_get_recursion_context(void) { return -1; }
4ed7c92d68a538 include/linux/perf_event.h Peter Zijlstra 2009-11-23 1513 static
inline void perf_swevent_put_recursion_context(int rctx) { }
ab573844e3058e include/linux/perf_event.h Jiri Olsa 2013-05-01 1514 static
inline u64 perf_swevent_set_period(struct perf_event *event) { return 0; }
44234adcdce38f include/linux/perf_event.h Frederic Weisbecker 2009-12-09 1515 static
inline void perf_event_enable(struct perf_event *event) { }
44234adcdce38f include/linux/perf_event.h Frederic Weisbecker 2009-12-09 1516 static
inline void perf_event_disable(struct perf_event *event) { }
500ad2d8b01390 include/linux/perf_event.h K.Prasad 2012-08-02 1517 static
inline int __perf_event_disable(void *info) { return -1; }
e9d2b064149ff7 include/linux/perf_event.h Peter Zijlstra 2010-09-17 1518 static
inline void perf_event_task_tick(void) { }
ffe8690c85b842 include/linux/perf_event.h Kaixu Xia 2015-08-06 1519 static
inline int perf_event_release_kernel(struct perf_event *event) { return 0; }
3ca270fc9edb25 include/linux/perf_event.h Like Xu 2019-10-27 1520 static
inline int perf_event_period(struct perf_event *event, u64 value)
3ca270fc9edb25 include/linux/perf_event.h Like Xu 2019-10-27 1521 {
3ca270fc9edb25 include/linux/perf_event.h Like Xu 2019-10-27 1522 return
-EINVAL;
3ca270fc9edb25 include/linux/perf_event.h Like Xu 2019-10-27 1523 }
52ba4b0b99770e include/linux/perf_event.h Like Xu 2019-10-27 1524 static
inline u64 perf_event_pause(struct perf_event *event, bool reset)
52ba4b0b99770e include/linux/perf_event.h Like Xu 2019-10-27 1525 {
52ba4b0b99770e include/linux/perf_event.h Like Xu 2019-10-27 1526 return
0;
52ba4b0b99770e include/linux/perf_event.h Like Xu 2019-10-27 1527 }
0793a61d4df8da include/linux/perf_counter.h Thomas Gleixner 2008-12-04 1528 #endif
0793a61d4df8da include/linux/perf_counter.h Thomas Gleixner 2008-12-04 1529
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org