Hi Casey, I love your patch! Yet something to improve: [auto build test ERROR on pcmoore-audit/next] [also build test ERROR on nf-next/master nf/master linus/master v5.17-rc2 next-20220202] [cannot apply to jmorris-security/next-testing] [If your patch is applied to the wrong git tree, kindly drop us a note. And when submitting patch, we suggest to use '--base' as documented in https://git-scm.com/docs/git-format-patch] url: https://github.com/0day-ci/linux/commits/Casey-Schaufler/integrity-disassociate-ima_filter_rule-from-security_audit_rule/20220203-085302 base: https://git.kernel.org/pub/scm/linux/kernel/git/pcmoore/audit.git next config: riscv-randconfig-r042-20220130 (https://download.01.org/0day-ci/archive/20220203/202202031345.IMqZIIpG-lkp(a)intel.com/config) compiler: riscv64-linux-gcc (GCC) 11.2.0 reproduce (this is a W=1 build): wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # https://github.com/0day-ci/linux/commit/a1d8d5f6af21550809605bec3238537224a83ba6 git remote add linux-review https://github.com/0day-ci/linux git fetch --no-tags linux-review Casey-Schaufler/integrity-disassociate-ima_filter_rule-from-security_audit_rule/20220203-085302 git checkout a1d8d5f6af21550809605bec3238537224a83ba6 # save the config file to linux build tree mkdir build_dir COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross O=build_dir ARCH=riscv SHELL=/bin/bash If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot All errors (new ones prefixed by >>): In file included from include/linux/fsnotify.h:16, from fs/debugfs/inode.c:23: >> include/linux/audit.h:262:1: error: expected identifier or '(' before '{' token 262 | { } | ^ include/linux/audit.h:260:20: warning: 'audit_log_object_context' declared 'static' but never defined [-Wunused-function] 260 | static inline void audit_log_object_context(struct audit_buffer *ab, | ^~~~~~~~~~~~~~~~~~~~~~~~ -- In file included from kernel/fork.c:64: >> include/linux/audit.h:262:1: error: expected identifier or '(' before '{' token 262 | { } | ^ kernel/fork.c:162:13: warning: no previous prototype for 'arch_release_task_struct' [-Wmissing-prototypes] 162 | void __weak arch_release_task_struct(struct task_struct *tsk) | ^~~~~~~~~~~~~~~~~~~~~~~~ kernel/fork.c:764:20: warning: no previous prototype for 'arch_task_cache_init' [-Wmissing-prototypes] 764 | void __init __weak arch_task_cache_init(void) { } | ^~~~~~~~~~~~~~~~~~~~ In file included from kernel/fork.c:64: include/linux/audit.h:260:20: warning: 'audit_log_object_context' declared 'static' but never defined [-Wunused-function] 260 | static inline void audit_log_object_context(struct audit_buffer *ab, | ^~~~~~~~~~~~~~~~~~~~~~~~ -- In file included from kernel/exit.c:49: >> include/linux/audit.h:262:1: error: expected identifier or '(' before '{' token 262 | { } | ^ kernel/exit.c:1824:13: warning: no previous prototype for 'abort' [-Wmissing-prototypes] 1824 | __weak void abort(void) | ^~~~~ In file included from kernel/exit.c:49: include/linux/audit.h:260:20: warning: 'audit_log_object_context' declared 'static' but never defined [-Wunused-function] 260 | static inline void audit_log_object_context(struct audit_buffer *ab, | ^~~~~~~~~~~~~~~~~~~~~~~~ -- In file included from kernel/module.c:59: >> include/linux/audit.h:262:1: error: expected identifier or '(' before '{' token 262 | { } | ^ kernel/module.c:4817:6: warning: no previous prototype for 'module_layout' [-Wmissing-prototypes] 4817 | void module_layout(struct module *mod, | ^~~~~~~~~~~~~ In file included from kernel/module.c:59: include/linux/audit.h:260:20: warning: 'audit_log_object_context' declared 'static' but never defined [-Wunused-function] 260 | static inline void audit_log_object_context(struct audit_buffer *ab, | ^~~~~~~~~~~~~~~~~~~~~~~~ -- In file included from fs/pipe.c:23: >> include/linux/audit.h:262:1: error: expected identifier or '(' before '{' token 262 | { } | ^ fs/pipe.c:756:15: warning: no previous prototype for 'account_pipe_buffers' [-Wmissing-prototypes] 756 | unsigned long account_pipe_buffers(struct user_struct *user, | ^~~~~~~~~~~~~~~~~~~~ fs/pipe.c:762:6: warning: no previous prototype for 'too_many_pipe_buffers_soft' [-Wmissing-prototypes] 762 | bool too_many_pipe_buffers_soft(unsigned long user_bufs) | ^~~~~~~~~~~~~~~~~~~~~~~~~~ fs/pipe.c:769:6: warning: no previous prototype for 'too_many_pipe_buffers_hard' [-Wmissing-prototypes] 769 | bool too_many_pipe_buffers_hard(unsigned long user_bufs) | ^~~~~~~~~~~~~~~~~~~~~~~~~~ fs/pipe.c:776:6: warning: no previous prototype for 'pipe_is_unprivileged_user' [-Wmissing-prototypes] 776 | bool pipe_is_unprivileged_user(void) | ^~~~~~~~~~~~~~~~~~~~~~~~~ fs/pipe.c:1246:5: warning: no previous prototype for 'pipe_resize_ring' [-Wmissing-prototypes] 1246 | int pipe_resize_ring(struct pipe_inode_info *pipe, unsigned int nr_slots) | ^~~~~~~~~~~~~~~~ In file included from fs/pipe.c:23: include/linux/audit.h:260:20: warning: 'audit_log_object_context' declared 'static' but never defined [-Wunused-function] 260 | static inline void audit_log_object_context(struct audit_buffer *ab, | ^~~~~~~~~~~~~~~~~~~~~~~~ -- In file included from include/linux/fsnotify.h:16, from fs/io_uring.c:74: >> include/linux/audit.h:262:1: error: expected identifier or '(' before '{' token 262 | { } | ^ fs/io_uring.c: In function '__io_submit_flush_completions': fs/io_uring.c:2523:40: warning: variable 'prev' set but not used [-Wunused-but-set-variable] 2523 | struct io_wq_work_node *node, *prev; | ^~~~ In file included from include/linux/fsnotify.h:16, from fs/io_uring.c:74: fs/io_uring.c: At top level: include/linux/audit.h:260:20: warning: 'audit_log_object_context' declared 'static' but never defined [-Wunused-function] 260 | static inline void audit_log_object_context(struct audit_buffer *ab, | ^~~~~~~~~~~~~~~~~~~~~~~~ -- In file included from include/linux/fsnotify.h:16, from kernel/trace/trace.c:49: >> include/linux/audit.h:262:1: error: expected identifier or '(' before '{' token 262 | { } | ^ kernel/trace/trace.c: In function 'trace_check_vprintf': kernel/trace/trace.c:3822:17: warning: function 'trace_check_vprintf' might be a candidate for 'gnu_printf' format attribute [-Wsuggest-attribute=format] 3822 | trace_seq_vprintf(&iter->seq, iter->fmt, ap); | ^~~~~~~~~~~~~~~~~ kernel/trace/trace.c:3889:17: warning: function 'trace_check_vprintf' might be a candidate for 'gnu_printf' format attribute [-Wsuggest-attribute=format] 3889 | trace_seq_vprintf(&iter->seq, p, ap); | ^~~~~~~~~~~~~~~~~ In file included from include/linux/fsnotify.h:16, from kernel/trace/trace.c:49: kernel/trace/trace.c: At top level: include/linux/audit.h:260:20: warning: 'audit_log_object_context' declared 'static' but never defined [-Wunused-function] 260 | static inline void audit_log_object_context(struct audit_buffer *ab, | ^~~~~~~~~~~~~~~~~~~~~~~~ vim +262 include/linux/audit.h 220 221 #else /* CONFIG_AUDIT */ 222 static inline __printf(4, 5) 223 void audit_log(struct audit_context *ctx, gfp_t gfp_mask, int type, 224 const char *fmt, ...) 225 { } 226 static inline struct audit_buffer *audit_log_start(struct audit_context *ctx, 227 gfp_t gfp_mask, int type) 228 { 229 return NULL; 230 } 231 static inline __printf(2, 3) 232 void audit_log_format(struct audit_buffer *ab, const char *fmt, ...) 233 { } 234 static inline void audit_log_end(struct audit_buffer *ab) 235 { } 236 static inline void audit_log_n_hex(struct audit_buffer *ab, 237 const unsigned char *buf, size_t len) 238 { } 239 static inline void audit_log_n_string(struct audit_buffer *ab, 240 const char *buf, size_t n) 241 { } 242 static inline void audit_log_n_untrustedstring(struct audit_buffer *ab, 243 const char *string, size_t n) 244 { } 245 static inline void audit_log_untrustedstring(struct audit_buffer *ab, 246 const char *string) 247 { } 248 static inline void audit_log_d_path(struct audit_buffer *ab, 249 const char *prefix, 250 const struct path *path) 251 { } 252 static inline void audit_log_key(struct audit_buffer *ab, char *key) 253 { } 254 static inline void audit_log_path_denied(int type, const char *operation) 255 { } 256 static inline int audit_log_task_context(struct audit_buffer *ab) 257 { 258 return 0; 259 } 260 static inline void audit_log_object_context(struct audit_buffer *ab, 261 struct lsmblob *blob); > 262 { } 263 static inline void audit_log_task_info(struct audit_buffer *ab) 264 { } 265 --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org