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