Skip to content

Commit bbe956c

Browse files
authored
Merge pull request #8667 from douzzer/20250413-linuxkm-linux6v15-fixes
20250413-linuxkm-linux6v15-fixes
2 parents b77bd78 + 57baae9 commit bbe956c

3 files changed

Lines changed: 36 additions & 6 deletions

File tree

.wolfssl_known_macro_extras

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -569,9 +569,9 @@ WOLFSENTRY_H
569569
WOLFSENTRY_NO_JSON
570570
WOLFSSL_32BIT_MILLI_TIME
571571
WOLFSSL_AARCH64_PRIVILEGE_MODE
572-
WOLFSSL_AES_CTR_EXAMPLE
573572
WOLFSSL_AESNI_BY4
574573
WOLFSSL_AESNI_BY6
574+
WOLFSSL_AES_CTR_EXAMPLE
575575
WOLFSSL_AFTER_DATE_CLOCK_SKEW
576576
WOLFSSL_ALGO_HW_MUTEX
577577
WOLFSSL_ALLOW_CRIT_AIA

configure.ac

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9364,9 +9364,9 @@ fi
93649364
AC_ARG_ENABLE([linuxkm-lkcapi-register],
93659365
[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)])],
93669366
[ENABLED_LINUXKM_LKCAPI_REGISTER=$enableval],
9367-
[ENABLED_LINUXKM_LKCAPI_REGISTER=none]
9367+
[ENABLED_LINUXKM_LKCAPI_REGISTER=no]
93689368
)
9369-
if test "$ENABLED_LINUXKM_LKCAPI_REGISTER" != "none"
9369+
if test "$ENABLED_LINUXKM_LKCAPI_REGISTER" != "no"
93709370
then
93719371
AM_CFLAGS="$AM_CFLAGS -DLINUXKM_LKCAPI_REGISTER"
93729372

linuxkm/lkcapi_glue.c

Lines changed: 33 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1145,7 +1145,12 @@ static int AesGcmCrypt_1(struct aead_request *req, int decrypt_p, int rfc4106_p)
11451145

11461146
if (req->src->length >= assoclen && req->src->length) {
11471147
scatterwalk_start(&assocSgWalk, req->src);
1148+
#if LINUX_VERSION_CODE >= KERNEL_VERSION(6, 15, 0)
1149+
scatterwalk_map(&assocSgWalk);
1150+
assoc = assocSgWalk.addr;
1151+
#else
11481152
assoc = scatterwalk_map(&assocSgWalk);
1153+
#endif
11491154
if (unlikely(IS_ERR(assoc))) {
11501155
pr_err("%s: scatterwalk_map failed: %ld\n",
11511156
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)
11771182

11781183
if (assocmem)
11791184
free(assocmem);
1180-
else
1185+
else {
1186+
#if LINUX_VERSION_CODE >= KERNEL_VERSION(6, 15, 0)
1187+
scatterwalk_unmap(&assocSgWalk);
1188+
#else
11811189
scatterwalk_unmap(assoc);
1190+
#endif
1191+
}
11821192

11831193
if (unlikely(err)) {
11841194
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)
13281338
(req->dst->length >= req->assoclen + req->cryptlen))
13291339
{
13301340
scatterwalk_start(&in_walk, req->src);
1341+
#if LINUX_VERSION_CODE >= KERNEL_VERSION(6, 15, 0)
1342+
scatterwalk_map(&in_walk);
1343+
in_map = in_walk.addr;
1344+
#else
13311345
in_map = scatterwalk_map(&in_walk);
1346+
#endif
13321347
if (unlikely(IS_ERR(in_map))) {
13331348
pr_err("%s: scatterwalk_map failed: %ld\n",
13341349
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)
13391354
in_text = in_map + req->assoclen;
13401355

13411356
scatterwalk_start(&out_walk, req->dst);
1357+
#if LINUX_VERSION_CODE >= KERNEL_VERSION(6, 15, 0)
1358+
scatterwalk_map(&out_walk);
1359+
out_map = out_walk.addr;
1360+
#else
13421361
out_map = scatterwalk_map(&out_walk);
1362+
#endif
13431363
if (unlikely(IS_ERR(out_map))) {
13441364
pr_err("%s: scatterwalk_map failed: %ld\n",
13451365
crypto_tfm_alg_driver_name(crypto_aead_tfm(tfm)),
@@ -1425,10 +1445,20 @@ static int AesGcmCrypt_1(struct aead_request *req, int decrypt_p, int rfc4106_p)
14251445
free(sg_buf);
14261446
}
14271447
else {
1428-
if (in_map)
1448+
if (in_map) {
1449+
#if LINUX_VERSION_CODE >= KERNEL_VERSION(6, 15, 0)
1450+
scatterwalk_unmap(&in_walk);
1451+
#else
14291452
scatterwalk_unmap(in_map);
1430-
if (out_map)
1453+
#endif
1454+
}
1455+
if (out_map) {
1456+
#if LINUX_VERSION_CODE >= KERNEL_VERSION(6, 15, 0)
1457+
scatterwalk_unmap(&out_walk);
1458+
#else
14311459
scatterwalk_unmap(out_map);
1460+
#endif
1461+
}
14321462
}
14331463

14341464
km_AesFree(&aes_copy);

0 commit comments

Comments
 (0)