Hi Casey, I love your patch! Yet something to improve: [auto build test ERROR on nf/master] [also build test ERROR on linus/master v5.10-rc4 next-20201120] [cannot apply to nf-next/master 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/LSM-Module-stacking-for-AppArmor/20201121-044616 base: https://git.kernel.org/pub/scm/linux/kernel/git/pablo/nf.git master config: i386-randconfig-s001-20201120 (attached as .config) compiler: gcc-9 (Debian 9.3.0-15) 9.3.0 reproduce: # apt-get install sparse # sparse version: v0.6.3-134-gb59dbdaf-dirty # https://github.com/0day-ci/linux/commit/3b464b0251cffe5ac73c81b701fd8d146664a7a3 git remote add linux-review https://github.com/0day-ci/linux git fetch --no-tags linux-review Casey-Schaufler/LSM-Module-stacking-for-AppArmor/20201121-044616 git checkout 3b464b0251cffe5ac73c81b701fd8d146664a7a3 # save the attached .config to linux build tree make W=1 C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' ARCH=i386 If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot <lkp@xxxxxxxxx> All errors (new ones prefixed by >>): In file included from include/linux/fsnotify.h:16, from fs/remap_range.c:8: >> include/linux/audit.h:563:1: error: expected identifier or '(' before '+' token 563 | +static inline struct audit_context *audit_alloc_local(gfp_t gfpflags) | ^ -- In file included from fs/pipe.c:23: >> include/linux/audit.h:563:1: error: expected identifier or '(' before '+' token 563 | +static inline struct audit_context *audit_alloc_local(gfp_t gfpflags) | ^ fs/pipe.c:741:15: warning: no previous prototype for 'account_pipe_buffers' [-Wmissing-prototypes] 741 | unsigned long account_pipe_buffers(struct user_struct *user, | ^~~~~~~~~~~~~~~~~~~~ fs/pipe.c:747:6: warning: no previous prototype for 'too_many_pipe_buffers_soft' [-Wmissing-prototypes] 747 | bool too_many_pipe_buffers_soft(unsigned long user_bufs) | ^~~~~~~~~~~~~~~~~~~~~~~~~~ fs/pipe.c:754:6: warning: no previous prototype for 'too_many_pipe_buffers_hard' [-Wmissing-prototypes] 754 | bool too_many_pipe_buffers_hard(unsigned long user_bufs) | ^~~~~~~~~~~~~~~~~~~~~~~~~~ fs/pipe.c:761:6: warning: no previous prototype for 'pipe_is_unprivileged_user' [-Wmissing-prototypes] 761 | bool pipe_is_unprivileged_user(void) | ^~~~~~~~~~~~~~~~~~~~~~~~~ fs/pipe.c:1230:5: warning: no previous prototype for 'pipe_resize_ring' [-Wmissing-prototypes] 1230 | int pipe_resize_ring(struct pipe_inode_info *pipe, unsigned int nr_slots) | ^~~~~~~~~~~~~~~~ vim +563 include/linux/audit.h 559 560 extern int audit_n_rules; 561 extern int audit_signals; 562 #else /* CONFIG_AUDITSYSCALL */ > 563 +static inline struct audit_context *audit_alloc_local(gfp_t gfpflags) 564 { 565 return NULL; 566 } 567 static inline void audit_free_context(struct audit_context *context) 568 { } 569 static inline int audit_alloc(struct task_struct *task) 570 { 571 return 0; 572 } 573 static inline void audit_free(struct task_struct *task) 574 { } 575 static inline void audit_syscall_entry(int major, unsigned long a0, 576 unsigned long a1, unsigned long a2, 577 unsigned long a3) 578 { } 579 static inline void audit_syscall_exit(void *pt_regs) 580 { } 581 static inline bool audit_dummy_context(void) 582 { 583 return true; 584 } 585 static inline void audit_set_context(struct task_struct *task, struct audit_context *ctx) 586 { } 587 static inline struct audit_context *audit_context(void) 588 { 589 return NULL; 590 } 591 static inline struct filename *audit_reusename(const __user char *name) 592 { 593 return NULL; 594 } 595 static inline void audit_getname(struct filename *name) 596 { } 597 static inline void audit_getcwd(void) 598 { } 599 static inline void audit_inode(struct filename *name, 600 const struct dentry *dentry, 601 unsigned int aflags) 602 { } 603 static inline void audit_file(struct file *file) 604 { 605 } 606 static inline void audit_inode_parent_hidden(struct filename *name, 607 const struct dentry *dentry) 608 { } 609 static inline void audit_inode_child(struct inode *parent, 610 const struct dentry *dentry, 611 const unsigned char type) 612 { } 613 static inline void audit_core_dumps(long signr) 614 { } 615 static inline void audit_seccomp(unsigned long syscall, long signr, int code) 616 { } 617 static inline void audit_seccomp_actions_logged(const char *names, 618 const char *old_names, int res) 619 { } 620 static inline void audit_ipc_obj(struct kern_ipc_perm *ipcp) 621 { } 622 static inline void audit_ipc_set_perm(unsigned long qbytes, uid_t uid, 623 gid_t gid, umode_t mode) 624 { } 625 static inline void audit_bprm(struct linux_binprm *bprm) 626 { } 627 static inline int audit_socketcall(int nargs, unsigned long *args) 628 { 629 return 0; 630 } 631 --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all@xxxxxxxxxxxx
Attachment:
.config.gz
Description: application/gzip