aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLaurent Vivier <laurent@vivier.eu>2020-03-12 17:55:30 +0100
committerLaurent Vivier <laurent@vivier.eu>2020-03-20 15:51:54 +0100
commit2039b1b0dc4a8b5325dcfb60c3f1fe4abf9720bb (patch)
tree65ed39d62e45b9b557880a046dd543745d9c90ee
parent055d92f8673c9e2bc284a5976e69664c87f18cae (diff)
linux-user: fix socket() strace
print_socket_type() doesn't manage flags and the correct type cannot be displayed Signed-off-by: Laurent Vivier <laurent@vivier.eu> Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com> Message-Id: <20200312165530.53450-1-laurent@vivier.eu> Signed-off-by: Laurent Vivier <laurent@vivier.eu>
-rw-r--r--linux-user/strace.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/linux-user/strace.c b/linux-user/strace.c
index 4f7130b2ff..69232f7e27 100644
--- a/linux-user/strace.c
+++ b/linux-user/strace.c
@@ -444,7 +444,7 @@ print_socket_domain(int domain)
static void
print_socket_type(int type)
{
- switch (type) {
+ switch (type & TARGET_SOCK_TYPE_MASK) {
case TARGET_SOCK_DGRAM:
qemu_log("SOCK_DGRAM");
break;
@@ -464,6 +464,12 @@ print_socket_type(int type)
qemu_log("SOCK_PACKET");
break;
}
+ if (type & TARGET_SOCK_CLOEXEC) {
+ qemu_log("|SOCK_CLOEXEC");
+ }
+ if (type & TARGET_SOCK_NONBLOCK) {
+ qemu_log("|SOCK_NONBLOCK");
+ }
}
static void