Commit Graph

184 Commits (master)

Author SHA1 Message Date
Sander van Deijck 0392b74485 kernel: fix AUTOLOAD lists extended with a second AutoLoad call
AUTOLOAD holds the load priority and boot flag followed by the module
names. crypto-ghash/arm-ce and sound-core/uml append a complete
$(call AutoLoad,...) to the list they inherit from the base package, so
its priority and boot flag ("09 0" and "30 0") end up as module names,
which kmodloader skips.

crypto-ghash/arm-ce now appends only the module name. sound-core/uml
replaces FILES with soundcore and hostaudio, so it replaces AUTOLOAD as
well, which also drops a duplicate soundcore and the sound modules it
does not ship.

Assisted-by: Gary Dotzler <geldot@protonmail.com>
Signed-off-by: Sander van Deijck <sander@vandeijck.com>
Link: https://github.com/openwrt/openwrt/pull/26279
Signed-off-by: Robert Marko <robimarko@gmail.com>
2026-11-03 11:45:53 +01:00
John Audia fb7bd8633b kernel: bump 6.18 to 6.18.57
Changelog: https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.18.57

Removed upstreamed:
  linux/generic/backport-6.18/948-v7.1-net-dsa-mt7530-fix-.get_stats64-sleeping-in-atomic-c.patch[1]
  linux/rockchip/patches-6.18/045-15-v7.0-media-v4l2-mem2mem-Add-a-kref-to-the-v4l2_m2m_dev-structure.patch[2]
  linux/rockchip/patches-6.18/045-16-v7.0-media-verisilicon-Avoid-G2-bus-error-while-decoding-H.264-an.patch[3]
  linux/rockchip/patches-6.18/045-43-v7.0-media-verisilicon-Fix-kernel-panic-due-to-__initconst-misuse.patch[4]

Manually rebased:
  linux/generic/backport-6.18/706-03-v7.2-netfilter-flowtable-bail-out-if-forward-path-cannot-b.patch
  linux/generic/pending-6.18/151-net-bridge-do-not-send-arp-replies-if-src-and-target.patch
  linux/bcm27xx/patches-6.18/0319-drivers-iommu-Add-BCM2712-IOMMU.patch
  linux/bcm27xx/patches-6.18/0351-brcmfmac-Fix-interoperating-DPP-and-other-encryption.patch

All other patches automatically rebased via update_kernel.sh

mac80211: 6.18.57 backports struct sockaddr_unsized[5], so add
160-backports-sockaddr_unsized-is-in-6.18.57.patch to only define it
in backports for older kernels.

kernel: 6.18.57 makes rpcsec_gss_krb5 use crypto/krb5[6], so add
kmod-crypto-krb5 and make kmod-fs-nfs-common-rpcsec depend on it.

ltq-ifxos: 6.18.57 converts proto_ops bind() to sockaddr_unsized[5],
so cast the bind address accordingly on 6.18.57+.

1. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.18.57&id=af98611ad109efcbfe3ba68eb10124ebc3257224
2. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.18.57&id=6c5d98f24f99596c0075c05d17b099d298f0246b
3. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.18.57&id=5133ef7c893c2c3aee7dd12503dc480de9dbfbb5
4. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.18.57&id=07861e84b766c6db8014bc34138f3be4a62aad2a
5. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.18.57&id=946dc5835c8fbe5eb5ceb13f5717778911ff4586
6. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.18.57&id=08efba8d6256053ac1f2fabd2b7b2ac60ab97aae

Build system: x86/64
Build-tested: x86/64-glibc
Run-tested: x86/64-glibc

Co-developed-by: Andre Heider <a.heider@gmail.com>
Signed-off-by: John Audia <therealgraysky@proton.me>
Link: https://github.com/openwrt/openwrt/pull/25925
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2026-10-31 23:24:46 +01:00
Sander van Deijck dbf68ebca8 kernel: kmod-crypto-sha1: package libsha1.ko
On kernel 6.18 the SHA-1 implementations live in lib/crypto/libsha1,
which crypto/sha1.ko depends on. It is usually built in (e.g. selected
by IPv6), but when it ends up as a module it was not packaged, so
sha1.ko and SCTP could not be loaded. Add it, like libsha256.ko and
libsha512.ko for the other SHA packages.

Signed-off-by: Sander van Deijck <sander@vandeijck.com>
Link: https://github.com/openwrt/openwrt/pull/26052
Signed-off-by: Robert Marko <robimarko@gmail.com>
2026-10-20 18:22:12 +02:00
Sander van Deijck 1ca53fffae kernel: drop @lt6.18/@ge6.18 version filters
All targets use kernel 6.18, so drop the version filters from the kmod
definitions: remove items only used before 6.18 and strip the @ge6.18
suffix from the others. Also remove the crypto-md5 octeon/powerpc
variants, which only contained 6.12 modules.

The generated package metadata is unchanged.

Signed-off-by: Sander van Deijck <sander@vandeijck.com>
Link: https://github.com/openwrt/openwrt/pull/26052
Signed-off-by: Robert Marko <robimarko@gmail.com>
2026-10-20 18:22:12 +02:00
Sander van Deijck 452b35cf4e kernel: drop stale KCONFIG symbols from kmod definitions
Remove KCONFIG symbols that no longer exist in kernel 6.18 from the kmod
definitions. Some were renamed and the new symbol is already listed in
the same package (e.g. CRYPTO_GF128MUL -> CRYPTO_LIB_GF128MUL,
USB_YEALINK -> INPUT_YEALINK, MEDIA_RC_SUPPORT -> RC_CORE). The others
belong to options and drivers that were removed upstream (e.g. CAN_LEDS,
E1000_NAPI, NF_FLOW_TABLE_HW, the Keyspan firmware options).

The generated package metadata is unchanged apart from the
Kernel-Config field of the affected packages.

Signed-off-by: Sander van Deijck <sander@vandeijck.com>
Link: https://github.com/openwrt/openwrt/pull/25965
Signed-off-by: Robert Marko <robimarko@gmail.com>
2026-10-20 10:19:04 +02:00
Sander van Deijck 6c862d0fe4 kernel: kmod-crypto-test: use CONFIG_CRYPTO_BENCHMARK
The tcrypt module is now built via CONFIG_CRYPTO_BENCHMARK, which
replaced CONFIG_CRYPTO_TEST. With the old symbol, tcrypt.ko is not
built on kernel 6.18 and the package is empty.

Switch to the new symbol and drop the stale CONFIG_CRYPTO_TEST entry
from the generic 6.18 kernel config.

Signed-off-by: Sander van Deijck <sander@vandeijck.com>
Link: https://github.com/openwrt/openwrt/pull/25965
Signed-off-by: Robert Marko <robimarko@gmail.com>
2026-10-20 10:19:03 +02:00
Sander van Deijck 4eb34d0434 kernel: drop kernel 6.12 conditionals from kmod definitions
All targets have been switched to kernel 6.18, so LINUX_6_12 is never
set any more. Clean up the kmod definitions accordingly:

- '@!LINUX_6_12' conditions are always true: drop them
- '+!LINUX_6_12:kmod-foo' dependencies become '+kmod-foo'
- '+LINUX_6_12:kmod-foo' dependencies are never active: drop them
- AutoLoad entries guarded by LINUX_6_12 are never used: drop them
- 'ifeq ($(KERNEL_PATCHVER),6.12)' blocks are never used: drop them

With kernel 6.18 the resulting package metadata is unchanged apart from
the dropped dependency conditions. The kmods that only exist on kernel
6.12 are removed in a follow-up commit.

Signed-off-by: Sander van Deijck <sander@vandeijck.com>
Link: https://github.com/openwrt/openwrt/pull/25965
Signed-off-by: Robert Marko <robimarko@gmail.com>
2026-10-20 10:19:03 +02:00
Julius Bairaktaris cd649934dc kernel: crypto: package the ChaCha20 cipher for chacha20poly1305 on 6.18
On 6.18 the rfc7539(chacha20,poly1305) template takes its ChaCha20
skcipher from crypto/chacha.ko, which CRYPTO_CHACHA20POLY1305 selects
but no package ships, and which needs lib/crypto/libchacha.ko.
Instantiating rfc7539esp(chacha20,poly1305) for IPsec then fails with
ENOSYS.

Ship chacha.ko with kmod-crypto-chacha20poly1305 on 6.18, load it
before the template and depend on kmod-crypto-lib-chacha20 for
libchacha.ko.

Assisted-by: Claude:claude-opus-5-5
Signed-off-by: Julius Bairaktaris <julius@bairaktaris.de>
Link: https://github.com/openwrt/openwrt/pull/25544
Signed-off-by: Robert Marko <robimarko@gmail.com>
2026-10-11 20:59:07 +02:00
Rosen Penev 938a43b522
kernel: remove kmod-crypto-misc
Nothing selects this. In addition, a lot of those algorithms are
legacy/obsolete.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/23927
Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
2026-07-17 09:51:18 +02:00
Alexandru Gagniuc 3de10be03f kernel: crypto-sha512-arm64: do not package with kernel 6.18
Since upstream commit 60e3f1e9b7a5 ("lib/crypto: arm64/sha512:
Migrate optimized SHA-512 code to library"), the kernel module is no
longer available, and its fucntionality os provided by the kernel
core. Thus do not try to package this for linux 6.18 and later.

Signed-off-by: Alexandru Gagniuc <mr.nuke.me@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/21506
Signed-off-by: Robert Marko <robimarko@gmail.com>
2026-05-28 10:15:20 +02:00
Mieczyslaw Nalewaj 54cb211d50 ramips: remove hack and use safexcel-eip93ies
Remove legacy hack patch, switch mt7621 crypto node to the intended
Safexcel insecure EIP93 compatible string and simplify crypto module
packaging to use the inside-secure eip93 driver.

Signed-off-by: Mieczyslaw Nalewaj <namiltd@yahoo.com>
Link: https://github.com/openwrt/openwrt/pull/22871
Signed-off-by: Nick Hainke <vincent@systemli.org>
2026-04-28 09:44:04 +02:00
Andrew LaMarche 907dd7bd93 kernel: crypto: fix build with Linux >= 6.18 after octeon-md5 removal
Linux commit c9e5ac0 ("lib/crypto: mips/md5: Migrate optimized code into
library") removed the MIPS-Octeon-specific MD5 implementation
(octeon-md5.ko) and replaced it with an optimized library implementation
in lib/crypto.

As a result, CONFIG_CRYPTO_MD5_OCTEON and the module
arch/mips/crypto/octeon-md5.ko no longer exist in kernels >= 6.18.

Signed-off-by: Andrew LaMarche <andrewjlamarche@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/23031
Signed-off-by: Nick Hainke <vincent@systemli.org>
2026-04-26 10:03:37 +02:00
Nick Hainke 199f6f1824 kenrel: crypto: fix build with Linux >= 6.18 after md5-ppc removal
Linux commit 09371e1349c9 ("lib/crypto: powerpc/md5: Migrate optimized code into library")
removed the PowerPC-specific MD5 implementation (md5-ppc.ko) and
replaced it with an optimized library implementation in lib/crypto.

As a result, CONFIG_CRYPTO_MD5_PPC and the module
arch/powerpc/crypto/md5-ppc.ko no longer exist in kernels >= 6.18.

Link: https://github.com/openwrt/openwrt/pull/22732
Signed-off-by: Nick Hainke <vincent@systemli.org>
2026-04-21 17:53:01 +02:00
Mieczyslaw Nalewaj 56163029fe modules: generate plain module names via version filters
Replace conditional "LINUX_6_12:mod" / "!LINUX_6_12:mod" AUTOLOAD entries
with version-filtered module names using @lt6.18 / @ge6.18. This makes
version_filter emit plain module names into /etc/modules.d(e.g. "crc32c_generic"),
allowing kmodloader to find and load the correct module for the running kernel.
Fixes crc32c (and related crypto modules) not being autoloaded on 6.12 kernels.

Signed-off-by: Mieczyslaw Nalewaj <namiltd@yahoo.com>
Link: https://github.com/openwrt/openwrt/pull/22798
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2026-04-12 23:56:07 +02:00
Shiji Yang cce5a153f7 kernel: modules: fix kmod-crypto-misc build error
cryptd has been decoupled from crypto-misc in the 6.18 kernel. Fix:

ERROR: module '/home/runner/work/Actions_/Actions_/openwrt/build_dir/target-i386_pentium4_musl/linux-x86_generic/linux-6.18.20/crypto/cryptd.ko' is missing.
make[3]: *** [modules/crypto.mk:873: /home/runner/work/Actions_/Actions_/openwrt/bin/targets/x86/generic/packages/kmod-crypto-misc-6.18.20-r1.apk] Error 1

Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/22730
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2026-04-06 01:38:41 +02:00
Mieczyslaw Nalewaj 94c7f4a25f packages: 6.18: update modules files
Update modules files for kernel 6.18.

Signed-off-by: Mieczyslaw Nalewaj <namiltd@yahoo.com>
Link: https://github.com/openwrt/openwrt/pull/21078
Signed-off-by: Robert Marko <robimarko@gmail.com>
2026-03-28 11:51:10 +01:00
Mieczyslaw Nalewaj 354a26b094 crypto: eip93: use in-tree driver for kernel 6.18
This patch set introduces support for using the in-tree (mainline)
EIP93 crypto driver for kernel 6.18 and later, along with additional
improvements and fixes:
 - Conditional Kconfig/Makefile handling for crypto-hw-eip93 to enable use of the mainline driver with kernel 6.18+.
 - Patch 926: Use software AES fallback for small requests in the EIP93 driver.
 - Patch 927: Add `mediatek,mtk-eip93` compatible string for upstream kernel device trees.

Signed-off-by: Mieczyslaw Nalewaj <namiltd@yahoo.com>
Link: https://github.com/openwrt/openwrt/pull/21078
Signed-off-by: Robert Marko <robimarko@gmail.com>
2026-03-28 11:51:10 +01:00
Robert Marko 93665d0aa3 linux: crypto: fix dependencies for curve25519 and poly1305
Currently, kmod-crypto-kpp is only implied for curve25519 and thus it
can get unselected and then building will fail due to missing kpp.ko.

Same issue happens with kmod-crypto-hash for poly1305.

So, lets drop the whole implies logic and make sure to always select
them as dependencies.

Fixes: #21386
Link: https://github.com/openwrt/openwrt/pull/21483
Signed-off-by: Robert Marko <robimarko@gmail.com>
2026-01-11 00:25:06 +01:00
Hauke Mehrtens e8a27c4196 kernel: kmod-crypto-lib-aescfb: Remove package
kmod-crypto-lib-aescfb is marked hidden and not selected by any other
package, it can not be build.

The Kconfig option in the kernel has no title, so it can not be
selected, it is only selected by CONFIG_TCG_TPM2_HMAC in the kernel.

Fixes: ef2310b031 ("kernel: modules: update dependency for kmod-tpm")
Fixes: aa51a1c13a ("kernel: kmod-crypto-lib-aescfb: Mark hidden")
Link: https://github.com/openwrt/openwrt/pull/19532
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-07-27 01:35:36 +02:00
Hauke Mehrtens aa51a1c13a kernel: kmod-crypto-lib-aescfb: Mark hidden
The Kernel config option CONFIG_CRYPTO_LIB_AESCFB has no title and can not
be directly selected. Do the same for this kmod and make it hidden.

Link: https://github.com/openwrt/openwrt/pull/19480
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-07-26 01:11:20 +02:00
Hauke Mehrtens 476902afa6 kernel: kmod-crypto-engine: Mark hidden
The Kernel config option CONFIG_CRYPTO_ENGINE has no title and can not
be directly selected. Do the same for this kmod and make it hidden.

Link: https://github.com/openwrt/openwrt/pull/19480
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-07-26 01:11:20 +02:00
Christian Lamparter eab2b27699 uml: fix CONFIG_ALL_KMODS
building with CONFIG_ALL_KMODS unearthed all sorts of interesting
failures

ERROR: module 'crypto/chacha-x86_64.ko' is missing.
ERROR: module 'crypto/poly1305-x86_64.ko' is missing.
ERROR: module 'crypto/curve25519-x86_64.ko' is missing.
ERROR: module 'crypto/camellia-x86_64.ko' is missing.

These stem from the main UML Makefile.
|# UML only makes sense on linux
|ifeq ($(HOST_OS),Linux)
|  ifeq ($(HOST_ARCH),x86_64)
|
|ARCH:=x86_64
|BOARD:=uml

The modules in question define x86_64 optimized version and
the OpenWrt's buildsystem expects that these modules will be present.

SPI is not available due to the UML Architecture not setting HAS_IOMEM.
In the future, UML could get (virtualized) IOMEM and/or SPI could drop
the HAS_IOMEM dependency. A patch for the latter has been sent:
<https://lore.kernel.org/linux-spi/20250530234941.950431-1-chunkeey@gmail.com/T/#u>

mt76: Unfortunately, the firmware packages are picked up, but the
associated drivers can't be build because iowrite32+ioread32 are
not defined.

Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
2025-06-09 11:10:19 +02:00
Mieczyslaw Nalewaj 0caa30b66a
kernel: add new kmod and update kmod-tpm
Create a crypto-lib-aescfb package needed for new deps for kmod-tpm.

Package kmod-tpm is missing dependencies for the following libraries:
ecdh_generic.ko
kpp.ko
libaescfb.ko

Co-authored-by: John Audia <therealgraysky@proton.me>
Signed-off-by: Mieczyslaw Nalewaj <namiltd@yahoo.com>
Link: https://github.com/openwrt/openwrt/pull/16547
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2025-04-30 16:26:35 +02:00
Tianling Shen 9d434a8abf kernel: crypto: add atmel i2c hw accelerator support
Add support for Microchip / Atmel ECC/SHA/RNG hw accelerator.

Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
Link: https://github.com/openwrt/openwrt/pull/17253
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2024-12-22 18:19:16 +01:00
Thomas Richard 7bcc68ede3 kernel: package crypto_engine driver
It is needed for the stm32/stm32mp1 subtarget.

Signed-off-by: Thomas Richard <thomas.richard@bootlin.com>
Link: https://github.com/openwrt/openwrt/pull/16716
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2024-11-23 15:53:21 +01:00
Mieczyslaw Nalewaj e67aa1d5bf packages: remove remnants of kernels below 6.6
Remove remnants of kernels below 6.6.

Signed-off-by: Mieczyslaw Nalewaj <namiltd@yahoo.com>
Link: https://github.com/openwrt/openwrt/pull/16432
Signed-off-by: Robert Marko <robimarko@gmail.com>
2024-09-21 13:03:49 +02:00
Hauke Mehrtens 2ebeda0294
kernel: Add kmod-crypto-xxhash
kxxhash_generic.ko is a soft dependency of kmod-fs-btrfs, but we did not
package it. Extract the kmod-lib-xxhash and then package
xxhash_generic.ko.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Link: https://github.com/openwrt/openwrt/pull/15833
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2024-07-03 13:11:01 +02:00
Hauke Mehrtens f89091bba6
kernel: Add kmod-crypto-blake2b
The kmod-fs-btrfs package has a soft dependency to kmod-crypto-blake2b

The CONFIG_BTRFS_FS kernel build option selects CONFIG_CRYPTO_BLAKE2B,
but we did not package it before.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Link: https://github.com/openwrt/openwrt/pull/15833
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2024-07-03 13:11:00 +02:00
Nathaniel Wesley Filardo 7d71c03ab1 kernel: crypto: remove FCRYPT from miscellany
It has its own dedicated knob

Signed-off-by: Nathaniel Wesley Filardo <nwfilardo@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/15761
Signed-off-by: Robert Marko <robimarko@gmail.com>
2024-06-23 14:07:17 +02:00
Linus Walleij 2eef4f7354 ixp4xx: Bump to kernel v6.6
The IXP4xx is well supported upstream and can readily be
supported with kernel v6.6. To simplify things after the
DTS directory was renamed, switch to v6.6 only.

Bring in some outstanding patches.

Tested on the Gateworks GW2348-4.

Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2024-05-20 21:04:08 +02:00
Paul Spooren d997477775 treewide: remove implicit SUBTARGET
Historically it's possible to leave the `SUBTARGETS` undefined and
automatically fallback to a "generic" subtarget. This however breaks
various downstream scripts which may have expectations around filenames:

While some targets with an explicit generic subtarget contain `generic`
in the filenames of artifacts, implicit "subtargets" don't.

Right now this breaks the CI[1], possibly also scripts using the ImageBuilders.

This commit removes all code that support implicit handling of
subtargets and instead requires every target to define "SUBTARGETS".

[1]: https://github.com/openwrt/openwrt/actions/runs/8592821105/job/23548273630

Signed-off-by: Paul Spooren <mail@aparcar.org>
2024-04-08 21:53:05 +02:00
Tim Harvey ae8bf1a26e imx: add imx8m support
Add imx8m support:
 - add a cortexa53 subtarget to imx
 - move ARCH and KERNELNAME to subtargets
 - account for kernel modules that are not used for cortexa53

No device-specific targets or firmware images are created yet but all
imx8m* dtbs will be built.

enabling CONFIG_TARGET_ROOTFS_INITRAMFS results in
openwrt-imx-cortexa53-imx8m-initramfs-kernel.bin which has been
successfully booted on an imx8mm-evk using the following:

u-boot=> tftpboot $fdt_addr_r image-imx8mm-evk.dtb && \
tftpboot $kernel_addr_r openwrt-imx-cortexa53-imx8m-initramfs-kernel.bin && \
booti $kernel_addr_r - $fdt_addr_r

Signed-off-by: Tim Harvey <tharvey@gateworks.com>
2024-03-24 21:19:10 +01:00
Hauke Mehrtens c00fbba57c kernel: kmod-crypto-gf128: Fix build with kernel 6.6
The gf128mul.ko module was moved in kernel 6.2:
https://git.kernel.org/linus/61c581a46a9668747d355436bd4b2505594539bd

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2024-03-14 20:53:34 +01:00
Hauke Mehrtens 091897fad2 kernel: kmod-crypto-user: Add missing dependency
The algif_rng.ko kernel module depends on the rng.ko kernel module with
kernel 6.6 when compiling for MIPS malta.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2024-03-14 20:53:34 +01:00
Robert Marko 729ad2feb3 kernel: crypto: add kmod-crypto-geniv as dependency to modules that use it
Now that geniv is packaged separately for kernel 6.6, we need to add it
as a dependency to kmod-crypto-seqiv and kmod-crypto-echainiv that require
it under kernel 6.6.

Signed-off-by: Robert Marko <robimarko@gmail.com>
2024-03-11 20:17:26 +01:00
Robert Marko e129450321 kernel: crypto: remove geniv from aead with kernel 6.6
geniv was separated intentionally from aead in kernel 6.5, and since
we now have it packaged separately as well remove it from kmod-aead
in 6.6.

Signed-off-by: Robert Marko <robimarko@gmail.com>
2024-03-11 20:17:26 +01:00
Robert Marko b065981e15 kernel: crypto: package geniv as a separate module for 6.6
In kernel 6.5 geniv was split from AEAD config symbol, in order to manage
its dependencies on other code.

So, lets do the same in OpenWrt and split it from aead module so others
can depend on geniv directly.

Signed-off-by: Robert Marko <robimarko@gmail.com>
2024-03-11 20:17:26 +01:00
Weijie Gao 35b04bafa1 kernel: modules: crypto: adapt for kernel 6.6
Adapt crypto kmods for building under kernel 6.6:
* mpi.ko moved from lib/mpi/mpi.ko to lib/crypto/mpi/mpi.ko
* jitterentropy_rng requires SHA3 support for kernel 6.6

Signed-off-by: Robert Marko <robimarko@gmail.com>
Signed-off-by: Tan Zien <nabsdh9@gmail.com>
Signed-off-by: Weijie Gao <hackpascal@gmail.com>
2024-03-11 20:17:26 +01:00
Robert Marko ce2b302ca4 kernel: crypto: use ARM64 SHA256 CE optimized module for more targets
At start I only set qualcommax to use the Crypto Extensions optimized
version of SHA256 as I knew it supports the optional Crypto Extensions.

However, after looking into the tree there are more targets/subtargets
that I could find at least a specification sheet that says the support
Cryptographic Extensions, so lets add them.

Signed-off-by: Robert Marko <robimarko@gmail.com>
2024-03-08 17:16:18 +01:00
Robert Marko 90c09ede93 kernel: crypto: use ARM64 SHA1 CE optimized module for more targets
At start I only set qualcommax to use the Crypto Extensions optimized
version of SHA1 as I knew it supports the optional Crypto Extensions.

However, after looking into the tree there are more targets/subtargets
that I could find at least a specification sheet that says the support
Cryptographic Extensions, so lets add them.

Signed-off-by: Robert Marko <robimarko@gmail.com>
2024-03-08 17:16:18 +01:00
Robert Marko 5b1d6d4607 kernel: crypto: add SHA512 ARM64 ASM optimized module
Kernel has an ASM optimized version of SHA512 that was ported from
OpenSSL, so lets package it as it provides significant perfomance
improvement compared to the generic implementation.

There is a Cryptographic Extension based version as well, but that relies
on ARMv8.2 ISA which I am not aware any of the OpenWrt supported SoC-s use.

Signed-off-by: Robert Marko <robimarko@gmail.com>
2024-03-06 22:00:58 +01:00
Robert Marko 4443470a57 kernel: crypto: add SHA2(224 and 256) ARM64 CE optimized module
Kernel has optimized version of SHA2(224 and 256) using the ARMv8 Crypto
Extensions, so lets package it.

Use it by default for qualcommax as it uses Cortex-A53 core and has ARMv8
CE extensions present.

Signed-off-by: Robert Marko <robimarko@gmail.com>
2024-03-06 18:38:28 +01:00
Robert Marko 09207c0348 kernel: crypto: add SHA256 ARM64 ASM optimized module
Kernel has an ASM optimized version of SHA256 that was ported from
OpenSSL, so lets package it as it provides significant perfomance
improvement compared to the generic implementation.

Signed-off-by: Robert Marko <robimarko@gmail.com>
2024-03-06 18:30:21 +01:00
Robert Marko 9425064bdb kernel: crypto: add SHA1 ARM64 CE optimized module
Kernel has optimized version of SHA1 using the ARMv8 Crypto Extensions,
so lets package it.

Use it by default for qualcommax as it uses Cortex-A53 core and has ARMv8
CE extensions present.

Signed-off-by: Robert Marko <robimarko@gmail.com>
2024-03-06 12:16:11 +01:00
Robert Marko 3e6f64d443 kernel: crypto: package SHA3
SHA3 is now required by jitterentropy_rng in kernel 6.6, so lets start
preparing by packaging SHA3 support as its supported in 5.15 and 6.1
kernels as well.

AFAIK, only ARMv8.2 has a crypto extension for SHA3, however I am not aware
of any SoC we support that uses ARMv8.2 ISA so its not enabled currently.

Signed-off-by: Robert Marko <robimarko@gmail.com>
2024-03-05 20:23:46 +01:00
Linus Walleij c1318bc73e
ixp4xx: Add a ixp4xx hardware crypto kernel module
The IXP4xx crypto module must be loaded after the rootfs is
up as it depends on loading some NPE microcode from the file
system.

Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2023-10-25 11:29:05 +02:00
Linus Walleij 743dc8dd15
kernel: crypto: armeb build rules for lib-chacha20
The lib-chacha20 library is missing build rules for big endian
ARM, and since IXP4xx is big endian ARM we need those rules to
build for IXP4xx.

Suggested-by: Tomasz Maciej Nowak <tmn505@gmail.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2023-10-20 13:27:07 +02:00
Aviana Cruz 46d673033b
ramips: add support for mtk eip93 crypto engine
Mediatek EIP93 Crypto engine is a crypto accelerator which
is available in the Mediatek MT7621 SoC.

Signed-off-by: Aviana Cruz <gwencroft@proton.me>
Co-authored-by: Richard van Schagen <vschagen@icloud.com>
Co-authored-by: Chukun Pan <amadeus@jmu.edu.cn>
2023-09-12 14:57:54 +02:00
Christian Lamparter 959563fb81 uml: exclude some /arch/x86 optimizations
The x86_64 UML target wants to include SSSE3 optimized
crypto code which lives under /arch/x86/crypto.

However, these are not built and this causes an error.
| ERROR: module '[...]/arch/x86/crypto/sha512-ssse3.ko' is missing.
| make[3]: *** [modules/crypto.mk:990: [...]/kmod-crypto-sha512_5.15.112-1_x86_64.ipk] Error 1

Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
2023-05-22 14:45:03 +02:00
Nick Hainke 047361dee4
treewide: cleanup kernel symbol references
We only use 5.15 kernel. So remove all those unnecessary symbols
referencing 5.10 or 5.15 kernel.

Can be found with:
  git grep -E 'LINUX_5_1(0|5)'

Note that we remove the dependency from "sound-soc-chipdip-dac" instead
of removing the complete kernel package. The 5.15 version bump forgot to
delete the "@LINUX_5_10" dependency. The kernel package is still needed
in 5.15 kernel.

Signed-off-by: Nick Hainke <vincent@systemli.org>
2023-05-12 13:02:44 +02:00