summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'dev-debug/scap-driver/files/0.29.3-fix-kmod-build-on-6.7+.patch')
-rw-r--r--dev-debug/scap-driver/files/0.29.3-fix-kmod-build-on-6.7+.patch21
1 files changed, 21 insertions, 0 deletions
diff --git a/dev-debug/scap-driver/files/0.29.3-fix-kmod-build-on-6.7+.patch b/dev-debug/scap-driver/files/0.29.3-fix-kmod-build-on-6.7+.patch
new file mode 100644
index 000000000000..a6db9e2d751c
--- /dev/null
+++ b/dev-debug/scap-driver/files/0.29.3-fix-kmod-build-on-6.7+.patch
@@ -0,0 +1,21 @@
+
+Bug: https://bugs.gentoo.org/921163
+Subset of patch taken from: https://github.com/falcosecurity/libs/commit/bf0afa0cacb775582fde134500fe66af38f1eb59
+
+--- a/driver/ppm_fillers.c 2024-01-01 15:05:13.000000000 +0100
++++ b/driver/ppm_fillers.c 2024-01-01 15:15:59.893048651 +0100
+@@ -430,7 +430,13 @@ struct file *ppm_get_mm_exe_file(struct
+ {
+ struct file *exe_file;
+
+-#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 1, 0)
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(6, 7, 0)
++ // Since linux 6.7.0, `get_file_rcu` is no more a define and takes a double pointer parameter.
++ // See https://github.com/torvalds/linux/commit/0ede61d8589cc2d93aa78230d74ac58b5b8d0244.
++ rcu_read_lock();
++ exe_file = get_file_rcu(&mm->exe_file);
++ rcu_read_unlock();
++#elif LINUX_VERSION_CODE >= KERNEL_VERSION(4, 1, 0)
+ rcu_read_lock();
+ exe_file = rcu_dereference(mm->exe_file);
+ if (exe_file && !get_file_rcu(exe_file))