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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
|
diff -Naur sandbox-2.14.orig/headers.h sandbox-2.14/headers.h
--- sandbox-2.14.orig/headers.h 2018-02-19 15:48:16.000000000 +0000
+++ sandbox-2.14/headers.h 2019-09-09 15:38:19.826000640 +0000
@@ -148,12 +148,14 @@
# define ia64_fpreg FU_ia64_fpreg
# define pt_all_user_regs FU_pt_all_user_regs
#endif
+/*
#ifdef HAVE_ASM_PTRACE_H
# include <asm/ptrace.h>
#endif
#ifdef HAVE_LINUX_PTRACE_H
# include <linux/ptrace.h>
#endif
+*/
#undef FU_ia64_fpreg
#undef FU_pt_all_user_regs
diff -Naur sandbox-2.14.orig/libsandbox/trace.c sandbox-2.14/libsandbox/trace.c
--- sandbox-2.14.orig/libsandbox/trace.c 2018-02-19 15:48:16.000000000 +0000
+++ sandbox-2.14/libsandbox/trace.c 2019-09-09 15:38:07.614344692 +0000
@@ -10,7 +10,7 @@
#include "sb_nr.h"
static long do_peekdata(long offset);
-static long _do_ptrace(enum __ptrace_request request, const char *srequest, void *addr, void *data);
+static long _do_ptrace(int request, const char *srequest, void *addr, void *data);
#define do_ptrace(request, addr, data) _do_ptrace(request, #request, addr, data)
#define _trace_possible(data) true
@@ -44,7 +44,7 @@
_exit(status);
}
-static long _do_ptrace(enum __ptrace_request request, const char *srequest, void *addr, void *data)
+static long _do_ptrace(int request, const char *srequest, void *addr, void *data)
{
long ret;
try_again:
diff -Naur sandbox-2.14.orig/scripts/gen_symbol_header.awk sandbox-2.14/scripts/gen_symbol_header.awk
--- sandbox-2.14.orig/scripts/gen_symbol_header.awk 2018-02-19 15:48:16.000000000 +0000
+++ sandbox-2.14/scripts/gen_symbol_header.awk 2019-09-09 15:38:07.614344692 +0000
@@ -161,7 +161,7 @@
else
printf("symbol_version(%s, %s, %s);\n",
sym_real_name, sym_index, symbol_array[2]);
- } else {
+ } else if (!(sym_index ~ 64)) {
# For non-versioned libc's we use strong aliases
printf("strong_alias(%s, %s);\n", sym_real_name,
sym_index);
|