From 97685bf91d15234d108c164b1a992b13415bf8cb Mon Sep 17 00:00:00 2001 From: Augustin Cavalier Date: Tue, 28 Mar 2023 15:26:49 -0400 Subject: [PATCH] strace: Set void** parameters of area syscalls as InOut. --- src/bin/debug/strace/area.cpp | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/bin/debug/strace/area.cpp b/src/bin/debug/strace/area.cpp index 85d554dde0..e16cc93756 100644 --- a/src/bin/debug/strace/area.cpp +++ b/src/bin/debug/strace/area.cpp @@ -37,11 +37,13 @@ patch_area() kAreaProtectionFlags.push_back(kAreaProtectionFlagInfos[i]); } - Syscall *open = get_syscall("_kern_create_area"); - open->GetParameter("protection")->SetHandler( + Syscall *create = get_syscall("_kern_create_area"); + create->GetParameter("address")->SetInOut(true); + create->GetParameter("protection")->SetHandler( new FlagsTypeHandler(kAreaProtectionFlags)); Syscall *clone = get_syscall("_kern_clone_area"); + clone->GetParameter("_address")->SetInOut(true); clone->GetParameter("protection")->SetHandler( new FlagsTypeHandler(kAreaProtectionFlags)); @@ -53,6 +55,7 @@ patch_area() new FlagsTypeHandler(kAreaProtectionFlags)); Syscall *map_file = get_syscall("_kern_map_file"); + map_file->GetParameter("address")->SetInOut(true); map_file->GetParameter("protection")->SetHandler( new FlagsTypeHandler(kAreaProtectionFlags)); }