Backport a patch [1] to address a 6.18 kernel compile issue. [1] https://github.com/cryptodev-linux/cryptodev-linux/commit/08644db02d43478f802755903212f5ee506af73b
Signed-off-by: Ryan Eatmon <[email protected]> --- .../cryptodev/cryptodev-module-arago.inc | 4 ++ .../0001-Fix-build-for-Linux-6-18-rc1.patch | 53 +++++++++++++++++++ 2 files changed, 57 insertions(+) create mode 100644 meta-arago-distro/recipes-kernel/cryptodev/cryptodev-module/0001-Fix-build-for-Linux-6-18-rc1.patch diff --git a/meta-arago-distro/recipes-kernel/cryptodev/cryptodev-module-arago.inc b/meta-arago-distro/recipes-kernel/cryptodev/cryptodev-module-arago.inc index 74688f1c..9bd89679 100644 --- a/meta-arago-distro/recipes-kernel/cryptodev/cryptodev-module-arago.inc +++ b/meta-arago-distro/recipes-kernel/cryptodev/cryptodev-module-arago.inc @@ -1,3 +1,7 @@ PR:append = ".arago0" KERNEL_MODULE_AUTOLOAD += "cryptodev" + +FILESEXTRAPATHS:prepend := "${THISDIR}/cryptodev-module:" + +SRC_URI += "file://0001-Fix-build-for-Linux-6-18-rc1.patch" diff --git a/meta-arago-distro/recipes-kernel/cryptodev/cryptodev-module/0001-Fix-build-for-Linux-6-18-rc1.patch b/meta-arago-distro/recipes-kernel/cryptodev/cryptodev-module/0001-Fix-build-for-Linux-6-18-rc1.patch new file mode 100644 index 00000000..d7f1d05c --- /dev/null +++ b/meta-arago-distro/recipes-kernel/cryptodev/cryptodev-module/0001-Fix-build-for-Linux-6-18-rc1.patch @@ -0,0 +1,53 @@ +From 08644db02d43478f802755903212f5ee506af73b Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Joan=20Bruguera=20Mic=C3=B3?= <[email protected]> +Date: Sat, 6 Sep 2025 20:36:38 +0000 +Subject: [PATCH] Fix build for Linux 6.18-rc1 +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +It's no longer required to use nth_page() when iterating pages within a +single scatterlist entry. + +Note I believe this code path in `sg_advance` is currently unreachable: +It is only called from `get_userbuf_srtp`, passing in a scatterlist +copied from one created by `__get_userbuf`, which only generates +entries such that `sg->offset + sg->length <= PAGE_SIZE`. +On the other hand, this code path in `sg_advance` requires that +`sg->offset + sg->length > sg->offset + consumed >= PAGE_SIZE`. + +See also: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=f8f03eb5f0f91fddc9bb8563c7e82bd7d3ba1dd0 + https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=ce00897b94bc5c62fab962625efcf1ab824d3688 + +Upstream-Status: Backport [https://github.com/cryptodev-linux/cryptodev-linux/commit/08644db02d43478f802755903212f5ee506af73b] + +Signed-off-by: Joan Bruguera Micó <[email protected]> +--- + util.c | 5 +++++ + 1 file changed, 5 insertions(+) + +diff --git a/util.c b/util.c +index 9eba4836..d4267816 100644 +--- a/util.c ++++ b/util.c +@@ -21,6 +21,7 @@ + + #include <crypto/scatterwalk.h> + #include <linux/scatterlist.h> ++#include <linux/version.h> + #include "util.h" + + /* These were taken from Maxim Levitsky's patch to lkml. +@@ -44,8 +45,12 @@ struct scatterlist *sg_advance(struct scatterlist *sg, int consumed) + sg->length -= consumed; + + if (sg->offset >= PAGE_SIZE) { ++#if (LINUX_VERSION_CODE >= KERNEL_VERSION(6, 18, 0)) ++ struct page *page = sg_page(sg) + (sg->offset / PAGE_SIZE); ++#else + struct page *page = + nth_page(sg_page(sg), sg->offset / PAGE_SIZE); ++#endif + sg_set_page(sg, page, sg->length, sg->offset % PAGE_SIZE); + } + -- 2.43.0 -=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#16883): https://lists.yoctoproject.org/g/meta-arago/message/16883 Mute This Topic: https://lists.yoctoproject.org/mt/116699490/21656 Group Owner: [email protected] Unsubscribe: https://lists.yoctoproject.org/g/meta-arago/unsub [[email protected]] -=-=-=-=-=-=-=-=-=-=-=-
