mirror of
https://github.com/Ysurac/openmptcprouter.git
synced 2025-02-12 11:21:55 +00:00
Add crytodev-linux package from hackpascal openwrt fork for 6.6
This commit is contained in:
parent
17be7c5d69
commit
aeff1eca40
5 changed files with 228 additions and 0 deletions
58
6.6/package/kernel/cryptodev-linux/Makefile
Normal file
58
6.6/package/kernel/cryptodev-linux/Makefile
Normal file
|
@ -0,0 +1,58 @@
|
|||
#
|
||||
# Copyright (C) 2014 OpenWrt.org
|
||||
#
|
||||
# This is free software, licensed under the GNU General Public License v2.
|
||||
# See /LICENSE for more information.
|
||||
#
|
||||
# $Id$
|
||||
|
||||
include $(TOPDIR)/rules.mk
|
||||
include $(INCLUDE_DIR)/kernel.mk
|
||||
|
||||
PKG_NAME:=cryptodev-linux
|
||||
PKG_VERSION:=1.13
|
||||
PKG_RELEASE:=1
|
||||
|
||||
PKG_SOURCE_URL:=https://codeload.github.com/$(PKG_NAME)/$(PKG_NAME)/tar.gz/$(PKG_NAME)-$(PKG_VERSION)?
|
||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
|
||||
PKG_HASH:=33b7915c46eb39a37110e88c681423c0dd0df25d784b6e1475ac3196367f0db5
|
||||
PKG_LICENSE:=GPL-2.0
|
||||
PKG_LICENSE_FILES:=COPYING
|
||||
|
||||
PKG_MAINTAINER:=Ansuel Smith <ansuelsmth@gmail.com>
|
||||
|
||||
PKG_BUILD_DIR:=$(KERNEL_BUILD_DIR)/$(PKG_NAME)-$(PKG_NAME)-$(PKG_VERSION)
|
||||
|
||||
include $(INCLUDE_DIR)/package.mk
|
||||
|
||||
define KernelPackage/cryptodev
|
||||
SUBMENU:=Cryptographic API modules
|
||||
TITLE:=Driver for cryptographic acceleration
|
||||
URL:=http://cryptodev-linux.org/
|
||||
VERSION:=$(LINUX_VERSION)+$(PKG_VERSION)-$(BOARD)-$(PKG_RELEASE)
|
||||
DEPENDS:=+kmod-crypto-authenc +kmod-crypto-hash
|
||||
FILES:=$(PKG_BUILD_DIR)/cryptodev.$(LINUX_KMOD_SUFFIX)
|
||||
AUTOLOAD:=$(call AutoLoad,50,cryptodev)
|
||||
MODPARAMS.cryptodev:=cryptodev_verbosity=-1
|
||||
endef
|
||||
|
||||
define KernelPackage/cryptodev/description
|
||||
This is a driver for that allows to use the Linux kernel supported
|
||||
hardware ciphers by user-space applications.
|
||||
endef
|
||||
|
||||
define Build/Configure
|
||||
endef
|
||||
|
||||
define Build/Compile
|
||||
$(MAKE) -C $(PKG_BUILD_DIR) \
|
||||
$(KERNEL_MAKE_FLAGS) \
|
||||
KERNEL_DIR="$(LINUX_DIR)"
|
||||
endef
|
||||
|
||||
define Build/InstallDev
|
||||
$(INSTALL_DIR) $(STAGING_DIR)/usr/include/crypto
|
||||
$(CP) $(PKG_BUILD_DIR)/crypto/cryptodev.h $(STAGING_DIR)/usr/include/crypto/
|
||||
endef
|
||||
|
||||
$(eval $(call KernelPackage,cryptodev))
|
|
@ -0,0 +1,41 @@
|
|||
From 99ae2a39ddc3f89c66d9f09783b591c0f2dbf2e9 Mon Sep 17 00:00:00 2001
|
||||
From: Gaurav Jain <gaurav.jain@nxp.com>
|
||||
Date: Wed, 28 Jun 2023 12:44:32 +0530
|
||||
Subject: [PATCH] cryptodev_verbosity: Fix build for Linux 6.4
|
||||
|
||||
register_sysctl_table api is removed in kernel.
|
||||
migrate to the new api register_sysctl.
|
||||
|
||||
child is also removed in linux 6.4 ctl_table struct.
|
||||
|
||||
Signed-off-by: Gaurav Jain <gaurav.jain@nxp.com>
|
||||
---
|
||||
ioctl.c | 6 ++++++
|
||||
1 file changed, 6 insertions(+)
|
||||
|
||||
diff --git a/ioctl.c b/ioctl.c
|
||||
index 8f241b86..4262bbd5 100644
|
||||
--- a/ioctl.c
|
||||
+++ b/ioctl.c
|
||||
@@ -1246,7 +1246,9 @@ static struct ctl_table verbosity_ctl_root[] = {
|
||||
{
|
||||
.procname = "ioctl",
|
||||
.mode = 0555,
|
||||
+#if (LINUX_VERSION_CODE < KERNEL_VERSION(6, 4, 0))
|
||||
.child = verbosity_ctl_dir,
|
||||
+#endif
|
||||
},
|
||||
{},
|
||||
};
|
||||
@@ -1267,7 +1269,11 @@ static int __init init_cryptodev(void)
|
||||
return rc;
|
||||
}
|
||||
|
||||
+#if (LINUX_VERSION_CODE < KERNEL_VERSION(6, 4, 0))
|
||||
verbosity_sysctl_header = register_sysctl_table(verbosity_ctl_root);
|
||||
+#else
|
||||
+ verbosity_sysctl_header = register_sysctl(verbosity_ctl_root->procname, verbosity_ctl_dir);
|
||||
+#endif
|
||||
|
||||
pr_info(PFX "driver %s loaded.\n", VERSION);
|
||||
|
|
@ -0,0 +1,34 @@
|
|||
From 592017c3a910a3905b1925aee88c4674e9a596b7 Mon Sep 17 00:00:00 2001
|
||||
From: Gaurav Jain <gaurav.jain@nxp.com>
|
||||
Date: Tue, 30 May 2023 17:09:42 +0530
|
||||
Subject: [PATCH] zero copy: Fix build for Linux 6.4
|
||||
|
||||
get_user_pages_remote api prototype is changed in kernel.
|
||||
struct vm_area_struct **vmas argument is removed.
|
||||
Migrate to the new API.
|
||||
|
||||
Signed-off-by: Gaurav Jain <gaurav.jain@nxp.com>
|
||||
---
|
||||
zc.c | 6 +++++-
|
||||
1 file changed, 5 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/zc.c b/zc.c
|
||||
index fdf7da17..6637945a 100644
|
||||
--- a/zc.c
|
||||
+++ b/zc.c
|
||||
@@ -80,10 +80,14 @@ int __get_userbuf(uint8_t __user *addr, uint32_t len, int write,
|
||||
ret = get_user_pages_remote(task, mm,
|
||||
(unsigned long)addr, pgcount, write ? FOLL_WRITE : 0,
|
||||
pg, NULL, NULL);
|
||||
-#else
|
||||
+#elif (LINUX_VERSION_CODE < KERNEL_VERSION(6, 4, 0))
|
||||
ret = get_user_pages_remote(mm,
|
||||
(unsigned long)addr, pgcount, write ? FOLL_WRITE : 0,
|
||||
pg, NULL, NULL);
|
||||
+#else
|
||||
+ ret = get_user_pages_remote(mm,
|
||||
+ (unsigned long)addr, pgcount, write ? FOLL_WRITE : 0,
|
||||
+ pg, NULL);
|
||||
#endif
|
||||
#if (LINUX_VERSION_CODE < KERNEL_VERSION(5, 8, 0))
|
||||
up_read(&mm->mmap_sem);
|
|
@ -0,0 +1,60 @@
|
|||
From bb8bc7cf60d2c0b097c8b3b0e807f805b577a53f Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Joan=20Bruguera=20Mic=C3=B3?= <joanbrugueram@gmail.com>
|
||||
Date: Mon, 3 Jul 2023 00:46:02 +0000
|
||||
Subject: [PATCH] Move recent Linux version #ifdefs from v6.4 to v6.5
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
The latest commits, meant to fix the build on Linux 6.4, are actually
|
||||
fixing the build for API changes introduced in the merge window of the
|
||||
yet-unreleased Linux 6.5, and actually break the build for Linux 6.4.
|
||||
|
||||
In particular, the upstream commits introducing the API changes are the
|
||||
following, which are *not* included in the Linux v6.4 tag:
|
||||
* https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=19c4e618a1bc3d0cad1f04c857be8076cb05bbb2
|
||||
* https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=ca5e863233e8f6acd1792fd85d6bc2729a1b2c10
|
||||
|
||||
Change to #ifdef's to v6.5, where they will most likely be included.
|
||||
|
||||
Signed-off-by: Joan Bruguera Micó <joanbrugueram@gmail.com>
|
||||
---
|
||||
ioctl.c | 4 ++--
|
||||
zc.c | 2 +-
|
||||
2 files changed, 3 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/ioctl.c b/ioctl.c
|
||||
index 4262bbd..e3eefe1 100644
|
||||
--- a/ioctl.c
|
||||
+++ b/ioctl.c
|
||||
@@ -1246,7 +1246,7 @@ static struct ctl_table verbosity_ctl_root[] = {
|
||||
{
|
||||
.procname = "ioctl",
|
||||
.mode = 0555,
|
||||
-#if (LINUX_VERSION_CODE < KERNEL_VERSION(6, 4, 0))
|
||||
+#if (LINUX_VERSION_CODE < KERNEL_VERSION(6, 5, 0))
|
||||
.child = verbosity_ctl_dir,
|
||||
#endif
|
||||
},
|
||||
@@ -1269,7 +1269,7 @@ static int __init init_cryptodev(void)
|
||||
return rc;
|
||||
}
|
||||
|
||||
-#if (LINUX_VERSION_CODE < KERNEL_VERSION(6, 4, 0))
|
||||
+#if (LINUX_VERSION_CODE < KERNEL_VERSION(6, 5, 0))
|
||||
verbosity_sysctl_header = register_sysctl_table(verbosity_ctl_root);
|
||||
#else
|
||||
verbosity_sysctl_header = register_sysctl(verbosity_ctl_root->procname, verbosity_ctl_dir);
|
||||
diff --git a/zc.c b/zc.c
|
||||
index 6637945..00e00c1 100644
|
||||
--- a/zc.c
|
||||
+++ b/zc.c
|
||||
@@ -80,7 +80,7 @@ int __get_userbuf(uint8_t __user *addr, uint32_t len, int write,
|
||||
ret = get_user_pages_remote(task, mm,
|
||||
(unsigned long)addr, pgcount, write ? FOLL_WRITE : 0,
|
||||
pg, NULL, NULL);
|
||||
-#elif (LINUX_VERSION_CODE < KERNEL_VERSION(6, 4, 0))
|
||||
+#elif (LINUX_VERSION_CODE < KERNEL_VERSION(6, 5, 0))
|
||||
ret = get_user_pages_remote(mm,
|
||||
(unsigned long)addr, pgcount, write ? FOLL_WRITE : 0,
|
||||
pg, NULL, NULL);
|
|
@ -0,0 +1,35 @@
|
|||
From 5e7121e45ff283d30097da381fd7e97c4bb61364 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Joan=20Bruguera=20Mic=C3=B3?= <joanbrugueram@gmail.com>
|
||||
Date: Sun, 10 Dec 2023 13:57:55 +0000
|
||||
Subject: [PATCH] Fix build for Linux 6.7-rc1
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
Since Linux 6.7-rc1, no ahash algorithms set a nonzero alignmask,
|
||||
and therefore `crypto_ahash_alignmask` has been removed.
|
||||
|
||||
See also: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=0f8660c82b79af595b056f6b9f4f227edeb88574
|
||||
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=c626910f3f1bbce6ad18bc613d895d2a089ed95e
|
||||
|
||||
Signed-off-by: Joan Bruguera Micó <joanbrugueram@gmail.com>
|
||||
---
|
||||
cryptlib.c | 4 ++++
|
||||
1 file changed, 4 insertions(+)
|
||||
|
||||
diff --git a/cryptlib.c b/cryptlib.c
|
||||
index 4d739e5..0e59d4c 100644
|
||||
--- a/cryptlib.c
|
||||
+++ b/cryptlib.c
|
||||
@@ -381,7 +381,11 @@ int cryptodev_hash_init(struct hash_data *hdata, const char *alg_name,
|
||||
}
|
||||
|
||||
hdata->digestsize = crypto_ahash_digestsize(hdata->async.s);
|
||||
+#if (LINUX_VERSION_CODE < KERNEL_VERSION(6, 7, 0))
|
||||
hdata->alignmask = crypto_ahash_alignmask(hdata->async.s);
|
||||
+#else
|
||||
+ hdata->alignmask = 0;
|
||||
+#endif
|
||||
|
||||
init_completion(&hdata->async.result.completion);
|
||||
|
Loading…
Reference in a new issue