mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-11-30 09:46:41 +07:00
Bluetooth: Add skeleton for SMP self-tests
This patch adds a basic skeleton for SMP self-tests. The tests are put behind a new configuration option since running them will slow down the boot process. For now there are no actual tests defined but those will come in a subsequent patch. Signed-off-by: Johan Hedberg <johan.hedberg@intel.com> Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
This commit is contained in:
parent
e491eaf3c0
commit
4cd3362da8
@ -45,6 +45,12 @@ config BT_6LOWPAN
|
||||
help
|
||||
IPv6 compression over Bluetooth Low Energy.
|
||||
|
||||
config BT_SELFTEST
|
||||
bool "Run self-tests on boot"
|
||||
depends on BT && DEBUG_KERNEL
|
||||
help
|
||||
Run self-tests during boot. Currently limited to SMP.
|
||||
|
||||
source "net/bluetooth/rfcomm/Kconfig"
|
||||
|
||||
source "net/bluetooth/bnep/Kconfig"
|
||||
|
@ -1743,3 +1743,36 @@ void smp_unregister(struct hci_dev *hdev)
|
||||
hdev->smp_data = NULL;
|
||||
l2cap_chan_put(chan);
|
||||
}
|
||||
|
||||
#ifdef CONFIG_BT_SELFTEST
|
||||
|
||||
static int __init run_selftests(struct crypto_blkcipher *tfm_aes)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int __init test_smp(void)
|
||||
{
|
||||
struct crypto_blkcipher *tfm_aes;
|
||||
int err;
|
||||
|
||||
tfm_aes = crypto_alloc_blkcipher("ecb(aes)", 0, CRYPTO_ALG_ASYNC);
|
||||
if (IS_ERR(tfm_aes)) {
|
||||
BT_ERR("Unable to create ECB crypto context");
|
||||
return PTR_ERR(tfm_aes);
|
||||
}
|
||||
|
||||
err = run_selftests(tfm_aes);
|
||||
if (err < 0)
|
||||
BT_ERR("Self tests failed");
|
||||
else
|
||||
BT_INFO("Self-tests passed");
|
||||
|
||||
crypto_free_blkcipher(tfm_aes);
|
||||
|
||||
return err;
|
||||
}
|
||||
|
||||
module_init(test_smp);
|
||||
|
||||
#endif /* CONFIG_BT_SELFTEST */
|
||||
|
Loading…
Reference in New Issue
Block a user