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-a014 (https://download.01.org/0day-ci/archive/20220503/202205032119.la0im2sw-...@intel.com/config) compiler: clang version 15.0.0 (https://github.com/llvm/llvm-project 363b3a645a1e30011cc8da624f13dac5fd915628) 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/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 COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross 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 <l...@intel.com> All errors (new ones prefixed by >>): net/socket.c:2206:6: warning: variable 'max_optlen' set but not used [-Wunused-but-set-variable] int max_optlen; ^ >> net/socket.c:2924:68: error: too many arguments to function call, expected >> 2, have 3 err = audit_socketcall(call, nargs[call] / sizeof(unsigned long), a); ~~~~~~~~~~~~~~~~ ^ include/linux/audit.h:643:19: note: 'audit_socketcall' declared here static inline int audit_socketcall(int nargs, unsigned long *args) ^ 1 warning and 1 error generated. vim +2924 net/socket.c 2896 2897 /* 2898 * System call vectors. 2899 * 2900 * Argument checking cleaned up. Saved 20% in size. 2901 * This function doesn't need to set the kernel lock because 2902 * it is set by the callees. 2903 */ 2904 2905 SYSCALL_DEFINE2(socketcall, int, call, unsigned long __user *, args) 2906 { 2907 unsigned long a[AUDITSC_ARGS]; 2908 unsigned long a0, a1; 2909 int err; 2910 unsigned int len; 2911 2912 if (call < 1 || call > SYS_SENDMMSG) 2913 return -EINVAL; 2914 call = array_index_nospec(call, SYS_SENDMMSG + 1); 2915 2916 len = nargs[call]; 2917 if (len > sizeof(a)) 2918 return -EINVAL; 2919 2920 /* copy_from_user should be SMP safe. */ 2921 if (copy_from_user(a, args, len)) 2922 return -EFAULT; 2923 > 2924 err = audit_socketcall(call, nargs[call] / sizeof(unsigned > long), a); 2925 if (err) 2926 return err; 2927 2928 a0 = a[0]; 2929 a1 = a[1]; 2930 2931 switch (call) { 2932 case SYS_SOCKET: 2933 err = __sys_socket(a0, a1, a[2]); 2934 break; 2935 case SYS_BIND: 2936 err = __sys_bind(a0, (struct sockaddr __user *)a1, a[2]); 2937 break; 2938 case SYS_CONNECT: 2939 err = __sys_connect(a0, (struct sockaddr __user *)a1, a[2]); 2940 break; 2941 case SYS_LISTEN: 2942 err = __sys_listen(a0, a1); 2943 break; 2944 case SYS_ACCEPT: 2945 err = __sys_accept4(a0, (struct sockaddr __user *)a1, 2946 (int __user *)a[2], 0); 2947 break; 2948 case SYS_GETSOCKNAME: 2949 err = 2950 __sys_getsockname(a0, (struct sockaddr __user *)a1, 2951 (int __user *)a[2]); 2952 break; 2953 case SYS_GETPEERNAME: 2954 err = 2955 __sys_getpeername(a0, (struct sockaddr __user *)a1, 2956 (int __user *)a[2]); 2957 break; 2958 case SYS_SOCKETPAIR: 2959 err = __sys_socketpair(a0, a1, a[2], (int __user *)a[3]); 2960 break; 2961 case SYS_SEND: 2962 err = __sys_sendto(a0, (void __user *)a1, a[2], a[3], 2963 NULL, 0); 2964 break; 2965 case SYS_SENDTO: 2966 err = __sys_sendto(a0, (void __user *)a1, a[2], a[3], 2967 (struct sockaddr __user *)a[4], a[5]); 2968 break; 2969 case SYS_RECV: 2970 err = __sys_recvfrom(a0, (void __user *)a1, a[2], a[3], 2971 NULL, NULL); 2972 break; 2973 case SYS_RECVFROM: 2974 err = __sys_recvfrom(a0, (void __user *)a1, a[2], a[3], 2975 (struct sockaddr __user *)a[4], 2976 (int __user *)a[5]); 2977 break; 2978 case SYS_SHUTDOWN: 2979 err = __sys_shutdown(a0, a1); 2980 break; 2981 case SYS_SETSOCKOPT: 2982 err = __sys_setsockopt(a0, a1, a[2], (char __user *)a[3], 2983 a[4]); 2984 break; 2985 case SYS_GETSOCKOPT: 2986 err = 2987 __sys_getsockopt(a0, a1, a[2], (char __user *)a[3], 2988 (int __user *)a[4]); 2989 break; 2990 case SYS_SENDMSG: 2991 err = __sys_sendmsg(a0, (struct user_msghdr __user *)a1, 2992 a[2], true); 2993 break; 2994 case SYS_SENDMMSG: 2995 err = __sys_sendmmsg(a0, (struct mmsghdr __user *)a1, a[2], 2996 a[3], true); 2997 break; 2998 case SYS_RECVMSG: 2999 err = __sys_recvmsg(a0, (struct user_msghdr __user *)a1, 3000 a[2], true); 3001 break; 3002 case SYS_RECVMMSG: 3003 if (IS_ENABLED(CONFIG_64BIT)) 3004 err = __sys_recvmmsg(a0, (struct mmsghdr __user *)a1, 3005 a[2], a[3], 3006 (struct __kernel_timespec __user *)a[4], 3007 NULL); 3008 else 3009 err = __sys_recvmmsg(a0, (struct mmsghdr __user *)a1, 3010 a[2], a[3], NULL, 3011 (struct old_timespec32 __user *)a[4]); 3012 break; 3013 case SYS_ACCEPT4: 3014 err = __sys_accept4(a0, (struct sockaddr __user *)a1, 3015 (int __user *)a[2], a[3]); 3016 break; 3017 default: 3018 err = -EINVAL; 3019 break; 3020 } 3021 return err; 3022 } 3023 -- 0-DAY CI Kernel Test Service https://01.org/lkp -- Linux-audit mailing list Linux-audit@redhat.com https://listman.redhat.com/mailman/listinfo/linux-audit