[PATCH v23 19/23] audit: add support for non-syscall auxiliary records

kernel test robot lkp at intel.com
Fri Nov 20 23:06:29 UTC 2020


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 at 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


More information about the Linux-security-module-archive mailing list