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-stack...
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/3b464b0251cffe5ac73c81b701fd8d146...
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(a)intel.com>
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@lists.01.org