#include <linux/debugfs.h>
#include <net/bluetooth/bluetooth.h>
#include <net/bluetooth/hci_core.h>
#include "ecdh_helper.h"
#include "smp.h"
#include "selftest.h"
#if IS_ENABLED(CONFIG_BT_SELFTEST_ECDH)
static const u8 priv_a_1[32] __initconst = …;
static const u8 priv_b_1[32] __initconst = …;
static const u8 pub_a_1[64] __initconst = …;
static const u8 pub_b_1[64] __initconst = …;
static const u8 dhkey_1[32] __initconst = …;
static const u8 priv_a_2[32] __initconst = …;
static const u8 priv_b_2[32] __initconst = …;
static const u8 pub_a_2[64] __initconst = …;
static const u8 pub_b_2[64] __initconst = …;
static const u8 dhkey_2[32] __initconst = …;
static const u8 priv_a_3[32] __initconst = …;
static const u8 pub_a_3[64] __initconst = …;
static const u8 dhkey_3[32] __initconst = …;
static int __init test_ecdh_sample(struct crypto_kpp *tfm, const u8 priv_a[32],
const u8 priv_b[32], const u8 pub_a[64],
const u8 pub_b[64], const u8 dhkey[32])
{ … }
static char test_ecdh_buffer[32];
static ssize_t test_ecdh_read(struct file *file, char __user *user_buf,
size_t count, loff_t *ppos)
{ … }
static const struct file_operations test_ecdh_fops = …;
static int __init test_ecdh(void)
{ … }
#else
static inline int test_ecdh(void)
{
return 0;
}
#endif
static int __init run_selftest(void)
{ … }
#if IS_MODULE(CONFIG_BT)
int __init bt_selftest(void)
{
return run_selftest();
}
#else
static int __init bt_selftest_init(void)
{ … }
late_initcall(bt_selftest_init);
#endif