All of lore.kernel.org
 help / color / mirror / Atom feed
From: kernel test robot <lkp@intel.com>
To: Sven Schnelle <svens@linux.ibm.com>,
	Paul Moore <paul@paul-moore.com>, Eric Paris <eparis@redhat.com>
Cc: llvm@lists.linux.dev, kbuild-all@lists.01.org,
	linux-audit@redhat.com, linux-kernel@vger.kernel.org
Subject: Re: [PATCH 1/2] audit: add call argument to socketcall auditing
Date: Tue, 3 May 2022 21:32:23 +0800	[thread overview]
Message-ID: <202205032119.La0IM2Sw-lkp@intel.com> (raw)
In-Reply-To: <20220503090212.1322050-1-svens@linux.ibm.com>

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-lkp@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 <lkp@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

WARNING: multiple messages have this Message-ID (diff)
From: kernel test robot <lkp@intel.com>
To: Sven Schnelle <svens@linux.ibm.com>,
	Paul Moore <paul@paul-moore.com>, Eric Paris <eparis@redhat.com>
Cc: llvm@lists.linux.dev, kbuild-all@lists.01.org,
	linux-kernel@vger.kernel.org, linux-audit@redhat.com
Subject: Re: [PATCH 1/2] audit: add call argument to socketcall auditing
Date: Tue, 3 May 2022 21:32:23 +0800	[thread overview]
Message-ID: <202205032119.La0IM2Sw-lkp@intel.com> (raw)
In-Reply-To: <20220503090212.1322050-1-svens@linux.ibm.com>

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-lkp@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 <lkp@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


  parent reply	other threads:[~2022-05-03 13:32 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-05-03  9:02 [PATCH 1/2] audit: add call argument to socketcall auditing Sven Schnelle
2022-05-03  9:02 ` Sven Schnelle
2022-05-03  9:02 ` [PATCH 2/2] audit: add filterkey to special audit messages Sven Schnelle
2022-05-03  9:02   ` Sven Schnelle
2022-05-03 16:57   ` Paul Moore
2022-05-03 16:57     ` Paul Moore
2022-05-04  5:22     ` Sven Schnelle
2022-05-04  5:22       ` Sven Schnelle
2022-05-03 13:32 ` kernel test robot [this message]
2022-05-03 13:32   ` [PATCH 1/2] audit: add call argument to socketcall auditing kernel test robot
2022-05-03 13:32 ` kernel test robot
2022-05-03 13:32   ` kernel test robot
2022-05-03 14:04 ` kernel test robot
2022-05-03 14:04   ` kernel test robot
2022-05-03 16:07 ` Paul Moore
2022-05-03 16:07   ` Paul Moore
2022-05-03 17:16 ` Steve Grubb
2022-05-03 17:16   ` Steve Grubb

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=202205032119.La0IM2Sw-lkp@intel.com \
    --to=lkp@intel.com \
    --cc=eparis@redhat.com \
    --cc=kbuild-all@lists.01.org \
    --cc=linux-audit@redhat.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=llvm@lists.linux.dev \
    --cc=paul@paul-moore.com \
    --cc=svens@linux.ibm.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.