[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH 03/11] linux-user/strace: add print_sockaddr_ptr() t
From: |
Philippe Mathieu-Daudé |
Subject: |
[Qemu-devel] [PATCH 03/11] linux-user/strace: add print_sockaddr_ptr() to handle plain/pointer addrlen |
Date: |
Wed, 24 Jan 2018 10:01:18 -0300 |
since this argument differs between sendto()/recvfrom()
Signed-off-by: Philippe Mathieu-Daudé <address@hidden>
---
linux-user/strace.c | 17 +++++++++++++++--
1 file changed, 15 insertions(+), 2 deletions(-)
diff --git a/linux-user/strace.c b/linux-user/strace.c
index e7272f4ede..9726d9b378 100644
--- a/linux-user/strace.c
+++ b/linux-user/strace.c
@@ -335,12 +335,15 @@ static void print_siginfo(const target_siginfo_t *tinfo)
}
static void
-print_sockaddr(abi_ulong addr, abi_long addrlen)
+print_sockaddr_ptr(abi_ulong addr, abi_long addrlen, bool addrlen_ptr)
{
struct target_sockaddr *sa;
int i;
int sa_family;
+ if (addrlen_ptr) {
+ get_user_ual(addrlen, addrlen);
+ }
sa = lock_user(VERIFY_READ, addr, addrlen, 1);
if (sa) {
sa_family = tswap16(sa->sa_family);
@@ -417,7 +420,17 @@ print_sockaddr(abi_ulong addr, abi_long addrlen)
} else {
print_raw_param("0x"TARGET_ABI_FMT_lx, addr, 0);
}
- gemu_log(", "TARGET_ABI_FMT_ld, addrlen);
+ if (addrlen_ptr) {
+ gemu_log(", ["TARGET_ABI_FMT_ld"]", addrlen);
+ } else {
+ gemu_log(", "TARGET_ABI_FMT_ld, addrlen);
+ }
+}
+
+static void
+print_sockaddr(abi_ulong addr, abi_long addrlen)
+{
+ print_sockaddr_ptr(addr, addrlen, false);
}
static void
--
2.15.1
- [Qemu-devel] [PATCH 00/11] linux-user: improve NETLINK strace, Philippe Mathieu-Daudé, 2018/01/24
- [Qemu-devel] [PATCH 02/11] linux-user/strace: improve sendto() output, Philippe Mathieu-Daudé, 2018/01/24
- [Qemu-devel] [RFC PATCH 01/11] linux-user/strace: dump AF_NETLINK sockaddr content, Philippe Mathieu-Daudé, 2018/01/24
- [Qemu-devel] [PATCH 04/11] linux-user/strace: improve recvfrom() output, Philippe Mathieu-Daudé, 2018/01/24
- [Qemu-devel] [PATCH 03/11] linux-user/strace: add print_sockaddr_ptr() to handle plain/pointer addrlen,
Philippe Mathieu-Daudé <=
- [Qemu-devel] [PATCH 06/11] linux-user/strace: improve recvmsg() output, Philippe Mathieu-Daudé, 2018/01/24
- [Qemu-devel] [PATCH 05/11] linux-user/strace: improve getsockname() output, Philippe Mathieu-Daudé, 2018/01/24
- [Qemu-devel] [PATCH 07/11] linux-user/strace: improve bind() output, Philippe Mathieu-Daudé, 2018/01/24
- [Qemu-devel] [PATCH 11/11] linux-user/syscall: simplify recvfrom(), Philippe Mathieu-Daudé, 2018/01/24
- [Qemu-devel] [PATCH 09/11] linux-user/strace: improve capget()/capset() output, Philippe Mathieu-Daudé, 2018/01/24
- [Qemu-devel] [PATCH 10/11] linux-user/syscall: verify recvfrom(addr) is user-writable, Philippe Mathieu-Daudé, 2018/01/24
- [Qemu-devel] [PATCH 08/11] linux-user/strace: improve gettimeofday() output, Philippe Mathieu-Daudé, 2018/01/24
- Re: [Qemu-devel] [PATCH 00/11] linux-user: improve NETLINK strace, Guido Günther, 2018/01/24
- Re: [Qemu-devel] [PATCH 00/11] linux-user: improve NETLINK strace, Guido Günther, 2018/01/28