This commit is contained in:
Andrea Fioraldi
2020-04-28 10:55:22 +02:00
parent fbd9994f6f
commit 9276dc9e6c
2 changed files with 11 additions and 16 deletions

View File

@ -275,20 +275,6 @@ void afl_setup(void) {
} }
static void print_mappings(void) {
u8 buf[MAX_LINE];
FILE *f = fopen("/proc/self/maps", "r");
if (!f) return;
while (fgets(buf, MAX_LINE, f))
printf("%s", buf);
fclose(f);
}
/* Fork server logic, invoked once we hit _start. */ /* Fork server logic, invoked once we hit _start. */
void afl_forkserver(CPUState *cpu) { void afl_forkserver(CPUState *cpu) {
@ -299,7 +285,7 @@ void afl_forkserver(CPUState *cpu) {
if (forkserver_installed == 1) return; if (forkserver_installed == 1) return;
forkserver_installed = 1; forkserver_installed = 1;
if (getenv("AFL_QEMU_DEBUG_MAPS")) print_mappings(); if (getenv("AFL_QEMU_DEBUG_MAPS")) open_self_maps(cpu->env_ptr, 0);
// if (!afl_area_ptr) return; // not necessary because of fixed dummy buffer // if (!afl_area_ptr) return; // not necessary because of fixed dummy buffer

View File

@ -1,5 +1,5 @@
diff --git a/linux-user/syscall.c b/linux-user/syscall.c diff --git a/linux-user/syscall.c b/linux-user/syscall.c
index b13a170e..4af79175 100644 index b13a170e..3f5cc902 100644
--- a/linux-user/syscall.c --- a/linux-user/syscall.c
+++ b/linux-user/syscall.c +++ b/linux-user/syscall.c
@@ -111,6 +111,9 @@ @@ -111,6 +111,9 @@
@ -43,6 +43,15 @@ index b13a170e..4af79175 100644
ts = (TaskState *)cpu->opaque; ts = (TaskState *)cpu->opaque;
if (flags & CLONE_SETTLS) if (flags & CLONE_SETTLS)
cpu_set_tls (env, newtls); cpu_set_tls (env, newtls);
@@ -6554,7 +6558,7 @@ static int open_self_cmdline(void *cpu_env, int fd)
return 0;
}
-static int open_self_maps(void *cpu_env, int fd)
+int open_self_maps(void *cpu_env, int fd)
{
CPUState *cpu = ENV_GET_CPU((CPUArchState *)cpu_env);
TaskState *ts = cpu->opaque;
@@ -7324,10 +7328,12 @@ static abi_long do_syscall1(void *cpu_env, int num, abi_long arg1, @@ -7324,10 +7328,12 @@ static abi_long do_syscall1(void *cpu_env, int num, abi_long arg1,
#ifdef TARGET_NR_stime /* not on alpha */ #ifdef TARGET_NR_stime /* not on alpha */
case TARGET_NR_stime: case TARGET_NR_stime: