From: kernel test robot <lkp@intel.com>
To: Hannes Reinecke <hare@suse.de>
Cc: kbuild-all@lists.01.org, linux-kernel@vger.kernel.org
Subject: [hare-scsi-devel:tls-upcall.v4 140/156] drivers/nvme/host/tcp.c:1429: undefined reference to `nvme_keyring_lookup_generated_key'
Date: Sun, 13 Mar 2022 22:45:41 +0800 [thread overview]
Message-ID: <202203132228.duAdAwbv-lkp@intel.com> (raw)
tree: https://git.kernel.org/pub/scm/linux/kernel/git/hare/scsi-devel.git tls-upcall.v4
head: d2416ecdb6b03fc2e4aa40b20cdf919322713224
commit: 2025db31c639eb71ba4cd675cb846a14a48cd932 [140/156] nvme-tcp: derive retained keys for TLS
config: i386-randconfig-a012 (https://download.01.org/0day-ci/archive/20220313/202203132228.duAdAwbv-lkp@intel.com/config)
compiler: gcc-9 (Ubuntu 9.4.0-1ubuntu1~20.04) 9.4.0
reproduce (this is a W=1 build):
# https://git.kernel.org/pub/scm/linux/kernel/git/hare/scsi-devel.git/commit/?id=2025db31c639eb71ba4cd675cb846a14a48cd932
git remote add hare-scsi-devel https://git.kernel.org/pub/scm/linux/kernel/git/hare/scsi-devel.git
git fetch --no-tags hare-scsi-devel tls-upcall.v4
git checkout 2025db31c639eb71ba4cd675cb846a14a48cd932
# save the config file to linux build tree
mkdir build_dir
make W=1 O=build_dir ARCH=i386 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 >>):
ld: drivers/nvme/host/core.o: in function `nvme_core_exit':
drivers/nvme/host/core.c:4946: undefined reference to `nvme_keyring_exit'
ld: drivers/nvme/host/core.o: in function `nvme_core_init':
drivers/nvme/host/core.c:4918: undefined reference to `nvme_keyring_init'
ld: drivers/nvme/host/tcp.o: in function `nvme_tcp_lookup_psk':
>> drivers/nvme/host/tcp.c:1429: undefined reference to `nvme_keyring_lookup_generated_key'
>> ld: drivers/nvme/host/tcp.c:1431: undefined reference to `nvme_keyring_insert_tls'
ld: drivers/nvme/host/tcp.c:1439: undefined reference to `nvme_keyring_lookup_tls'
ld: drivers/nvme/host/tcp.c:1455: undefined reference to `nvme_keyring_lookup_generated_key'
ld: drivers/nvme/host/tcp.c:1457: undefined reference to `nvme_keyring_insert_tls'
ld: drivers/nvme/host/tcp.c:1465: undefined reference to `nvme_keyring_lookup_tls'
>> ld: drivers/nvme/host/tcp.c:1442: undefined reference to `nvme_keyring_lookup_retained_key'
ld: drivers/nvme/host/tcp.c:1444: undefined reference to `nvme_keyring_insert_tls'
ld: drivers/nvme/host/tcp.c:1468: undefined reference to `nvme_keyring_lookup_retained_key'
ld: drivers/nvme/host/tcp.c:1470: undefined reference to `nvme_keyring_insert_tls'
vim +1429 drivers/nvme/host/tcp.c
1403
1404 /*
1405 * nvme_tcp_lookup_psk - Look up PSKs to use for TLS
1406 *
1407 * We have several combinations to worry about:
1408 * 1) Host requires encryption (opts->tls is set)
1409 * -> lookup pre-provisioned TLS PSKs; keys must be set for
1410 * a connection to be allowed.
1411 * 2) Host allows encryptionn (opts->tls is not set)
1412 * -> lookup pre-provisioned TLS PSK;
1413 * -> lookup retained TLS key if no PSKs are found, and
1414 * generate PSK based on the retained TLS key.
1415 * -> Do not start TLS if no key (PSK or retained) is found.
1416 * 2) Host does not use encryption (opts->tls is not set)
1417 * -> no keys are provisioned.
1418 */
1419 static int nvme_tcp_lookup_psk(struct nvme_ctrl *nctrl, int qid,
1420 bool force_tls)
1421 {
1422 char *hostnqn = nctrl->opts->host->nqn;
1423 char *subnqn = nvmf_ctrl_subsysnqn(nctrl);
1424 int num_keys = 0;
1425 struct key *generated_key, *retained_key, *tls_key;
1426
1427 /* Check for pre-provisioned keys */
1428 /* Generated key with hmac256 */
> 1429 generated_key = nvme_keyring_lookup_generated_key(hostnqn, subnqn, 1);
1430 if (!IS_ERR(generated_key)) {
> 1431 tls_key = nvme_keyring_insert_tls(generated_key, nctrl,
1432 1, true);
1433 if (!IS_ERR(tls_key)) {
1434 key_put(tls_key);
1435 num_keys++;
1436 }
1437 }
1438 /* Retained key with hmac256 */
1439 tls_key = nvme_keyring_lookup_tls(nctrl, 1, false);
1440 if (IS_ERR(tls_key) && !force_tls) {
1441 /* Not found, derive key from PSK if present */
> 1442 retained_key = nvme_keyring_lookup_retained_key(hostnqn, 1);
1443 if (!IS_ERR(retained_key)) {
1444 tls_key = nvme_keyring_insert_tls(retained_key, nctrl,
1445 1, false);
1446 if (!IS_ERR(tls_key)) {
1447 key_put(tls_key);
1448 num_keys++;
1449 }
1450 }
1451 } else
1452 num_keys++;
1453
1454 /* Generated key with hmac384 */
1455 generated_key = nvme_keyring_lookup_generated_key(hostnqn, subnqn, 2);
1456 if (!IS_ERR(generated_key)) {
1457 tls_key = nvme_keyring_insert_tls(generated_key, nctrl,
1458 2, true);
1459 if (!IS_ERR(tls_key)) {
1460 key_put(tls_key);
1461 num_keys++;
1462 }
1463 }
1464 /* Retained key with hmac384 */
1465 tls_key = nvme_keyring_lookup_tls(nctrl, 2, false);
1466 if (IS_ERR(tls_key) && !force_tls) {
1467 /* Not found, derive key from PSK if present */
1468 retained_key = nvme_keyring_lookup_retained_key(hostnqn, 2);
1469 if (!IS_ERR(retained_key)) {
1470 tls_key = nvme_keyring_insert_tls(retained_key,
1471 nctrl, 2, false);
1472 if (!IS_ERR(tls_key)) {
1473 key_put(tls_key);
1474 num_keys++;
1475 }
1476 }
1477 } else
1478 num_keys++;
1479
1480 if (!num_keys)
1481 return 0;
1482
1483 dev_dbg(nctrl->device, "qid %d: start tls with %d keys\n",
1484 qid, num_keys);
1485 return num_keys;
1486 }
1487
---
0-DAY CI Kernel Test Service
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
reply other threads:[~2022-03-13 14:46 UTC|newest]
Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
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=202203132228.duAdAwbv-lkp@intel.com \
--to=lkp@intel.com \
--cc=hare@suse.de \
--cc=kbuild-all@lists.01.org \
--cc=linux-kernel@vger.kernel.org \
/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.