diff -git a/linux-user/syscall.c b/linux-user/syscall.c
index 5346554..3343345 e43f56
--- a/linux-user/syscall.c
+++ b/linux-user/syscall.c
@@ -1349,7 +1349,13 @@target_cmsg->cmsg_len = tswapal(TARGET_CMSG_LEN(len));

         if (cmsg->cmsg_level != TARGET_SOL_SOCKET || cmsg->cmsg_type
!= SCM_RIGHTS) {
-            gemu_log("Unsupported ancillary data: %d/%d\n",
cmsg->cmsg_level, cmsg->cmsg_type);
+            if(cmsg->cmsg_type == SO_TIMESTAMP) {
+                /*copy msg_name to target_msgh*/
+                target_msgh->msg_namelen = msgh->msg_namelen;
+                memcpy(g2h((void *)(unsigned
long)(target_ulong)target_msgh->msg_name), msgh->msg_name,
msgh->msg_namelen);
+            } else {
+                gemu_log("Unsupported ancillary data: %d/%d\n",
cmsg->cmsg_level, cmsg->cmsg_type);
