Gentoo Archives: gentoo-commits

From: Sam James <sam@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: dev-util/scap-driver/, dev-util/scap-driver/files/
Date: Mon, 29 Aug 2022 22:38:48
Message-Id: 1661812568.06cfe6d9491093d9c32db7ac180a1020b6b6fbf4.sam@gentoo
1 commit: 06cfe6d9491093d9c32db7ac180a1020b6b6fbf4
2 Author: Holger Hoffstätte <holger <AT> applied-asynchrony <DOT> com>
3 AuthorDate: Tue Aug 23 17:20:58 2022 +0000
4 Commit: Sam James <sam <AT> gentoo <DOT> org>
5 CommitDate: Mon Aug 29 22:36:08 2022 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=06cfe6d9
7
8 dev-util/scap-driver: fix kmod build on kernels >= 5.18
9
10 Bug: https://bugs.gentoo.org/866113
11 Signed-off-by: Holger Hoffstätte <holger <AT> applied-asynchrony.com>
12 Closes: https://github.com/gentoo/gentoo/pull/26982
13 Signed-off-by: Sam James <sam <AT> gentoo.org>
14
15 .../files/0.29.3-fix-kmod-build-on-5.18+.patch | 63 ++++++++++++++++++++++
16 dev-util/scap-driver/scap-driver-0.29.3.ebuild | 2 +
17 2 files changed, 65 insertions(+)
18
19 diff --git a/dev-util/scap-driver/files/0.29.3-fix-kmod-build-on-5.18+.patch b/dev-util/scap-driver/files/0.29.3-fix-kmod-build-on-5.18+.patch
20 new file mode 100644
21 index 000000000000..974b561df47f
22 --- /dev/null
23 +++ b/dev-util/scap-driver/files/0.29.3-fix-kmod-build-on-5.18+.patch
24 @@ -0,0 +1,63 @@
25 +
26 +Bug: https://bugs.gentoo.org/866113
27 +Source: https://github.com/falcosecurity/libs/pull/411/commits/36e945af4feb31c8b875f7d4624592b0c1ff929d
28 +
29 +From 36e945af4feb31c8b875f7d4624592b0c1ff929d Mon Sep 17 00:00:00 2001
30 +From: Federico Di Pierro <nierro92@×××××.com>
31 +Date: Mon, 20 Jun 2022 14:26:39 +0200
32 +Subject: [PATCH] fix(driver): fixed kmod build on linux kernels >= 5.18.
33 +
34 +Signed-off-by: Federico Di Pierro <nierro92@×××××.com>
35 +---
36 + driver/main.c | 14 +++++++++-----
37 + 1 file changed, 9 insertions(+), 5 deletions(-)
38 +
39 +diff --git a/driver/main.c b/driver/main.c
40 +index 6b5ae461a..e606cc2f8 100644
41 +--- a/driver/main.c
42 ++++ b/driver/main.c
43 +@@ -70,8 +70,9 @@ MODULE_AUTHOR("the Falco authors");
44 + #define TRACEPOINT_PROBE(probe, args...) static void probe(void *__data, args)
45 + #endif
46 +
47 +-#ifndef pgprot_encrypted
48 +-#define pgprot_encrypted(x) (x)
49 ++// Allow build even on arch where PAGE_ENC is not implemented
50 ++#ifndef _PAGE_ENC
51 ++#define _PAGE_ENC 0
52 + #endif
53 +
54 + struct ppm_device {
55 +@@ -1217,8 +1218,9 @@ static int ppm_mmap(struct file *filp, struct vm_area_struct *vma)
56 +
57 + pfn = vmalloc_to_pfn(vmalloc_area_ptr);
58 +
59 ++ pgprot_val(vma->vm_page_prot) = pgprot_val(PAGE_SHARED) | _PAGE_ENC;
60 + ret = remap_pfn_range(vma, useraddr, pfn,
61 +- PAGE_SIZE, pgprot_encrypted(PAGE_SHARED));
62 ++ PAGE_SIZE, vma->vm_page_prot);
63 + if (ret < 0) {
64 + pr_err("remap_pfn_range failed (1)\n");
65 + goto cleanup_mmap;
66 +@@ -1255,8 +1257,9 @@ static int ppm_mmap(struct file *filp, struct vm_area_struct *vma)
67 + while (mlength > 0) {
68 + pfn = vmalloc_to_pfn(vmalloc_area_ptr);
69 +
70 ++ pgprot_val(vma->vm_page_prot) = pgprot_val(PAGE_SHARED) | _PAGE_ENC;
71 + ret = remap_pfn_range(vma, useraddr, pfn,
72 +- PAGE_SIZE, pgprot_encrypted(PAGE_SHARED));
73 ++ PAGE_SIZE, vma->vm_page_prot);
74 + if (ret < 0) {
75 + pr_err("remap_pfn_range failed (1)\n");
76 + goto cleanup_mmap;
77 +@@ -1277,8 +1280,9 @@ static int ppm_mmap(struct file *filp, struct vm_area_struct *vma)
78 + while (mlength > 0) {
79 + pfn = vmalloc_to_pfn(vmalloc_area_ptr);
80 +
81 ++ pgprot_val(vma->vm_page_prot) = pgprot_val(PAGE_SHARED) | _PAGE_ENC;
82 + ret = remap_pfn_range(vma, useraddr, pfn,
83 +- PAGE_SIZE, pgprot_encrypted(PAGE_SHARED));
84 ++ PAGE_SIZE, vma->vm_page_prot);
85 + if (ret < 0) {
86 + pr_err("remap_pfn_range failed (1)\n");
87 + goto cleanup_mmap;
88
89 diff --git a/dev-util/scap-driver/scap-driver-0.29.3.ebuild b/dev-util/scap-driver/scap-driver-0.29.3.ebuild
90 index 518e80e54462..4857fc219e82 100644
91 --- a/dev-util/scap-driver/scap-driver-0.29.3.ebuild
92 +++ b/dev-util/scap-driver/scap-driver-0.29.3.ebuild
93 @@ -24,6 +24,8 @@ RDEPEND="!<dev-util/sysdig-${PV}[modules]"
94
95 CONFIG_CHECK="HAVE_SYSCALL_TRACEPOINTS ~TRACEPOINTS"
96
97 +PATCHES=( "${FILESDIR}"/${PV}-fix-kmod-build-on-5.18+.patch )
98 +
99 src_configure() {
100 local mycmakeargs=(
101 # we will use linux-mod, so just pretend to use bundled deps