[PATCH 1/2] audit: add call argument to socketcall auditing

kernel test robot lkp at intel.com
Tue May 3 14:04:32 UTC 2022


Hi Sven,

I love your patch! Yet something to improve:

[auto build test ERROR on linus/master]
[also build test ERROR on pcmoore-audit/next v5.18-rc5 next-20220503]
[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/intel-lab-lkp/linux/commits/Sven-Schnelle/audit-add-call-argument-to-socketcall-auditing/20220503-170442
base:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git 9050ba3a61a4b5bd84c2cde092a100404f814f31
config: x86_64-randconfig-a011 (https://download.01.org/0day-ci/archive/20220503/202205032153.9OyzkwPS-lkp@intel.com/config)
compiler: gcc-11 (Debian 11.2.0-20) 11.2.0
reproduce (this is a W=1 build):
        # https://github.com/intel-lab-lkp/linux/commit/b89caaec1c1bd3382c6cef08d08beadbaf808513
        git remote add linux-review https://github.com/intel-lab-lkp/linux
        git fetch --no-tags linux-review Sven-Schnelle/audit-add-call-argument-to-socketcall-auditing/20220503-170442
        git checkout b89caaec1c1bd3382c6cef08d08beadbaf808513
        # save the config file
        mkdir build_dir && cp config build_dir/.config
        make W=1 O=build_dir ARCH=x86_64 SHELL=/bin/bash

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp at intel.com>

All error/warnings (new ones prefixed by >>):

   net/compat.c: In function '__do_compat_sys_socketcall':
>> net/compat.c:440:49: warning: passing argument 2 of 'audit_socketcall_compat' makes pointer from integer without a cast [-Wint-conversion]
     440 |         ret = audit_socketcall_compat(call, len / sizeof(a[0]), a);
         |                                             ~~~~^~~~~~~~~~~~~~
         |                                                 |
         |                                                 long unsigned int
   In file included from net/compat.c:26:
   include/linux/audit.h:648:59: note: expected 'u32 *' {aka 'unsigned int *'} but argument is of type 'long unsigned int'
     648 | static inline int audit_socketcall_compat(int nargs, u32 *args)
         |                                                      ~~~~~^~~~
>> net/compat.c:440:15: error: too many arguments to function 'audit_socketcall_compat'
     440 |         ret = audit_socketcall_compat(call, len / sizeof(a[0]), a);
         |               ^~~~~~~~~~~~~~~~~~~~~~~
   In file included from net/compat.c:26:
   include/linux/audit.h:648:19: note: declared here
     648 | static inline int audit_socketcall_compat(int nargs, u32 *args)
         |                   ^~~~~~~~~~~~~~~~~~~~~~~


vim +/audit_socketcall_compat +440 net/compat.c

   423	
   424	COMPAT_SYSCALL_DEFINE2(socketcall, int, call, u32 __user *, args)
   425	{
   426		u32 a[AUDITSC_ARGS];
   427		unsigned int len;
   428		u32 a0, a1;
   429		int ret;
   430	
   431		if (call < SYS_SOCKET || call > SYS_SENDMMSG)
   432			return -EINVAL;
   433		len = nas[call];
   434		if (len > sizeof(a))
   435			return -EINVAL;
   436	
   437		if (copy_from_user(a, args, len))
   438			return -EFAULT;
   439	
 > 440		ret = audit_socketcall_compat(call, len / sizeof(a[0]), a);

-- 
0-DAY CI Kernel Test Service
https://01.org/lkp



More information about the Linux-audit mailing list