mirror of https://github.com/wolfSSL/wolfssl.git
linuxkm/lkcapi_glue.c: update calls to scatterwalk_map() and scatterwalk_unmap() for linux commit 7450ebd29c (merged for Linux 6.15);
configure.ac: fix --disable-linuxkm-lkcapi-register; .wolfssl_known_macro_extras: fix order.pull/8667/head
parent
b38ab8a064
commit
57baae90f1
|
@ -569,9 +569,9 @@ WOLFSENTRY_H
|
||||||
WOLFSENTRY_NO_JSON
|
WOLFSENTRY_NO_JSON
|
||||||
WOLFSSL_32BIT_MILLI_TIME
|
WOLFSSL_32BIT_MILLI_TIME
|
||||||
WOLFSSL_AARCH64_PRIVILEGE_MODE
|
WOLFSSL_AARCH64_PRIVILEGE_MODE
|
||||||
WOLFSSL_AES_CTR_EXAMPLE
|
|
||||||
WOLFSSL_AESNI_BY4
|
WOLFSSL_AESNI_BY4
|
||||||
WOLFSSL_AESNI_BY6
|
WOLFSSL_AESNI_BY6
|
||||||
|
WOLFSSL_AES_CTR_EXAMPLE
|
||||||
WOLFSSL_AFTER_DATE_CLOCK_SKEW
|
WOLFSSL_AFTER_DATE_CLOCK_SKEW
|
||||||
WOLFSSL_ALGO_HW_MUTEX
|
WOLFSSL_ALGO_HW_MUTEX
|
||||||
WOLFSSL_ALLOW_CRIT_AIA
|
WOLFSSL_ALLOW_CRIT_AIA
|
||||||
|
|
|
@ -9364,9 +9364,9 @@ fi
|
||||||
AC_ARG_ENABLE([linuxkm-lkcapi-register],
|
AC_ARG_ENABLE([linuxkm-lkcapi-register],
|
||||||
[AS_HELP_STRING([--enable-linuxkm-lkcapi-register],[Register wolfCrypt implementations with the Linux Kernel Crypto API backplane. Possible values are "none", "all", "cbc(aes)", "cfb(aes)", "gcm(aes)", and "xts(aes)", or a comma-separate combination. (default: none)])],
|
[AS_HELP_STRING([--enable-linuxkm-lkcapi-register],[Register wolfCrypt implementations with the Linux Kernel Crypto API backplane. Possible values are "none", "all", "cbc(aes)", "cfb(aes)", "gcm(aes)", and "xts(aes)", or a comma-separate combination. (default: none)])],
|
||||||
[ENABLED_LINUXKM_LKCAPI_REGISTER=$enableval],
|
[ENABLED_LINUXKM_LKCAPI_REGISTER=$enableval],
|
||||||
[ENABLED_LINUXKM_LKCAPI_REGISTER=none]
|
[ENABLED_LINUXKM_LKCAPI_REGISTER=no]
|
||||||
)
|
)
|
||||||
if test "$ENABLED_LINUXKM_LKCAPI_REGISTER" != "none"
|
if test "$ENABLED_LINUXKM_LKCAPI_REGISTER" != "no"
|
||||||
then
|
then
|
||||||
AM_CFLAGS="$AM_CFLAGS -DLINUXKM_LKCAPI_REGISTER"
|
AM_CFLAGS="$AM_CFLAGS -DLINUXKM_LKCAPI_REGISTER"
|
||||||
|
|
||||||
|
|
|
@ -1145,7 +1145,12 @@ static int AesGcmCrypt_1(struct aead_request *req, int decrypt_p, int rfc4106_p)
|
||||||
|
|
||||||
if (req->src->length >= assoclen && req->src->length) {
|
if (req->src->length >= assoclen && req->src->length) {
|
||||||
scatterwalk_start(&assocSgWalk, req->src);
|
scatterwalk_start(&assocSgWalk, req->src);
|
||||||
|
#if LINUX_VERSION_CODE >= KERNEL_VERSION(6, 15, 0)
|
||||||
|
scatterwalk_map(&assocSgWalk);
|
||||||
|
assoc = assocSgWalk.addr;
|
||||||
|
#else
|
||||||
assoc = scatterwalk_map(&assocSgWalk);
|
assoc = scatterwalk_map(&assocSgWalk);
|
||||||
|
#endif
|
||||||
if (unlikely(IS_ERR(assoc))) {
|
if (unlikely(IS_ERR(assoc))) {
|
||||||
pr_err("%s: scatterwalk_map failed: %ld\n",
|
pr_err("%s: scatterwalk_map failed: %ld\n",
|
||||||
crypto_tfm_alg_driver_name(crypto_aead_tfm(tfm)),
|
crypto_tfm_alg_driver_name(crypto_aead_tfm(tfm)),
|
||||||
|
@ -1177,8 +1182,13 @@ static int AesGcmCrypt_1(struct aead_request *req, int decrypt_p, int rfc4106_p)
|
||||||
|
|
||||||
if (assocmem)
|
if (assocmem)
|
||||||
free(assocmem);
|
free(assocmem);
|
||||||
else
|
else {
|
||||||
|
#if LINUX_VERSION_CODE >= KERNEL_VERSION(6, 15, 0)
|
||||||
|
scatterwalk_unmap(&assocSgWalk);
|
||||||
|
#else
|
||||||
scatterwalk_unmap(assoc);
|
scatterwalk_unmap(assoc);
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
if (unlikely(err)) {
|
if (unlikely(err)) {
|
||||||
pr_err("%s: %s failed: %d\n",
|
pr_err("%s: %s failed: %d\n",
|
||||||
|
@ -1328,7 +1338,12 @@ static int AesGcmCrypt_1(struct aead_request *req, int decrypt_p, int rfc4106_p)
|
||||||
(req->dst->length >= req->assoclen + req->cryptlen))
|
(req->dst->length >= req->assoclen + req->cryptlen))
|
||||||
{
|
{
|
||||||
scatterwalk_start(&in_walk, req->src);
|
scatterwalk_start(&in_walk, req->src);
|
||||||
|
#if LINUX_VERSION_CODE >= KERNEL_VERSION(6, 15, 0)
|
||||||
|
scatterwalk_map(&in_walk);
|
||||||
|
in_map = in_walk.addr;
|
||||||
|
#else
|
||||||
in_map = scatterwalk_map(&in_walk);
|
in_map = scatterwalk_map(&in_walk);
|
||||||
|
#endif
|
||||||
if (unlikely(IS_ERR(in_map))) {
|
if (unlikely(IS_ERR(in_map))) {
|
||||||
pr_err("%s: scatterwalk_map failed: %ld\n",
|
pr_err("%s: scatterwalk_map failed: %ld\n",
|
||||||
crypto_tfm_alg_driver_name(crypto_aead_tfm(tfm)),
|
crypto_tfm_alg_driver_name(crypto_aead_tfm(tfm)),
|
||||||
|
@ -1339,7 +1354,12 @@ static int AesGcmCrypt_1(struct aead_request *req, int decrypt_p, int rfc4106_p)
|
||||||
in_text = in_map + req->assoclen;
|
in_text = in_map + req->assoclen;
|
||||||
|
|
||||||
scatterwalk_start(&out_walk, req->dst);
|
scatterwalk_start(&out_walk, req->dst);
|
||||||
|
#if LINUX_VERSION_CODE >= KERNEL_VERSION(6, 15, 0)
|
||||||
|
scatterwalk_map(&out_walk);
|
||||||
|
out_map = out_walk.addr;
|
||||||
|
#else
|
||||||
out_map = scatterwalk_map(&out_walk);
|
out_map = scatterwalk_map(&out_walk);
|
||||||
|
#endif
|
||||||
if (unlikely(IS_ERR(out_map))) {
|
if (unlikely(IS_ERR(out_map))) {
|
||||||
pr_err("%s: scatterwalk_map failed: %ld\n",
|
pr_err("%s: scatterwalk_map failed: %ld\n",
|
||||||
crypto_tfm_alg_driver_name(crypto_aead_tfm(tfm)),
|
crypto_tfm_alg_driver_name(crypto_aead_tfm(tfm)),
|
||||||
|
@ -1425,10 +1445,20 @@ out:
|
||||||
free(sg_buf);
|
free(sg_buf);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
if (in_map)
|
if (in_map) {
|
||||||
|
#if LINUX_VERSION_CODE >= KERNEL_VERSION(6, 15, 0)
|
||||||
|
scatterwalk_unmap(&in_walk);
|
||||||
|
#else
|
||||||
scatterwalk_unmap(in_map);
|
scatterwalk_unmap(in_map);
|
||||||
if (out_map)
|
#endif
|
||||||
|
}
|
||||||
|
if (out_map) {
|
||||||
|
#if LINUX_VERSION_CODE >= KERNEL_VERSION(6, 15, 0)
|
||||||
|
scatterwalk_unmap(&out_walk);
|
||||||
|
#else
|
||||||
scatterwalk_unmap(out_map);
|
scatterwalk_unmap(out_map);
|
||||||
|
#endif
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
km_AesFree(&aes_copy);
|
km_AesFree(&aes_copy);
|
||||||
|
|
Loading…
Reference in New Issue