Re: [PATCH 2/2] KEYS: Add keyagent request_key

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Benjamin,

Thank you for the patch! Perhaps something to improve:

[auto build test WARNING on jmorris-security/next-testing]
[also build test WARNING on dhowells-fs/fscache-next arnd-asm-generic/master linus/master v5.19-rc6 next-20220714]
[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#_base_tree_information]

url:    https://github.com/intel-lab-lkp/linux/commits/Benjamin-Coddington/Keyagents-another-call_usermodehelper-approach-for-namespaces/20220712-203658
base:   https://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security.git next-testing
config: i386-defconfig (https://download.01.org/0day-ci/archive/20220715/202207152343.9SGLm8sP-lkp@xxxxxxxxx/config)
compiler: gcc-11 (Debian 11.3.0-3) 11.3.0
reproduce (this is a W=1 build):
        # https://github.com/intel-lab-lkp/linux/commit/4d4f4ae463335d3e611bdb71330ab37af115cde9
        git remote add linux-review https://github.com/intel-lab-lkp/linux
        git fetch --no-tags linux-review Benjamin-Coddington/Keyagents-another-call_usermodehelper-approach-for-namespaces/20220712-203658
        git checkout 4d4f4ae463335d3e611bdb71330ab37af115cde9
        # save the config file
        mkdir build_dir && cp config build_dir/.config
        make W=1 O=build_dir ARCH=i386 SHELL=/bin/bash security/keys/

If you fix the issue, kindly add following tag where applicable
Reported-by: kernel test robot <lkp@xxxxxxxxx>

All warnings (new ones prefixed by >>):

   security/keys/request_key.c: In function 'construct_key':
>> security/keys/request_key.c:254:1: warning: label 'done' defined but not used [-Wunused-label]
     254 | done:
         | ^~~~


vim +/done +254 security/keys/request_key.c

   217	
   218	/*
   219	 * Call out to userspace for key construction.
   220	 *
   221	 * Program failure is ignored in favour of key status.
   222	 */
   223	static int construct_key(struct key *key, const void *callout_info,
   224				 size_t callout_len, void *aux,
   225				 struct key *dest_keyring)
   226	{
   227		request_key_actor_t actor;
   228		struct key *authkey;
   229		int ret;
   230	
   231		kenter("%d,%p,%zu,%p", key->serial, callout_info, callout_len, aux);
   232	
   233		/* allocate an authorisation key */
   234		authkey = request_key_auth_new(key, "create", callout_info, callout_len,
   235					       dest_keyring);
   236		if (IS_ERR(authkey))
   237			return PTR_ERR(authkey);
   238	
   239		/* Make the call */
   240		actor = call_sbin_request_key;
   241		if (key->type->request_key)
   242			actor = key->type->request_key;
   243	#ifdef CONFIG_KEYAGENT
   244		else {
   245			ret = keyagent_request_key(authkey, aux);
   246	
   247			/* ENOKEY: no keyagents match on calling process' keyrings */
   248			if (ret != -ENOKEY)
   249				goto done;
   250		}
   251	#endif
   252		ret = actor(authkey, aux);
   253	
 > 254	done:
   255		/* check that the actor called complete_request_key() prior to
   256		 * returning an error */
   257		WARN_ON(ret < 0 &&
   258			!test_bit(KEY_FLAG_INVALIDATED, &authkey->flags));
   259	
   260		key_put(authkey);
   261		kleave(" = %d", ret);
   262		return ret;
   263	}
   264	

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



[Index of Archives]     [Linux Filesystem Development]     [Linux USB Development]     [Linux Media Development]     [Video for Linux]     [Linux NILFS]     [Linux Audio Users]     [Yosemite Info]     [Linux SCSI]

  Powered by Linux