aboutsummaryrefslogtreecommitdiffstats
path: root/community/tracker-miners/fix-seccomp.patch
blob: 2243640f2f04e5bfb3c35198360a2322ec753e97 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
https://gitlab.gnome.org/GNOME/tracker-miners/merge_requests/128

diff --git a/src/libtracker-miners-common/tracker-seccomp.c b/src/libtracker-miners-common/tracker-seccomp.c
index c5e8871..cea9927 100644
--- a/src/libtracker-miners-common/tracker-seccomp.c
+++ b/src/libtracker-miners-common/tracker-seccomp.c
@@ -138,7 +138,6 @@ tracker_seccomp_init (void)
 	/* Descriptors */
 	ALLOW_RULE (close);
 	ALLOW_RULE (read);
-	ALLOW_RULE (pread64);
 	ALLOW_RULE (lseek);
 	ALLOW_RULE (_llseek);
 	ALLOW_RULE (fadvise64);
@@ -209,6 +208,14 @@ tracker_seccomp_init (void)
 	                      SCMP_CMP(2, SCMP_CMP_MASKED_EQ, O_RDWR, O_RDWR)) < 0)
 		goto out;
 
+	/* Syscalls may differ between libcs */
+#if !defined(__GLIBC__)
+	ALLOW_RULE (rt_sigreturn);
+	ALLOW_RULE (readv);
+#else
+	ALLOW_RULE (pread64);
+#endif
+
 	g_debug ("Loading seccomp rules.");
 
 	if (seccomp_load (ctx) >= 0) {