tree:   
https://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm.git 
for-next
head:   2d56364c7c7ba64576c37a16c8af98f66b4bb16b
commit: 5cacab0334b940164ad6aac39712f4d3b06076bc [27/28] dm crypt: support 
using encrypted keys
config: i386-randconfig-e001-20200421 (attached as .config)
compiler: gcc-7 (Ubuntu 7.5.0-6ubuntu2) 7.5.0
reproduce:
        git checkout 5cacab0334b940164ad6aac39712f4d3b06076bc
        # save the attached .config to linux build tree
        make ARCH=i386 

If you fix the issue, kindly add following tag as appropriate
Reported-by: kbuild test robot <l...@intel.com>

All errors (new ones prefixed by >>):

   ld: drivers/md/dm-crypt.o: in function `crypt_set_keyring_key':
>> drivers/md/dm-crypt.c:2281: undefined reference to `key_type_encrypted'

vim +2281 drivers/md/dm-crypt.c

  2251  
  2252  static int crypt_set_keyring_key(struct crypt_config *cc, const char 
*key_string)
  2253  {
  2254          char *new_key_string, *key_desc;
  2255          int ret;
  2256          struct key_type *type;
  2257          struct key *key;
  2258          int (*set_key)(struct crypt_config *cc, struct key *key);
  2259  
  2260          /*
  2261           * Reject key_string with whitespace. dm core currently lacks 
code for
  2262           * proper whitespace escaping in arguments on DM_TABLE_STATUS 
path.
  2263           */
  2264          if (contains_whitespace(key_string)) {
  2265                  DMERR("whitespace chars not allowed in key string");
  2266                  return -EINVAL;
  2267          }
  2268  
  2269          /* look for next ':' separating key_type from key_description */
  2270          key_desc = strpbrk(key_string, ":");
  2271          if (!key_desc || key_desc == key_string || !strlen(key_desc + 
1))
  2272                  return -EINVAL;
  2273  
  2274          if (!strncmp(key_string, "logon:", key_desc - key_string + 1)) {
  2275                  type = &key_type_logon;
  2276                  set_key = set_key_user;
  2277          } else if (!strncmp(key_string, "user:", key_desc - key_string 
+ 1)) {
  2278                  type = &key_type_user;
  2279                  set_key = set_key_user;
  2280          } else if (!strncmp(key_string, "encrypted:", key_desc - 
key_string + 1)) {
> 2281                  type = &key_type_encrypted;
  2282                  set_key = set_key_encrypted;
  2283          } else {
  2284                  return -EINVAL;
  2285          }
  2286  
  2287          new_key_string = kstrdup(key_string, GFP_KERNEL);
  2288          if (!new_key_string)
  2289                  return -ENOMEM;
  2290  
  2291          key = request_key(type, key_desc + 1, NULL);
  2292          if (IS_ERR(key)) {
  2293                  kzfree(new_key_string);
  2294                  return PTR_ERR(key);
  2295          }
  2296  
  2297          down_read(&key->sem);
  2298  
  2299          ret = set_key(cc, key);
  2300          if (ret < 0) {
  2301                  up_read(&key->sem);
  2302                  key_put(key);
  2303                  kzfree(new_key_string);
  2304                  return ret;
  2305          }
  2306  
  2307          up_read(&key->sem);
  2308          key_put(key);
  2309  
  2310          /* clear the flag since following operations may invalidate 
previously valid key */
  2311          clear_bit(DM_CRYPT_KEY_VALID, &cc->flags);
  2312  
  2313          ret = crypt_setkey(cc);
  2314  
  2315          if (!ret) {
  2316                  set_bit(DM_CRYPT_KEY_VALID, &cc->flags);
  2317                  kzfree(cc->key_string);
  2318                  cc->key_string = new_key_string;
  2319          } else
  2320                  kzfree(new_key_string);
  2321  
  2322          return ret;
  2323  }
  2324  

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-...@lists.01.org

Attachment: .config.gz
Description: application/gzip

--
dm-devel mailing list
dm-devel@redhat.com
https://www.redhat.com/mailman/listinfo/dm-devel

Reply via email to