[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v2 3/4] linux-user: Add strace support for printing arguments
From: |
Laurent Vivier |
Subject: |
Re: [PATCH v2 3/4] linux-user: Add strace support for printing arguments of syscalls used to lock and unlock memory |
Date: |
Tue, 21 Jul 2020 16:33:59 +0200 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.9.0 |
Le 13/07/2020 à 11:50, Filip Bozuta a écrit :
> This patch implements strace argument printing functionality for following
> syscalls:
>
> * mlock, munlock, mlockall, munlockall - lock and unlock memory
>
> int mlock(const void *addr, size_t len)
> int munlock(const void *addr, size_t len)
> int mlockall(int flags)
> int munlockall(void)
> man page: https://man7.org/linux/man-pages/man2/mlock.2.html
>
> Implementation notes:
>
> Syscall mlockall() takes an argument that is composed of predefined values
> which represent flags that determine the type of locking operation that is
> to be performed. For that reason, a printing function "print_mlockall" was
> stated in file "strace.list". This printing function uses an already
> existing
> function "print_flags()" to print the "flags" argument. These flags are
> stated
> inside an array "mlockall_flags" that contains values of type "struct
> flags".
> These values are instantiated using an existing macro "FLAG_TARGET()" that
> crates aproppriate target flag values based on those defined in files
> '/target_syscall.h'. These target flag values were changed from
> "TARGET_MLOCKALL_MCL*" to "TARGET_MCL_*" so that they can be
> aproppriately set
> and recognised in "strace.c" with "FLAG_TARGET()". Value for "MCL_ONFAULT"
> was added in this patch. This value was also added in "syscall.c" in
> function
> "target_to_host_mlockall_arg()". Because this flag value was added in
> kernel
> version 4.4, it is enwrapped in an #ifdef directive (both in "syscall.c"
> and
> in "strace.c") as to support older kernel versions.
> The other syscalls have only primitive argument types, so the
> rest of the implementation was handled by stating an appropriate
> printing format in file "strace.list". Syscall mlock2() is not
> implemented in
> "syscall.c" and thus it's argument printing is not implemented in this
> patch.
>
> Signed-off-by: Filip Bozuta <Filip.Bozuta@syrmia.com>
> ---
> linux-user/aarch64/target_syscall.h | 5 +++--
> linux-user/alpha/target_syscall.h | 5 +++--
> linux-user/arm/target_syscall.h | 6 ++++--
> linux-user/cris/target_syscall.h | 5 +++--
> linux-user/hppa/target_syscall.h | 5 +++--
> linux-user/i386/target_syscall.h | 5 +++--
> linux-user/m68k/target_syscall.h | 6 +++---
> linux-user/microblaze/target_syscall.h | 5 +++--
> linux-user/mips/target_syscall.h | 5 +++--
> linux-user/mips64/target_syscall.h | 5 +++--
> linux-user/nios2/target_syscall.h | 5 +++--
> linux-user/openrisc/target_syscall.h | 5 +++--
> linux-user/ppc/target_syscall.h | 5 +++--
> linux-user/riscv/target_syscall.h | 5 +++--
> linux-user/s390x/target_syscall.h | 5 +++--
> linux-user/sh4/target_syscall.h | 5 +++--
> linux-user/sparc/target_syscall.h | 5 +++--
> linux-user/sparc64/target_syscall.h | 5 +++--
> linux-user/strace.c | 21 +++++++++++++++++++++
> linux-user/strace.list | 8 ++++----
> linux-user/syscall.c | 10 ++++++++--
> linux-user/tilegx/target_syscall.h | 5 +++--
> linux-user/x86_64/target_syscall.h | 5 +++--
> linux-user/xtensa/target_syscall.h | 5 +++--
> 24 files changed, 97 insertions(+), 49 deletions(-)
>
Reviewed-by: Laurent Vivier <laurent@vivier.eu>
- [PATCH v2 0/4] Add strace support for printing arguments for a group of selected syscalls, Filip Bozuta, 2020/07/13
- [PATCH v2 2/4] linux-user: Add strace support for printing arguments of truncate()/ftruncate() and getsid(), Filip Bozuta, 2020/07/13
- [PATCH v2 3/4] linux-user: Add strace support for printing arguments of syscalls used to lock and unlock memory, Filip Bozuta, 2020/07/13
- Re: [PATCH v2 3/4] linux-user: Add strace support for printing arguments of syscalls used to lock and unlock memory,
Laurent Vivier <=
- [PATCH v2 4/4] linux-user: Add strace support for printing arguments of some clock and time functions, Filip Bozuta, 2020/07/13
- [PATCH v2 1/4] linux-user: Make cpu_env accessible in strace.c, Filip Bozuta, 2020/07/13
- Re: [PATCH v2 0/4] Add strace support for printing arguments for a group of selected syscalls, no-reply, 2020/07/13