forked from openwrt/openwrt
-
Notifications
You must be signed in to change notification settings - Fork 110
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Update to 1.13 with upstream backports. Signed-off-by: Weijie Gao <hackpascal@gmail.com>
- Loading branch information
1 parent
fdb563c
commit d40d64f
Showing
5 changed files
with
172 additions
and
2 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
41 changes: 41 additions & 0 deletions
41
...age/kernel/cryptodev-linux/patches/0001-cryptodev_verbosity-fix-build-for-linux-6.4.patch
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -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); | ||
|
34 changes: 34 additions & 0 deletions
34
package/kernel/cryptodev-linux/patches/0001-zero-copy-fix-build-for-linux-6.4.patch
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -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); |
60 changes: 60 additions & 0 deletions
60
...nel/cryptodev-linux/patches/0003-move-recent-linux-version-ifdefs-from-v6.4-to-v6.5.patch
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -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); |
35 changes: 35 additions & 0 deletions
35
package/kernel/cryptodev-linux/patches/0004-fix-build-for-linux-6.7-rc1.patch
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -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); | ||
|