From patchwork Tue Oct 22 08:10:54 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Laurent Vivier X-Patchwork-Id: 11203965 Return-Path: Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org [172.30.200.123]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 0866A14E5 for ; Tue, 22 Oct 2019 08:23:44 +0000 (UTC) Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id D2AE220684 for ; Tue, 22 Oct 2019 08:23:43 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org D2AE220684 Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=vivier.eu Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=qemu-devel-bounces+patchwork-qemu-devel=patchwork.kernel.org@nongnu.org Received: from localhost ([::1]:51524 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iMpSA-0000le-Gf for patchwork-qemu-devel@patchwork.kernel.org; Tue, 22 Oct 2019 04:23:42 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:44221) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iMpGN-0002ul-MX for qemu-devel@nongnu.org; Tue, 22 Oct 2019 04:11:32 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1iMpGM-00058u-Kv for qemu-devel@nongnu.org; Tue, 22 Oct 2019 04:11:31 -0400 Received: from mout.kundenserver.de ([212.227.17.10]:42603) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1iMpGM-00058A-Bg for qemu-devel@nongnu.org; Tue, 22 Oct 2019 04:11:30 -0400 Received: from localhost.localdomain ([78.238.229.36]) by mrelayeu.kundenserver.de (mreue107 [212.227.15.183]) with ESMTPSA (Nemesis) id 1MfHxt-1hpOG71tW7-00gm6j; Tue, 22 Oct 2019 10:11:16 +0200 From: Laurent Vivier To: qemu-devel@nongnu.org Subject: [PULL 01/11] linux-user: add strace for dup3 Date: Tue, 22 Oct 2019 10:10:54 +0200 Message-Id: <20191022081104.11814-2-laurent@vivier.eu> X-Mailer: git-send-email 2.21.0 In-Reply-To: <20191022081104.11814-1-laurent@vivier.eu> References: <20191022081104.11814-1-laurent@vivier.eu> MIME-Version: 1.0 X-Provags-ID: V03:K1:RR4AWW1XqeuM8d8mmcTDsQsW1cV/ZLplwIccKd6itxu9om1ngQt bIuBWH5jEdvYUm8H2CzhHCWvFrMRJIOI8pJOS659Zez+hkPE9hioQoETi6WVL0EXrpFmCjX TMALwjiixlr/LAriKwxPehRHNADwKdclcqX77kNv5yN7uZlKQKLcqd6EFNj/QFAFw9HgRW2 ivVmz+HVFT6s1H9dXzbLw== X-UI-Out-Filterresults: notjunk:1;V03:K0:bS+SaQOO7/M=:3Z9rYR8sM9R4pL+fWW6aJJ kGp3ab5hRwty8N01n79gG0KK+ze7a4ZFg9UsQrnhIi1vv4AE1ZNE8ohRaDFfhU3L9A+qeDeEh oXqCE0xYV4yv6YGZ07VKu3BWVru6SWklkFxqi6xyDE8KkW/JagcC4jdFETtyEFJietdUi2f12 NkvQIgA+AkEcYrkWwCKbqPYAzjQqlvKcwL7bzFz1XUlJI1Vf1rwJyDHCVBqf1UMBJ9v1DKlIN VYKyZNQ3IkJhef8oSzHtKvidk7zxc7PEatJSRMsywTnBHsrjAeHCoHZvJ5Atdt4ogigex+j3O NNXEYNGH4KsYKp/U0zYpENQ20nIRNM5NrxSgwte9mRus5NOtZHlniC2Kmm5YgnWPmToU/Jiov RfHdKXEElj+NXGDxdt1jUPFG0/J0OO370kqH4l8VNZLIhPCA4RUz/0rQlzPPf3Y34V0JJQtJe bQbbMPytWEukPGnEPTaclqIFc8n5zMnjnGGSr+OhY6RGEndWLp/AwTrfsvHb5bTjeSN3FH7ZS lwScNQf4h3RMqI0NbAbGmxZ1pHpV0UvSizpu8Zoyp8jTHXo6oQn0iat67UUcDRjDD5ZBWjeDr QwisggROl2XCPK6hzGcHciv3TR53whpp1UcrfCxo33Ay+1TMSpMw0q+mOGKIv4srm1sPOGgp+ asDZAyPfq71L7SUIiGSuL1Ffib1qa3NbiZgOg3SWApE3CzakWpmileeXoVgej17dWgHwbZo0u pwS2znAde7LYGlLuC9EFuzq10spAi5tJlwefoOw01BsO8BjvNH3QADuLmJpNN/AV2N9GywP+e 2Jyd8FeUSLcn4Emqh3rxF2E3+G4WiQt/WsuSLFlCRFajbPU5wvocUznvhcFNWXfAZlyobyL/o m5sdGhl+abkL6INZLcts2t+GQePqCLj+zFyagwfPs= X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] [fuzzy] X-Received-From: 212.227.17.10 X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Andreas Schwab , Riku Voipio , =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= , Laurent Vivier Errors-To: qemu-devel-bounces+patchwork-qemu-devel=patchwork.kernel.org@nongnu.org Sender: "Qemu-devel" From: Andreas Schwab Signed-off-by: Andreas Schwab Reviewed-by: Philippe Mathieu-Daudé Message-Id: Signed-off-by: Laurent Vivier --- linux-user/strace.list | 3 +++ 1 file changed, 3 insertions(+) diff --git a/linux-user/strace.list b/linux-user/strace.list index 63a946642d29..863283418ef9 100644 --- a/linux-user/strace.list +++ b/linux-user/strace.list @@ -121,6 +121,9 @@ #ifdef TARGET_NR_dup2 { TARGET_NR_dup2, "dup2" , NULL, NULL, NULL }, #endif +#ifdef TARGET_NR_dup3 +{ TARGET_NR_dup3, "dup3" , NULL, NULL, NULL }, +#endif #ifdef TARGET_NR_epoll_create { TARGET_NR_epoll_create, "epoll_create" , NULL, NULL, NULL }, #endif From patchwork Tue Oct 22 08:10:55 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Laurent Vivier X-Patchwork-Id: 11203969 Return-Path: Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org [172.30.200.123]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 5DA9E14E5 for ; Tue, 22 Oct 2019 08:25:40 +0000 (UTC) Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 3DFA020684 for ; Tue, 22 Oct 2019 08:25:40 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 3DFA020684 Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=vivier.eu Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=qemu-devel-bounces+patchwork-qemu-devel=patchwork.kernel.org@nongnu.org Received: from localhost ([::1]:51540 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iMpU3-0003KN-C4 for patchwork-qemu-devel@patchwork.kernel.org; Tue, 22 Oct 2019 04:25:39 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:44246) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iMpGP-0002x4-1L for qemu-devel@nongnu.org; Tue, 22 Oct 2019 04:11:35 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1iMpGN-00059p-Mr for qemu-devel@nongnu.org; Tue, 22 Oct 2019 04:11:32 -0400 Received: from mout.kundenserver.de ([212.227.17.24]:42839) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1iMpGN-00058r-D5 for qemu-devel@nongnu.org; Tue, 22 Oct 2019 04:11:31 -0400 Received: from localhost.localdomain ([78.238.229.36]) by mrelayeu.kundenserver.de (mreue107 [212.227.15.183]) with ESMTPSA (Nemesis) id 1MxEcg-1i7KeK3sL2-00xcAc; Tue, 22 Oct 2019 10:11:17 +0200 From: Laurent Vivier To: qemu-devel@nongnu.org Subject: [PULL 02/11] Fix unsigned integer underflow in fd-trans.c Date: Tue, 22 Oct 2019 10:10:55 +0200 Message-Id: <20191022081104.11814-3-laurent@vivier.eu> X-Mailer: git-send-email 2.21.0 In-Reply-To: <20191022081104.11814-1-laurent@vivier.eu> References: <20191022081104.11814-1-laurent@vivier.eu> MIME-Version: 1.0 X-Provags-ID: V03:K1:/EOLVfh5U6JtshaL7XfHmPPLuvVwQL+Pm/VOhnw9mXZBSPzVfCH ACw/s4wckistsVigmphzCAubR7VRbTeVZ4opReuxbh2rMFJR9Uf4Ot64XfQZ5gnnG0pfYgg eTjyBHSkhSYqorkw5SaXOUd0trmg17NA/wPnmg1S6SPel0tDgpJQPMz1OmzK2b3CVEbTXAt X+J2zvHaBt24Ixo9jPQKQ== X-UI-Out-Filterresults: notjunk:1;V03:K0:hScm5NS3y3g=:46Mq5zLSD0MfCA6poFUlYD pDJUoNglsi/HbDZhkh/VifSnHY8GwZkoJHw0YfsjK4f/unBEs5J5OVUaM5koz9fl78aa6CR/3 LcnprfpNeYYRTGNTGg6R9jNE0a8Yn8VN3OsRUmb87CnS8mPVPAXBsRp9TOv+uUYDR/WJxm3wB svOFEHaSLIYmL14nyCqJtMhQjTA95ucnZVwXb90bPpaJyur5fay4/66rU5qJQYy+ZoH03RvI1 vbvrs/cS/LMHUYfjTkWq/X7AVx+U7cNWA+rDwYOtx2cm+bwtaCgj90xPWHeyVVG2fZ+IBeBAZ QUg98Wt1cTP9CES9P0dOXs/px+FLhph+fhDnC9km7XhIUxSdFejr8cN/26gm1l6/iZPzYde4A j0LqBj94eOrP5whVPJvdegul+ABXi5BDpFr3rhBDCvz9YCTZUXlkgNoYg0g2T0h47ciXIcUWL cLxrxJZ62AQeaUcaJgFvUIgsb8hABonv+L5DBopC2VMJhsaXTSOhJODJMJ02KoKuPuhTpmw6h TH93NK31GcLPoVJA5ED3EqTN1kkIzNH/XbTaBeGVUr039ZrrjYnz2/lDC3LwQV+yRi67PLm5v TC/xUluQh/vUXaUxUIkUiHagO5uqwXZzwTmsLt5yLiOpz+FytuizL2UbTvflrsLg8l8ondKty xmhBp+d3MclUDerOZ2iHixnaczqI8eXzWf9aVHX/oFeIoBntMX4SX5VvE7ZtA4AJ0cf0/SPWb cJ0fheIYFYRcpDxY3rPoyDoXTRt6PR16qF7gijbuxvqftee5jJjY3Sdna+kkF5wcpy5Vj5u3b sZxLW0W+UZcdALJiNeqCjeL3LmIAotWWaGgmk99qMSfmshsB1vsZLx+8+udCQLsZEsFXOKiUm XaJYbKBQRkdWKZJU0hIw== X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] [fuzzy] X-Received-From: 212.227.17.24 X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Riku Voipio , Laurent Vivier , Shu-Chun Weng Errors-To: qemu-devel-bounces+patchwork-qemu-devel=patchwork.kernel.org@nongnu.org Sender: "Qemu-devel" From: Shu-Chun Weng In any of these `*_for_each_*` functions, the last entry in the buffer (so the "remaining length in the buffer" `len` is equal to the length of the entry `nlmsg_len`/`nla_len`/etc) has size that is not a multiple of the alignment, the aligned lengths `*_ALIGN(*_len)` will be greater than `len`. Since `len` is unsigned (`size_t`), it underflows and the loop will read pass the buffer. This may manifest as random EINVAL or EOPNOTSUPP error on IO or network system calls. Signed-off-by: Shu-Chun Weng Reviewed-by: Laurent Vivier Message-Id: <20191018001920.178283-1-scw@google.com> Signed-off-by: Laurent Vivier --- linux-user/fd-trans.c | 51 +++++++++++++++++++++++++++++++++---------- 1 file changed, 40 insertions(+), 11 deletions(-) diff --git a/linux-user/fd-trans.c b/linux-user/fd-trans.c index 60077ce5319d..9b92386abf51 100644 --- a/linux-user/fd-trans.c +++ b/linux-user/fd-trans.c @@ -279,6 +279,7 @@ static abi_long host_to_target_for_each_nlmsg(struct nlmsghdr *nlh, (struct nlmsghdr *)) { uint32_t nlmsg_len; + uint32_t aligned_nlmsg_len; abi_long ret; while (len > sizeof(struct nlmsghdr)) { @@ -312,8 +313,13 @@ static abi_long host_to_target_for_each_nlmsg(struct nlmsghdr *nlh, break; } tswap_nlmsghdr(nlh); - len -= NLMSG_ALIGN(nlmsg_len); - nlh = (struct nlmsghdr *)(((char*)nlh) + NLMSG_ALIGN(nlmsg_len)); + + aligned_nlmsg_len = NLMSG_ALIGN(nlmsg_len); + if (aligned_nlmsg_len >= len) { + break; + } + len -= aligned_nlmsg_len; + nlh = (struct nlmsghdr *)(((char*)nlh) + aligned_nlmsg_len); } return 0; } @@ -323,6 +329,7 @@ static abi_long target_to_host_for_each_nlmsg(struct nlmsghdr *nlh, abi_long (*target_to_host_nlmsg) (struct nlmsghdr *)) { + uint32_t aligned_nlmsg_len; int ret; while (len > sizeof(struct nlmsghdr)) { @@ -349,8 +356,13 @@ static abi_long target_to_host_for_each_nlmsg(struct nlmsghdr *nlh, return ret; } } - len -= NLMSG_ALIGN(nlh->nlmsg_len); - nlh = (struct nlmsghdr *)(((char *)nlh) + NLMSG_ALIGN(nlh->nlmsg_len)); + + aligned_nlmsg_len = NLMSG_ALIGN(nlh->nlmsg_len); + if (aligned_nlmsg_len >= len) { + break; + } + len -= aligned_nlmsg_len; + nlh = (struct nlmsghdr *)(((char *)nlh) + aligned_nlmsg_len); } return 0; } @@ -363,6 +375,7 @@ static abi_long host_to_target_for_each_nlattr(struct nlattr *nlattr, void *context)) { unsigned short nla_len; + unsigned short aligned_nla_len; abi_long ret; while (len > sizeof(struct nlattr)) { @@ -377,8 +390,13 @@ static abi_long host_to_target_for_each_nlattr(struct nlattr *nlattr, if (ret < 0) { return ret; } - len -= NLA_ALIGN(nla_len); - nlattr = (struct nlattr *)(((char *)nlattr) + NLA_ALIGN(nla_len)); + + aligned_nla_len = NLA_ALIGN(nla_len); + if (aligned_nla_len >= len) { + break; + } + len -= aligned_nla_len; + nlattr = (struct nlattr *)(((char *)nlattr) + aligned_nla_len); } return 0; } @@ -389,6 +407,7 @@ static abi_long host_to_target_for_each_rtattr(struct rtattr *rtattr, (struct rtattr *)) { unsigned short rta_len; + unsigned short aligned_rta_len; abi_long ret; while (len > sizeof(struct rtattr)) { @@ -403,8 +422,13 @@ static abi_long host_to_target_for_each_rtattr(struct rtattr *rtattr, if (ret < 0) { return ret; } - len -= RTA_ALIGN(rta_len); - rtattr = (struct rtattr *)(((char *)rtattr) + RTA_ALIGN(rta_len)); + + aligned_rta_len = RTA_ALIGN(rta_len); + if (aligned_rta_len >= len) { + break; + } + len -= aligned_rta_len; + rtattr = (struct rtattr *)(((char *)rtattr) + aligned_rta_len); } return 0; } @@ -1058,6 +1082,7 @@ static abi_long target_to_host_for_each_rtattr(struct rtattr *rtattr, abi_long (*target_to_host_rtattr) (struct rtattr *)) { + unsigned short aligned_rta_len; abi_long ret; while (len >= sizeof(struct rtattr)) { @@ -1071,9 +1096,13 @@ static abi_long target_to_host_for_each_rtattr(struct rtattr *rtattr, if (ret < 0) { return ret; } - len -= RTA_ALIGN(rtattr->rta_len); - rtattr = (struct rtattr *)(((char *)rtattr) + - RTA_ALIGN(rtattr->rta_len)); + + aligned_rta_len = RTA_ALIGN(rtattr->rta_len); + if (aligned_rta_len >= len) { + break; + } + len -= aligned_rta_len; + rtattr = (struct rtattr *)(((char *)rtattr) + aligned_rta_len); } return 0; } From patchwork Tue Oct 22 08:10:56 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Laurent Vivier X-Patchwork-Id: 11203957 Return-Path: Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org [172.30.200.123]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 234821515 for ; Tue, 22 Oct 2019 08:20:14 +0000 (UTC) Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 0367020684 for ; Tue, 22 Oct 2019 08:20:13 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 0367020684 Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=vivier.eu Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=qemu-devel-bounces+patchwork-qemu-devel=patchwork.kernel.org@nongnu.org Received: from localhost ([::1]:51470 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iMpOm-0003fW-TT for patchwork-qemu-devel@patchwork.kernel.org; Tue, 22 Oct 2019 04:20:12 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:44259) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iMpGP-0002y8-O7 for qemu-devel@nongnu.org; Tue, 22 Oct 2019 04:11:34 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1iMpGO-0005AT-KD for qemu-devel@nongnu.org; Tue, 22 Oct 2019 04:11:33 -0400 Received: from mout.kundenserver.de ([217.72.192.74]:45923) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1iMpGO-00059Y-AX for qemu-devel@nongnu.org; Tue, 22 Oct 2019 04:11:32 -0400 Received: from localhost.localdomain ([78.238.229.36]) by mrelayeu.kundenserver.de (mreue107 [212.227.15.183]) with ESMTPSA (Nemesis) id 1Mtfa5-1i1a142DB1-00v9j3; Tue, 22 Oct 2019 10:11:17 +0200 From: Laurent Vivier To: qemu-devel@nongnu.org Subject: [PULL 03/11] linux-user/strace: Display invalid pointer in print_timeval() Date: Tue, 22 Oct 2019 10:10:56 +0200 Message-Id: <20191022081104.11814-4-laurent@vivier.eu> X-Mailer: git-send-email 2.21.0 In-Reply-To: <20191022081104.11814-1-laurent@vivier.eu> References: <20191022081104.11814-1-laurent@vivier.eu> MIME-Version: 1.0 X-Provags-ID: V03:K1:hCOy3gVybWU6TYPsuvud3YzUqA4Ytz+yHtzWQrt54XaYdteppXq 9xx9V/RI1sTN2tMjOsKXQfnV+/crOL3GF9IxLzkMM/HbEtXwiMSfCmSaKUxX+DXzGDPS4E2 1NnVhpNXUGeY5srrB6dHLmTxtPvdwk67SZZp7EMvuCzWyjWEpYGGUC3To7RMOtMqKjCpr7K yhgDPHl//R07GQqOO6U4w== X-UI-Out-Filterresults: notjunk:1;V03:K0:6MCORydexKE=:lE/nrl3vGZrjsjebIVGAdb /9bwsm8PQX5KjkpCJwEKIot5c4raIjsfLm48CQMDgKJMfIjywhpV7vY3JnCK8sZs5YW+/57A9 O37NK4jhOiwODyU0THn/PuDYGJVvyRX32mvxMDHxatWTDKlldsbL1eOIYqbEsLlmoVLegAVod Gc7a6BKYjY4Zo2wFFubf6Jg2zIOe+LSF6ohwZkaelo2SrLjFqzbUGE+B5ERiUxzSJEoxfJjWw Mhhhip+//JL+Q8qMSv6mfIHnCdoLgHDoh7wE/ETtRAxrcWTpd9joD3G1hjhLOvW56U8/jf2Tg KVFG6qhUHezFoEu8/Ky1056zbwGWJKUwsA70jCqKclUzen3fuP8keBcQLgoTWeZ747t962YvC KgDa8kq64fTCEYc7PfGcOG35GECBexJ2AyMKn44baq/XoC6/c3DPNCkI8RowT9Kw+3emYbx+d HZldae0fAFSJ3OIcCcfYkLoTQGZ85IxbwTSaM/L39iA+MFGrhDc8gXpClsRp5or6CQSGHwB7q n1xN7hqIvKJr1fy6+NynkhXntkg7Bmcdw+s3qPG2CMVABtOeNZk0IK4fcDKVN8HwwwE/Vbj0a 8dLze+xko1IyTIG8KG0i+v5xGBzUqfS1Re8DjOlXZ7Mr8DsrB120+7UdN7u0MvrjngtTQpBHz BgG++bnSS8g6HWrC4AwNjW4JpfiYvqO87ogLavHvLsCgNBP+PFs7KhvUjofINnvgQ7qxmmI0e lxaZyz5Gyf2NQnkbmZpemMlDDXZBA6prxWV6DMo9Y9VkckhxleN2zlku9IGlmOmOxWMUVN32x 2nrbmm6u74k5APQgOXalC1oLZqU/VppYTEXEXCUo/QNDX33iI2Zasrq1GVWfzgDF8IZYrUkEK H/lRD4eNTOQAqFyC/Io3UerXr+Z7Oya0TtG5o9QE0= X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] [fuzzy] X-Received-From: 217.72.192.74 X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Riku Voipio , Laurent Vivier , =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= Errors-To: qemu-devel-bounces+patchwork-qemu-devel=patchwork.kernel.org@nongnu.org Sender: "Qemu-devel" From: Philippe Mathieu-Daudé Suggested-by: Laurent Vivier Reviewed-by: Laurent Vivier Signed-off-by: Philippe Mathieu-Daudé Message-Id: <20191021114857.20538-2-f4bug@amsat.org> Signed-off-by: Laurent Vivier --- linux-user/strace.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/linux-user/strace.c b/linux-user/strace.c index c80e93b5db8a..f326c357a26d 100644 --- a/linux-user/strace.c +++ b/linux-user/strace.c @@ -1243,8 +1243,10 @@ print_timeval(abi_ulong tv_addr, int last) struct target_timeval *tv; tv = lock_user(VERIFY_READ, tv_addr, sizeof(*tv), 1); - if (!tv) + if (!tv) { + print_pointer(tv_addr, last); return; + } gemu_log("{" TARGET_ABI_FMT_ld "," TARGET_ABI_FMT_ld "}%s", tswapal(tv->tv_sec), tswapal(tv->tv_usec), get_comma(last)); unlock_user(tv, tv_addr, 0); From patchwork Tue Oct 22 08:10:57 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Laurent Vivier X-Patchwork-Id: 11203951 Return-Path: Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org [172.30.200.123]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id EACE014E5 for ; Tue, 22 Oct 2019 08:17:09 +0000 (UTC) Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 868DA20684 for ; Tue, 22 Oct 2019 08:17:09 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 868DA20684 Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=vivier.eu Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=qemu-devel-bounces+patchwork-qemu-devel=patchwork.kernel.org@nongnu.org Received: from localhost ([::1]:51438 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iMpLn-0000aS-Ud for patchwork-qemu-devel@patchwork.kernel.org; Tue, 22 Oct 2019 04:17:08 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:44130) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iMpGF-0002em-KL for qemu-devel@nongnu.org; Tue, 22 Oct 2019 04:11:24 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1iMpGE-00053c-Cc for qemu-devel@nongnu.org; Tue, 22 Oct 2019 04:11:23 -0400 Received: from mout.kundenserver.de ([217.72.192.75]:57117) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1iMpGE-00052o-3E for qemu-devel@nongnu.org; Tue, 22 Oct 2019 04:11:22 -0400 Received: from localhost.localdomain ([78.238.229.36]) by mrelayeu.kundenserver.de (mreue107 [212.227.15.183]) with ESMTPSA (Nemesis) id 1MwPfX-1i4Ku301yv-00sOZb; Tue, 22 Oct 2019 10:11:18 +0200 From: Laurent Vivier To: qemu-devel@nongnu.org Subject: [PULL 04/11] linux-user/strace: Add print_timezone() Date: Tue, 22 Oct 2019 10:10:57 +0200 Message-Id: <20191022081104.11814-5-laurent@vivier.eu> X-Mailer: git-send-email 2.21.0 In-Reply-To: <20191022081104.11814-1-laurent@vivier.eu> References: <20191022081104.11814-1-laurent@vivier.eu> MIME-Version: 1.0 X-Provags-ID: V03:K1:9wKceQZbFkT5WG5OXBjMel3+MhU5aaKV4bJghqBP929uN6MkBc9 y2wyt8DhKKgC0Et1hOplhxI7aYXnqCLI/tCpKTuetUQaNsnCD32xKdx1C1Ck4wXOE87Gfy3 CQ6bWgtNujLQ2oh/9f++HswjCmzki3COEZ52c7ufTaaPO1oWBqGlQwOIUTCCIrjMyKJ8b3e JIBd7MpTIunI4c3CrDQLg== X-UI-Out-Filterresults: notjunk:1;V03:K0:58T0ejQNKkI=:BrwCANgLcZm5oXNFfUYTeO 6gkrC75oCqsOIpqjbxW6vaP40g70zaOaqEcdLlpKIQLHhmGULNXtKdmwVBvhfpR19jsmIZoFH n0f3mY1bMreTbk/KgcaKQWJpf+6iSHPdpC0fqxBLdynpGE5mX4Gj/vmGWyCndK2mLfsqjanNF 9aAtQxqFxFIyUCy9tMtGQXheqYhmzSeFBXVEtSdCOO/W9K+n/WtM+QGNvUeCMe4O0XxoAfmFs Q17KZ3uU/zUFc1bH3a5Fpj+xjHPTTX7C7E/Vc0Gdfa1Dt9FS1xh9lSqzDpKzwa4DO1F6vxuyG pNN46ZR0rUMuspdt3UJsfd20eawgegFW6/cEZwva1NKkMruQ7iymNNthUuvUH2cW6t42VIJLw BUDoalsdrW+woBhhmLV+HKVlelwLalHTjGakff6X5E7h3W6cRM2rmt6hn/sXRtqeu4WDjeFKi I75iRT3/f9vl3PKY6Z8dmAlEhsrYUEWXIgmEQielWNwwBuLNMOtZwsaeAeIWLjoO3Zi6sTtVJ A6unb+387osC3Spasu7qPMxAKEu/iCYBkMXmOwDxhrbbYPRNaoyBip3WrOdoxiFVGdxooYSLH 2cjrWWS8tE+WxH1pA3Gnr8rV4fqTB0e+8fgk5t75qrwkK6tMUzDJ13fkq1aPu2+i5xThaA2B3 0BIJHylKz6MVwvaavBwmzV/5yjJwFBxiycM8Vxf+lJeJjozDy8UYUprvxJing6kAn528x9IyS SXiRjIA1Yi3VvIGPNriajDjs4c7o7l5EqofecrALUYJDGkerG8zM1fOOWpAVxEVj88Q5KYg31 w1fsMC90TWOISKfVqweLrylWpH0Py2szMxbVxVzQmbeyn9JvI3wZ46OcLejzyfmyAma+wfJ86 Sn5x6R3YO3EQlGW4cCm8oiUZKV/ejUishSgYTBUSE= X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] [fuzzy] X-Received-From: 217.72.192.75 X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Riku Voipio , Laurent Vivier , =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= Errors-To: qemu-devel-bounces+patchwork-qemu-devel=patchwork.kernel.org@nongnu.org Sender: "Qemu-devel" From: Philippe Mathieu-Daudé Suggested-by: Laurent Vivier Reviewed-by: Laurent Vivier Signed-off-by: Philippe Mathieu-Daudé Reviewed-by: Laurent Vivier Message-Id: <20191021114857.20538-3-f4bug@amsat.org> Signed-off-by: Laurent Vivier --- linux-user/strace.c | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/linux-user/strace.c b/linux-user/strace.c index f326c357a26d..2cd6687cd99b 100644 --- a/linux-user/strace.c +++ b/linux-user/strace.c @@ -63,6 +63,7 @@ UNUSED static void print_string(abi_long, int); UNUSED static void print_buf(abi_long addr, abi_long len, int last); UNUSED static void print_raw_param(const char *, abi_long, int); UNUSED static void print_timeval(abi_ulong, int); +UNUSED static void print_timezone(abi_ulong, int); UNUSED static void print_number(abi_long, int); UNUSED static void print_signal(abi_ulong, int); UNUSED static void print_sockaddr(abi_ulong addr, abi_long addrlen); @@ -1254,6 +1255,25 @@ print_timeval(abi_ulong tv_addr, int last) gemu_log("NULL%s", get_comma(last)); } +static void +print_timezone(abi_ulong tz_addr, int last) +{ + if (tz_addr) { + struct target_timezone *tz; + + tz = lock_user(VERIFY_READ, tz_addr, sizeof(*tz), 1); + if (!tz) { + print_pointer(tz_addr, last); + return; + } + gemu_log("{%d,%d}%s", tswap32(tz->tz_minuteswest), + tswap32(tz->tz_dsttime), get_comma(last)); + unlock_user(tz, tz_addr, 0); + } else { + gemu_log("NULL%s", get_comma(last)); + } +} + #undef UNUSED #ifdef TARGET_NR_accept From patchwork Tue Oct 22 08:10:58 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Laurent Vivier X-Patchwork-Id: 11203967 Return-Path: Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org [172.30.200.123]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id B980F14E5 for ; Tue, 22 Oct 2019 08:23:47 +0000 (UTC) Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 99B9720684 for ; Tue, 22 Oct 2019 08:23:47 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 99B9720684 Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=vivier.eu Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=qemu-devel-bounces+patchwork-qemu-devel=patchwork.kernel.org@nongnu.org Received: from localhost ([::1]:51526 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iMpSE-0000qs-48 for patchwork-qemu-devel@patchwork.kernel.org; Tue, 22 Oct 2019 04:23:46 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:44286) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iMpGT-00034C-Iu for qemu-devel@nongnu.org; Tue, 22 Oct 2019 04:11:42 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1iMpGO-0005AN-Ji for qemu-devel@nongnu.org; Tue, 22 Oct 2019 04:11:37 -0400 Received: from mout.kundenserver.de ([217.72.192.74]:37835) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1iMpGO-00059V-A3 for qemu-devel@nongnu.org; Tue, 22 Oct 2019 04:11:32 -0400 Received: from localhost.localdomain ([78.238.229.36]) by mrelayeu.kundenserver.de (mreue107 [212.227.15.183]) with ESMTPSA (Nemesis) id 1M4aEC-1iLBMe31jq-001fWm; Tue, 22 Oct 2019 10:11:18 +0200 From: Laurent Vivier To: qemu-devel@nongnu.org Subject: [PULL 05/11] linux-user/strace: Improve settimeofday() Date: Tue, 22 Oct 2019 10:10:58 +0200 Message-Id: <20191022081104.11814-6-laurent@vivier.eu> X-Mailer: git-send-email 2.21.0 In-Reply-To: <20191022081104.11814-1-laurent@vivier.eu> References: <20191022081104.11814-1-laurent@vivier.eu> MIME-Version: 1.0 X-Provags-ID: V03:K1:NsWC2Xt4bpl0q1ey+XXa/QhosycTjZyo5vAKPhfl8h2CIrRvDpC imrRTCLQwdE69H8QDoXA5fTGhJsIZYZ5sjVxOmWARjvSJ+RRdlOzvKRpShOR5AQROAzSS4T H299Y5/5gn+txrxFPT6KZzkc77h84E6pchKbq89dy+9B1+RYesTbb0TF5QbfZ4s/hH/OV2v ROgB/rpVKIFJ5rDeLyzow== X-UI-Out-Filterresults: notjunk:1;V03:K0:R9kOsov3XtI=:T65UAa9OtCm+puzDh6PPgx v5gmLQLbh/3q1vM6Bn6eUroHMtSOo/meGAY1BINSgyYGuA8W3jJKVBqomVjAO5S2ooC55craO MLNyYr5GgNLQrVIQDSAYVLn3XWO/fGFxAjTx6WY697QvXRULH1aK2QRPgkE7Nvjn6EjfcCYTv nWpD7fNTEa5/zYI46nksDc3WJqHHsMZJyD3M146ZeMaV3pnOZRESbCnZMFHWcvkSqKskIFcOq dnQb7esPnnfcnOUjPwYkh1IkGH6SvnrKS8f2Bl0wxGOomhoTYukA395agMsAyBkdMQtZXrby4 W88t3tTJhWIbqfvhcazxkCwRQBqfFdKwq0EoIKxQoiX2EY2lFIhFT7TB07Pmi4tiAYrHQMIEi eUc3SgZs7nzu/wwwhFZFRHedHE54oGyu2VjhN9wQg/GJ1RDXIgHHLC2nu20n80HBNLRcObqnp MfUsdNxr76QBkmwF06i5I6vqCvF4VQW8AajNMmsRE8Xconok/oNQcpxrtJ0kdsdnsy0dVkVD8 IBiYNjqrYCrA8UU9hX5r8twzZPwFArysG9fZe8WRFS6YmsGwFmOoC55dwJjTG8uGq/apmdnDp zuGRq9x09Vli6Nu7W/AYthtJbD+dbDwx0R8WMjEqpRrWiU/LrswPZDe9oXEbsWeYC+hWUVwGt jKFO9kqv++BrzMDeB1zdgJrqBL6P4021qGPJnfXrRQcGXWDhJ1iaSwwf5SQr7E8Py2OTWkDCn fHxbtjjfOhpFoztvMsIre9mHGmIQp0hLs12b6VxiSEZ1iSkRmVpjk22mRqppr3mSB2m4WyfJf pw24pxFzt0bx70TMPLSFBf0S6AUj/jVVQMHbMW+B8CuO+1ScjpkkZkFdPBUwGRUVs1GK+53o3 lDYA3hpMW+9rb8FqTAIsvRw9O11iTGhRwfo2AatjI= X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] [fuzzy] X-Received-From: 217.72.192.74 X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: =?utf-8?q?Guido_G=C3=BCnther?= , Riku Voipio , Laurent Vivier , =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= Errors-To: qemu-devel-bounces+patchwork-qemu-devel=patchwork.kernel.org@nongnu.org Sender: "Qemu-devel" From: Philippe Mathieu-Daudé Signed-off-by: Philippe Mathieu-Daudé Tested-By: Guido Günther Reviewed-by: Laurent Vivier Message-Id: <20191021114857.20538-4-f4bug@amsat.org> Signed-off-by: Laurent Vivier --- linux-user/strace.c | 13 +++++++++++++ linux-user/strace.list | 2 +- 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/linux-user/strace.c b/linux-user/strace.c index 2cd6687cd99b..fd5596a64074 100644 --- a/linux-user/strace.c +++ b/linux-user/strace.c @@ -1583,6 +1583,19 @@ print_futimesat(const struct syscallname *name, } #endif +#ifdef TARGET_NR_settimeofday +static void +print_settimeofday(const struct syscallname *name, + abi_long arg0, abi_long arg1, abi_long arg2, + abi_long arg3, abi_long arg4, abi_long arg5) +{ + print_syscall_prologue(name); + print_timeval(arg0, 0); + print_timezone(arg1, 1); + print_syscall_epilogue(name); +} +#endif + #ifdef TARGET_NR_link static void print_link(const struct syscallname *name, diff --git a/linux-user/strace.list b/linux-user/strace.list index 863283418ef9..6f95466dc59d 100644 --- a/linux-user/strace.list +++ b/linux-user/strace.list @@ -1348,7 +1348,7 @@ { TARGET_NR_set_tid_address, "set_tid_address" , NULL, NULL, NULL }, #endif #ifdef TARGET_NR_settimeofday -{ TARGET_NR_settimeofday, "settimeofday" , NULL, NULL, NULL }, +{ TARGET_NR_settimeofday, "settimeofday" , NULL, print_settimeofday, NULL }, #endif #ifdef TARGET_NR_setuid { TARGET_NR_setuid, "setuid" , NULL, NULL, NULL }, From patchwork Tue Oct 22 08:10:59 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Laurent Vivier X-Patchwork-Id: 11203949 Return-Path: Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org [172.30.200.123]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 520C4139A for ; Tue, 22 Oct 2019 08:16:46 +0000 (UTC) Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 3276C20684 for ; Tue, 22 Oct 2019 08:16:46 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 3276C20684 Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=vivier.eu Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=qemu-devel-bounces+patchwork-qemu-devel=patchwork.kernel.org@nongnu.org Received: from localhost ([::1]:51434 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iMpLR-0000BB-6I for patchwork-qemu-devel@patchwork.kernel.org; Tue, 22 Oct 2019 04:16:45 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:44159) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iMpGG-0002hD-Mp for qemu-devel@nongnu.org; Tue, 22 Oct 2019 04:11:25 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1iMpGF-00054N-Ej for qemu-devel@nongnu.org; Tue, 22 Oct 2019 04:11:24 -0400 Received: from mout.kundenserver.de ([212.227.17.24]:40997) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1iMpGF-00053W-4t for qemu-devel@nongnu.org; Tue, 22 Oct 2019 04:11:23 -0400 Received: from localhost.localdomain ([78.238.229.36]) by mrelayeu.kundenserver.de (mreue107 [212.227.15.183]) with ESMTPSA (Nemesis) id 1MybX9-1i6Vha17qn-00yzDT; Tue, 22 Oct 2019 10:11:19 +0200 From: Laurent Vivier To: qemu-devel@nongnu.org Subject: [PULL 06/11] linux-user/syscall: Introduce target_sockaddr_nl Date: Tue, 22 Oct 2019 10:10:59 +0200 Message-Id: <20191022081104.11814-7-laurent@vivier.eu> X-Mailer: git-send-email 2.21.0 In-Reply-To: <20191022081104.11814-1-laurent@vivier.eu> References: <20191022081104.11814-1-laurent@vivier.eu> MIME-Version: 1.0 X-Provags-ID: V03:K1:cZCZNjFSvn6JZ5+AViajwJTnhlc+xH1cJl92ap2WOuFI7HJd+YP Ny3c/DvDRX+jV3hDnIrmkfmcWzELybH/cReND6lqryMrKTGlJm+/9Zos3vrPoskOw3Uf7iH Rv+COdgOMLK9Zpik1u1p2PuVYVl+APBSnf9Hw7aaUM+gQ6RvoJlyem21ueqX1u4ZFKTDVO/ DB7Z8HO6F4+w2rXY3NTPw== X-UI-Out-Filterresults: notjunk:1;V03:K0:6Qn5bnVgGAc=:mCL7xW8618kbGqJ7gorYNI FSa8MHPlQbeSQjROQIG8pd9qchPFBksyCxhMhs4kkpx/6vcg+l6mEYy88yM/SgyxMPm7E954S HOdxOXCHSPmPuGo9knTE9EL2s3UEBahi9mOX+dgCQ3HoBa5lMqto82x6Fx3oRBYRh16xlSwWP y29aIgv3L2Qlz8nWM9DJftvWGojS6qIQF9AS6wQm+WKlLEUNedpIv1n1GtuFc2bL7TLeii/Oe vwrT8S9Zn1PLRBSYpf/JwYzrZ7TDCxmc9c8qpKMQg5jARDc42kVW90oFustde+zuUSvVG1lJ+ FbL1d+W7dVyr6NMjj60/ZS8ZNrSPe9h/NeIQuy8/XQ/vZUugc0iF1BDcsB0aDv6VierBr4e8J LbLzapXdkUHD4j7QSxflCdVhBOFOP5mGp1bUwDcLRR7aqOmD8NFPxjPGvQTicuCRAJu/Iy26T 3gKcgC892VQ+t9J8vXmuo4dMrOFLEiFQv8vU35vz0WtmvohbFbUIi3oDB4FJdmHW2j3vh3jmK FNF0pS6y0HKBddP8bK9luL2igFAVX+gpOU0gIeFbI1EdRvA1yR2CPC8+g3/zkiX0AiGRT2nRX WclTBXH7RlZXwieSx4+XVRsFuDKoqNXv46kqf4fL0jn0gatnJtn2x8CWAiTBAPgyDgzbp4eUL tvELaWmxyHXmhySphON5RLW7TvsCpbhvRTaecPN1xx88joLXLMG3rsQU1ctj4HC9bZsE6C4k7 CA1ietTDyhOe9xhvs9aaSMgt+L8z0sC5XtYHnR2YWasl/phkzQFQyNLs3NHA1PqfbG5puDoOR Qbf0zpyy8SAVVKEVtnSkQaZCXXQCNEhZnd8/O1h5wTuT7SLq5Y8rgvOEfR540utX8hel8z/YY lMQ2IV4wHOR6bfwCbNzlN5pbGuXDPdlc5c4l0togU= X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] [fuzzy] X-Received-From: 212.227.17.24 X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: =?utf-8?q?Guido_G=C3=BCnther?= , Riku Voipio , Laurent Vivier , =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= Errors-To: qemu-devel-bounces+patchwork-qemu-devel=patchwork.kernel.org@nongnu.org Sender: "Qemu-devel" From: Philippe Mathieu-Daudé Tested-By: Guido Günther Reviewed-by: Laurent Vivier Signed-off-by: Philippe Mathieu-Daudé Message-Id: <20191021114857.20538-5-f4bug@amsat.org> Signed-off-by: Laurent Vivier --- linux-user/syscall.c | 6 ++++-- linux-user/syscall_defs.h | 7 +++++++ 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/linux-user/syscall.c b/linux-user/syscall.c index e2af3c1494fa..f1ab81b91771 100644 --- a/linux-user/syscall.c +++ b/linux-user/syscall.c @@ -1496,8 +1496,10 @@ static inline abi_long host_to_target_sockaddr(abi_ulong target_addr, sizeof(target_saddr->sa_family)) { target_saddr->sa_family = tswap16(addr->sa_family); } - if (addr->sa_family == AF_NETLINK && len >= sizeof(struct sockaddr_nl)) { - struct sockaddr_nl *target_nl = (struct sockaddr_nl *)target_saddr; + if (addr->sa_family == AF_NETLINK && + len >= sizeof(struct target_sockaddr_nl)) { + struct target_sockaddr_nl *target_nl = + (struct target_sockaddr_nl *)target_saddr; target_nl->nl_pid = tswap32(target_nl->nl_pid); target_nl->nl_groups = tswap32(target_nl->nl_groups); } else if (addr->sa_family == AF_PACKET) { diff --git a/linux-user/syscall_defs.h b/linux-user/syscall_defs.h index fa69c6ab8d01..7694d72446d1 100644 --- a/linux-user/syscall_defs.h +++ b/linux-user/syscall_defs.h @@ -153,6 +153,13 @@ struct target_sockaddr_un { uint8_t sun_path[108]; }; +struct target_sockaddr_nl { + abi_ushort nl_family; /* AF_NETLINK */ + abi_ushort __pad; + abi_uint nl_pid; + abi_uint nl_groups; +}; + struct target_in_addr { uint32_t s_addr; /* big endian */ }; From patchwork Tue Oct 22 08:11:00 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Laurent Vivier X-Patchwork-Id: 11203947 Return-Path: Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org [172.30.200.123]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 4A5D3139A for ; Tue, 22 Oct 2019 08:14:39 +0000 (UTC) Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 2B3DC21872 for ; Tue, 22 Oct 2019 08:14:39 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 2B3DC21872 Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=vivier.eu Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=qemu-devel-bounces+patchwork-qemu-devel=patchwork.kernel.org@nongnu.org Received: from localhost ([::1]:51422 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iMpJN-0006mP-R2 for patchwork-qemu-devel@patchwork.kernel.org; Tue, 22 Oct 2019 04:14:37 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:44162) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iMpGG-0002hh-QR for qemu-devel@nongnu.org; Tue, 22 Oct 2019 04:11:26 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1iMpGF-00054T-Ho for qemu-devel@nongnu.org; Tue, 22 Oct 2019 04:11:24 -0400 Received: from mout.kundenserver.de ([212.227.17.10]:55701) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1iMpGF-00053g-7z for qemu-devel@nongnu.org; Tue, 22 Oct 2019 04:11:23 -0400 Received: from localhost.localdomain ([78.238.229.36]) by mrelayeu.kundenserver.de (mreue107 [212.227.15.183]) with ESMTPSA (Nemesis) id 1MF45G-1iGAM33J8K-00FRiM; Tue, 22 Oct 2019 10:11:19 +0200 From: Laurent Vivier To: qemu-devel@nongnu.org Subject: [PULL 07/11] linux-user/strace: Dump AF_NETLINK sockaddr content Date: Tue, 22 Oct 2019 10:11:00 +0200 Message-Id: <20191022081104.11814-8-laurent@vivier.eu> X-Mailer: git-send-email 2.21.0 In-Reply-To: <20191022081104.11814-1-laurent@vivier.eu> References: <20191022081104.11814-1-laurent@vivier.eu> MIME-Version: 1.0 X-Provags-ID: V03:K1:DESsI0QzkWz1nsQbcal9gf9LarrsZojwOWRoWfhXnSB6PiAk9J0 HmHMa349MQ/A2yJ7oxS8THE4ccjvm/5HADO1EEQSX5EOxuQ4wX4BQlQ2ZEC7zITDySJqcKF O14pXkgyYAhLbIq6q528N9IrmbPfsF2iVNtJFn1D2GoSAmICcv+ZYKOHpGe/AuAGWKX0aOt WGsMKH9s+6MUMQl9yymsA== X-UI-Out-Filterresults: notjunk:1;V03:K0:s4Tb9goKibs=:O+4G6uWWuVfeER3YZyJbzq F9aW3+zrOnrxMdHdPuBJzcgLvItCNS190WrzXDwzUBgUjCFhYSwm0JhZyT2zyXg6XUeLjOCql 4t/e7SehfklTMw0LIWhQlwyWLPy5dEDEYj7NsT2p8HNQfl4hBIjEnQUac+UfdQIaC1TxvoXS7 oHzkiwdh5vq9KRnkJsuykzNgR06Xm0YXNJvad4FtBeO/DZ4sWxZNLJUIvPhqtbujvMD8gfR+8 qJ8BT8+7CoAZweyj2cBAqkVUa+9B8oyo1Iquh2wHEw4vvmQlz+Ng4Zd/oSx9XmbRpNgXRutJD XvEhgzwsJAe09nU2v75OoPyHj4dYHPIxsnsSnNga1DYdz14WsUEeagD9VFZAZvE3Af5/5QM8C zpa+UmYg4OEJ2yR0zoxLS1P/Mq8Uew02nSRvVBM/a/JSs/IKInWALhnZ6H7BOXbkfsati83Mh 9Swg0wUSsDeadgpm9rJQcLzu39jgUn7FmHLYv2yzCQI9OcnwTDFfFSWbgEs4AnWZAB8HUnBjf D6xSeV2HPyPeqDjnPXOxWaoSagQjf1uzc0z2nP3zUusQl+rFHAac/K1rSdd+/8XMa//0thytU jDhShrjEfwtVI5A3YSxC0M8gWopprZXOSBZmSGokbCsl+w+438JxeD1el93O8EP3D1Hj9ep2Y M++35S1knKga4Fgi3stRJ9tczkcQvHxvyEw6CCCkF8/F4uXsQ3KTTyVR4zWlQZUcnNgOl3t6K dy39WbG5Z8SvodnGEirOA4kKX4l/28FOR08ZXgtm7+RT219VDO+453OHDrpS+jxu9JyrLFlKg WhkSZ47bHqFK3O600URAIf7W/QsiG7eHunUodxseuYsDD7qD7aD6NfEUkGIZRy5N1uLkiTXXX BCSo0OjDWoIfIMaMird21gCanoKdx0zHl1GnI7Baw= X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] [fuzzy] X-Received-From: 212.227.17.10 X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: =?utf-8?q?Guido_G=C3=BCnther?= , Riku Voipio , Laurent Vivier , =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= Errors-To: qemu-devel-bounces+patchwork-qemu-devel=patchwork.kernel.org@nongnu.org Sender: "Qemu-devel" From: Philippe Mathieu-Daudé Signed-off-by: Philippe Mathieu-Daudé Tested-By: Guido Günther Reviewed-by: Laurent Vivier Message-Id: <20191021114857.20538-6-f4bug@amsat.org> Signed-off-by: Laurent Vivier --- linux-user/strace.c | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) diff --git a/linux-user/strace.c b/linux-user/strace.c index fd5596a64074..5fa7748427f0 100644 --- a/linux-user/strace.c +++ b/linux-user/strace.c @@ -8,6 +8,7 @@ #include #include #include +#include #include #include "qemu.h" @@ -398,6 +399,12 @@ print_sockaddr(abi_ulong addr, abi_long addrlen) gemu_log("}"); break; } + case AF_NETLINK: { + struct target_sockaddr_nl *nl = (struct target_sockaddr_nl *)sa; + gemu_log("{nl_family=AF_NETLINK,nl_pid=%u,nl_groups=%u}", + tswap32(nl->nl_pid), tswap32(nl->nl_groups)); + break; + } default: gemu_log("{sa_family=%d, sa_data={", sa->sa_family); for (i = 0; i < 13; i++) { @@ -424,6 +431,9 @@ print_socket_domain(int domain) case PF_INET: gemu_log("PF_INET"); break; + case PF_NETLINK: + gemu_log("PF_NETLINK"); + break; case PF_PACKET: gemu_log("PF_PACKET"); break; @@ -473,6 +483,33 @@ print_socket_protocol(int domain, int type, int protocol) return; } + if (domain == PF_NETLINK) { + switch (protocol) { + case NETLINK_ROUTE: + gemu_log("NETLINK_ROUTE"); + break; + case NETLINK_AUDIT: + gemu_log("NETLINK_AUDIT"); + break; + case NETLINK_NETFILTER: + gemu_log("NETLINK_NETFILTER"); + break; + case NETLINK_KOBJECT_UEVENT: + gemu_log("NETLINK_KOBJECT_UEVENT"); + break; + case NETLINK_RDMA: + gemu_log("NETLINK_RDMA"); + break; + case NETLINK_CRYPTO: + gemu_log("NETLINK_CRYPTO"); + break; + default: + gemu_log("%d", protocol); + break; + } + return; + } + switch (protocol) { case IPPROTO_IP: gemu_log("IPPROTO_IP"); From patchwork Tue Oct 22 08:11:01 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Laurent Vivier X-Patchwork-Id: 11203961 Return-Path: Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org [172.30.200.123]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id AAE0A14ED for ; Tue, 22 Oct 2019 08:21:57 +0000 (UTC) Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 8AED820684 for ; Tue, 22 Oct 2019 08:21:57 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 8AED820684 Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=vivier.eu Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=qemu-devel-bounces+patchwork-qemu-devel=patchwork.kernel.org@nongnu.org Received: from localhost ([::1]:51488 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iMpQS-0006SM-Fh for patchwork-qemu-devel@patchwork.kernel.org; Tue, 22 Oct 2019 04:21:56 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:44166) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iMpGH-0002iq-1h for qemu-devel@nongnu.org; Tue, 22 Oct 2019 04:11:26 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1iMpGF-00054e-Oi for qemu-devel@nongnu.org; Tue, 22 Oct 2019 04:11:24 -0400 Received: from mout.kundenserver.de ([212.227.17.10]:57585) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1iMpGF-00053l-FW for qemu-devel@nongnu.org; Tue, 22 Oct 2019 04:11:23 -0400 Received: from localhost.localdomain ([78.238.229.36]) by mrelayeu.kundenserver.de (mreue107 [212.227.15.183]) with ESMTPSA (Nemesis) id 1MvJjz-1i5Qpl17qL-00rIdv; Tue, 22 Oct 2019 10:11:20 +0200 From: Laurent Vivier To: qemu-devel@nongnu.org Subject: [PULL 08/11] linux-user/strace: Add print_sockfd() Date: Tue, 22 Oct 2019 10:11:01 +0200 Message-Id: <20191022081104.11814-9-laurent@vivier.eu> X-Mailer: git-send-email 2.21.0 In-Reply-To: <20191022081104.11814-1-laurent@vivier.eu> References: <20191022081104.11814-1-laurent@vivier.eu> MIME-Version: 1.0 X-Provags-ID: V03:K1:aIxCoJcwnpaYf33vOCZNVpNcU8+ktlueahCgsyBYALPNleEqRrq VLY8HeEUPQB1HZedvhpjwOGSBs/iRUcK9nOkfde4xYS8ftkFw3zUKXlAC84D+javr+vQyDL h8FhltB1jvpLeQp/BOGc0tZnCe3Z77Zm+4nZc0a1Tm+VUfgGWBJoXBNfS7VJz55661LwC6k RdQott0w5Hi3ZfjrIGmpQ== X-UI-Out-Filterresults: notjunk:1;V03:K0:7BAujVHsBMs=:KdfPWzQrTCNgCcHSq0ttXM 4h3JrV17J6ulNAXMB9juvApYC5pKKi3hu3fIRlch+CKB4QX3O5JelS2C95/Gc//NRqtWSnDDy n8vfkQbAxRVFZdDot/G3dUHrql4vpzgcnwMsWEGW+IlYjqsYEi726cyK6C2mklCyR2skCxK07 jDlIfg46fPsAaqP8NsHBVzCLfOx+Yfy6tEK9b3uQ2ImgtdC7ZodNpcc95cbLZz0OLvnZ68Sj/ IGX0X/b429g2Du8k9y6c7LlOl2arzYT3Auk8ZWMKfew5eC3N+VEaYcwDrY/CKXCJnZ5wxOMDI vpUYfWKVnWZ3HBc+qgYxsE5pQoECRnNLtHEFYBKr0JIFIM7Iq5fa/kgczGJskmjqsn9TR9tzk NmA+fWvs0Lb8pJ4CEkAUi0H2J/aHESLI9QR69QxlbF3hm0agbOvBZk5/YOMMxh5iOoWJCIlf9 XRFmH3yiaRL44JjiUu/S6IEgGJ9PPFMBKJmtGSEM3jyOY6ZXlZpehpM+rLl8AK/kOMQyu9I09 t3HXgmk2U+oI9TFeslPtQm0UGbRmMUkXYiRuIV/g/p9PzVRwxaMjUAcjwDT9L8h5C3062QgrQ OeV4CA/P4tbtB+uo7I+YsT49v6xSzDdef6/rF/X91pSAD1fQ3Iua+sO45HIlC7Gx7jkWGCz2L qGOMltlu6MopFVJ0urPN7e94YG3759Nc9Nef9+QF44fEABOiOTs5tWkAAxKN4DdHGAC9x8Pxl ABTmtNcSYxZ1AOsJg/sBsJQ4LD1MdesBAiKmrGzaguT83eRbCFqPLFJaFPzIGzpp2pMRrmC0S ZHrX4yx0g8i2C/9ajQFL4a04d5WYOqRQlvU69uHzM5wPZQr1yWYQlteI8I1aF+LRUJDwRdNod N8c6sY9vXsRKraZwCXDHZYGooxWBzCxugQrAoq5P8= X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] [fuzzy] X-Received-From: 212.227.17.10 X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Riku Voipio , Laurent Vivier , =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= Errors-To: qemu-devel-bounces+patchwork-qemu-devel=patchwork.kernel.org@nongnu.org Sender: "Qemu-devel" From: Philippe Mathieu-Daudé Extract common print_sockfd() from various socket related syscalls. Reviewed-by: Laurent Vivier Signed-off-by: Philippe Mathieu-Daudé Message-Id: <20191021114857.20538-7-f4bug@amsat.org> Signed-off-by: Laurent Vivier --- linux-user/strace.c | 23 ++++++++++++++++------- 1 file changed, 16 insertions(+), 7 deletions(-) diff --git a/linux-user/strace.c b/linux-user/strace.c index 5fa7748427f0..0ce2b658a52d 100644 --- a/linux-user/strace.c +++ b/linux-user/strace.c @@ -1709,6 +1709,15 @@ print_socket(const struct syscallname *name, #if defined(TARGET_NR_socketcall) +static void print_sockfd(abi_long sockfd, int last) +{ + print_raw_param(TARGET_ABI_FMT_ld, sockfd, last); +} + +#endif + +#if defined(TARGET_NR_socketcall) + #define get_user_ualx(x, gaddr, idx) \ get_user_ual(x, (gaddr) + (idx) * sizeof(abi_long)) @@ -1741,7 +1750,7 @@ static void do_print_sockaddr(const char *name, abi_long arg1) get_user_ualx(addrlen, arg1, 2); gemu_log("%s(", name); - print_raw_param(TARGET_ABI_FMT_ld, sockfd, 0); + print_sockfd(sockfd, 0); print_sockaddr(addr, addrlen); gemu_log(")"); } @@ -1754,7 +1763,7 @@ static void do_print_listen(const char *name, abi_long arg1) get_user_ualx(backlog, arg1, 1); gemu_log("%s(", name); - print_raw_param(TARGET_ABI_FMT_ld, sockfd, 0); + print_sockfd(sockfd, 0); print_raw_param(TARGET_ABI_FMT_ld, backlog, 1); gemu_log(")"); } @@ -1789,7 +1798,7 @@ static void do_print_sendrecv(const char *name, abi_long arg1) get_user_ualx(flags, arg1, 3); gemu_log("%s(", name); - print_raw_param(TARGET_ABI_FMT_ld, sockfd, 0); + print_sockfd(sockfd, 0); print_buf(msg, len, 0); print_raw_param(TARGET_ABI_FMT_ld, len, 0); print_flags(msg_flags, flags, 1); @@ -1808,7 +1817,7 @@ static void do_print_msgaddr(const char *name, abi_long arg1) get_user_ualx(addrlen, arg1, 5); gemu_log("%s(", name); - print_raw_param(TARGET_ABI_FMT_ld, sockfd, 0); + print_sockfd(sockfd, 0); print_buf(msg, len, 0); print_raw_param(TARGET_ABI_FMT_ld, len, 0); print_flags(msg_flags, flags, 0); @@ -1824,7 +1833,7 @@ static void do_print_shutdown(const char *name, abi_long arg1) get_user_ualx(how, arg1, 1); gemu_log("shutdown("); - print_raw_param(TARGET_ABI_FMT_ld, sockfd, 0); + print_sockfd(sockfd, 0); switch (how) { case SHUT_RD: gemu_log("SHUT_RD"); @@ -1851,7 +1860,7 @@ static void do_print_msg(const char *name, abi_long arg1) get_user_ualx(flags, arg1, 2); gemu_log("%s(", name); - print_raw_param(TARGET_ABI_FMT_ld, sockfd, 0); + print_sockfd(sockfd, 0); print_pointer(msg, 0); print_flags(msg_flags, flags, 1); gemu_log(")"); @@ -1868,7 +1877,7 @@ static void do_print_sockopt(const char *name, abi_long arg1) get_user_ualx(optlen, arg1, 4); gemu_log("%s(", name); - print_raw_param(TARGET_ABI_FMT_ld, sockfd, 0); + print_sockfd(sockfd, 0); switch (level) { case SOL_TCP: gemu_log("SOL_TCP,"); From patchwork Tue Oct 22 08:11:02 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Laurent Vivier X-Patchwork-Id: 11203963 Return-Path: Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org [172.30.200.123]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 33CE314E5 for ; Tue, 22 Oct 2019 08:21:59 +0000 (UTC) Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 147D720684 for ; Tue, 22 Oct 2019 08:21:59 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 147D720684 Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=vivier.eu Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=qemu-devel-bounces+patchwork-qemu-devel=patchwork.kernel.org@nongnu.org Received: from localhost ([::1]:51490 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iMpQU-0006UU-AU for patchwork-qemu-devel@patchwork.kernel.org; Tue, 22 Oct 2019 04:21:58 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:44280) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iMpGS-00032V-E2 for qemu-devel@nongnu.org; Tue, 22 Oct 2019 04:11:37 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1iMpGR-0005DD-Bv for qemu-devel@nongnu.org; Tue, 22 Oct 2019 04:11:36 -0400 Received: from mout.kundenserver.de ([217.72.192.73]:59977) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1iMpGR-0005By-1q for qemu-devel@nongnu.org; Tue, 22 Oct 2019 04:11:35 -0400 Received: from localhost.localdomain ([78.238.229.36]) by mrelayeu.kundenserver.de (mreue107 [212.227.15.183]) with ESMTPSA (Nemesis) id 1MYe6H-1iZlhj3Ksd-00VjY1; Tue, 22 Oct 2019 10:11:20 +0200 From: Laurent Vivier To: qemu-devel@nongnu.org Subject: [PULL 09/11] linux-user/strace: Improve bind() output Date: Tue, 22 Oct 2019 10:11:02 +0200 Message-Id: <20191022081104.11814-10-laurent@vivier.eu> X-Mailer: git-send-email 2.21.0 In-Reply-To: <20191022081104.11814-1-laurent@vivier.eu> References: <20191022081104.11814-1-laurent@vivier.eu> MIME-Version: 1.0 X-Provags-ID: V03:K1:Xdd+r7GY/qZzaOF66zQ1MYlqJ3Y0zOwwi/ejhmnpZZtv+BToISa DS3E7xWtMLVHYM2wSWF0EXK+yxqAAVRV44JX1aV3QFCPfC1DHFsFbYxcz+bLTBPJqNU5eSa ntsBZ0JipY3pTVh7sgl6RBZV25mLT4vm5ftWsv9uipnvdwFGlzbj3iW32FcDWOlJyr6xlmC gitvG+q9kmngxt/J5wcxA== X-UI-Out-Filterresults: notjunk:1;V03:K0:fHu1Xq0zEe8=:+g8Or0jkTRy8yLVlsA23/r 2AwvEQrf/zP9uXV6cQOgKuJ21WFr5C4UuqYRBdRkMaXJxtuX6tjXnBoZSihSCGcmyCd6jXDYm WNR/hHMr6BB0h55saEANbyFLqumzTIMzc9KVAQ4RdSN1IdSAEwFqCJNSUbkJTPopWvmU++ezZ cUzygfiHmnK4gtwdCieP0l4943RkE0xEeU+E75zRLuhKrVOiBwB33Uqms1Dxm7/cyfcffZ2nE FFf7phTh0lbzSUzzVnWBpJcEPRW7LmN8rLGT4kwOo/B6JVxmJP53zqFptfVkPJGS1z3bubm+n 8JgK4s4QwqA5H4Az4XnCSAmVoSuqZEQXbSyJ3MPu8UnfZgpsqnqRgGD16CSlnbsEIKLXFRtGn k20S6lWejWf4WWMn37MYgYfM4Cboy0BYVdVNtCTIKpmOe49KBQD8wfjYZ+GjbqJkM+/CejRYY iHYObgpFJJPbKul//cBOclfxaGrSFHAhptkzav3Yq83LCp/G62HJKKcLnJxY3z4OiYQnTEEmE r+yxDljjLez8D2MUEjVZkZPDSPfap9xH1wVrF3YUqZyp8ZLndBcDdlSUkUIHW6toufa7Xys0J DVLlf2rcQWt1mRGtRDe/ayna3lAlQJdkZ/i8Uuv2YokALovXWzFreXfbjMPf2z6u0ftpYPKG+ YaOVHTJBd+OABtLktJf69G+VMTLOFqfF2XqFTfZtVcv+gGajgsZA4848goMRPpZP+dDiIodQ0 1LAtN+XYMWfUEUdII6U88J71I/+/TVL1oUyvQTsLAZ4TevjLWEDj9gYIacOU8ecFiNWp0H4c+ 4EgoCXZFJoTciD+sGs49sjgC6vyHd+dXr7CKcQIumuaJqKulSV1Ppd9tE5cKqd1EIBm+X8Pvm XM8PO/vGks9HFD1/2wDtYrPZiHYLUhQ9bta6a/4Gw= X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] [fuzzy] X-Received-From: 217.72.192.73 X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: =?utf-8?q?Guido_G=C3=BCnther?= , Riku Voipio , Laurent Vivier , =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= Errors-To: qemu-devel-bounces+patchwork-qemu-devel=patchwork.kernel.org@nongnu.org Sender: "Qemu-devel" From: Philippe Mathieu-Daudé Tested-By: Guido Günther Reviewed-by: Laurent Vivier Signed-off-by: Philippe Mathieu-Daudé Message-Id: <20191021114857.20538-8-f4bug@amsat.org> Signed-off-by: Laurent Vivier --- linux-user/strace.c | 15 ++++++++++++++- linux-user/strace.list | 2 +- 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/linux-user/strace.c b/linux-user/strace.c index 0ce2b658a52d..cd92c77d3366 100644 --- a/linux-user/strace.c +++ b/linux-user/strace.c @@ -1707,7 +1707,7 @@ print_socket(const struct syscallname *name, #endif -#if defined(TARGET_NR_socketcall) +#if defined(TARGET_NR_socketcall) || defined(TARGET_NR_bind) static void print_sockfd(abi_long sockfd, int last) { @@ -2054,6 +2054,19 @@ print_socketcall(const struct syscallname *name, } #endif +#if defined(TARGET_NR_bind) +static void +print_bind(const struct syscallname *name, + abi_long arg0, abi_long arg1, abi_long arg2, + abi_long arg3, abi_long arg4, abi_long arg5) +{ + print_syscall_prologue(name); + print_sockfd(arg0, 0); + print_sockaddr(arg1, arg2, 1); + print_syscall_epilogue(name); +} +#endif + #if defined(TARGET_NR_stat) || defined(TARGET_NR_stat64) || \ defined(TARGET_NR_lstat) || defined(TARGET_NR_lstat64) static void diff --git a/linux-user/strace.list b/linux-user/strace.list index 6f95466dc59d..1de4319dcf87 100644 --- a/linux-user/strace.list +++ b/linux-user/strace.list @@ -41,7 +41,7 @@ { TARGET_NR_bdflush, "bdflush" , NULL, NULL, NULL }, #endif #ifdef TARGET_NR_bind -{ TARGET_NR_bind, "bind" , NULL, NULL, NULL }, +{ TARGET_NR_bind, "bind" , NULL, print_bind, NULL }, #endif #ifdef TARGET_NR_bpf { TARGET_NR_bpf, "bpf" , NULL, NULL, NULL }, From patchwork Tue Oct 22 08:11:03 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Laurent Vivier X-Patchwork-Id: 11203955 Return-Path: Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org [172.30.200.123]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 6BAE014ED for ; Tue, 22 Oct 2019 08:20:13 +0000 (UTC) Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 4ABAE20684 for ; Tue, 22 Oct 2019 08:20:13 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 4ABAE20684 Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=vivier.eu Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=qemu-devel-bounces+patchwork-qemu-devel=patchwork.kernel.org@nongnu.org Received: from localhost ([::1]:51466 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iMpOm-0003eH-5N for patchwork-qemu-devel@patchwork.kernel.org; Tue, 22 Oct 2019 04:20:12 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:44170) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iMpGH-0002jR-5p for qemu-devel@nongnu.org; Tue, 22 Oct 2019 04:11:26 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1iMpGF-00054q-So for qemu-devel@nongnu.org; Tue, 22 Oct 2019 04:11:25 -0400 Received: from mout.kundenserver.de ([212.227.17.10]:60673) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1iMpGF-00053n-JA for qemu-devel@nongnu.org; Tue, 22 Oct 2019 04:11:23 -0400 Received: from localhost.localdomain ([78.238.229.36]) by mrelayeu.kundenserver.de (mreue107 [212.227.15.183]) with ESMTPSA (Nemesis) id 1MkIAB-1hcinI192H-00kfrP; Tue, 22 Oct 2019 10:11:21 +0200 From: Laurent Vivier To: qemu-devel@nongnu.org Subject: [PULL 10/11] linux-user/strace: Let print_sockaddr() have a 'last' argument Date: Tue, 22 Oct 2019 10:11:03 +0200 Message-Id: <20191022081104.11814-11-laurent@vivier.eu> X-Mailer: git-send-email 2.21.0 In-Reply-To: <20191022081104.11814-1-laurent@vivier.eu> References: <20191022081104.11814-1-laurent@vivier.eu> MIME-Version: 1.0 X-Provags-ID: V03:K1:+eWyWt+jEeAqX7ytazpX5umvzc8LjyX/xkhUAMODHFMpjd5Dly3 yetQpVLUcQ2tvnl0D/zNYRr9yaUwhKsHk9c8F9cNCTdJz0NGDJT2i8+SWAwEqTdfI69a3zV SjCVrvRZD+kubO24PFuLQdf9BxuZvzMAyJJVzmiZAxFH6j3qCZ07YtmDWRCUmFgs/BFSjxQ thl8JfdsII27v/k04I8Rw== X-UI-Out-Filterresults: notjunk:1;V03:K0:ddRbnsiiX34=:dcTAew5CMiDdxirgVkKVT4 OS7CUi2h+ddAyoNLj0Ntvv+T60b6AIDlh2eU65YKAxvYyszp+DrOVXVi+7OA4TwbqdDGXioO6 7DziRPRz5gsGVmQ7FQND6R33Pl8K0wc7BtjurGc4ZpaHE1eN2C9adXjaAq/FJsUmmRw2Ckg0F wteq8447K04zQoT7hHotX3tJlRBwR+PJehdUPOI64DgjyKakuytbUWIxQ3MVIi+RZVNhZPz6q fVR5KIwNumHa65ArMMN1oCIlIraEo1+vsdur0o58HeGIRE9OuCAGRfiXbL+ASO8TBCEKmDxHZ iWhe8cwKcPyg3PcJoZMo4ob5FgYNJzXmKUxLZ2jQ/S713L3iZ2SmURRQmqiDxUAhVya0EJPY8 6kjD3zXDe20pYCDuhVS0iAtNvOJMQ1m/SgB7dZgK9s2kC0kGoznGL2Mmss6dVxiMbhrCgzE03 5OZfCwmnp0fDDTZKaaP0EaPtCKnc/H6KKZ3JbwLmhhlc2Xnj6NbcMAPj4VZwtc2fuOTJU5vrF CjWG2VUwcwaNleOodpfan2hYQrv506HZbfxSf+ZMm7OjSz+MMYIcgvazRZwaLGK3E6gRmBL5h 1U7PAxEg7IJ5huOgVIaDQ6bm+iJKlF5wa6sFwE7WTN16JFZPgepu+kk0xd4uDuC7ODr+XSmtt 5TYha9GdGqhNYHRip9s0LTX25TMiWyb4FmJlPwv042fkG9u1oTw5GGnwkz3qL1Y7Q4s74lq5O 4I1MG2M6CAQ1DntxQW7jhNPbZ3TvB2HXESrQeXZfjLxZ2kIQnxPiDXah5ZZL4YWVwMUygI89A hXqiVp/Ibtkna3XR2VH7DsZ5EpZuKU2v2dokonUIuzr0/5t2XK3sXsDVKK5NvHUwTVeVL/kiQ 0n7ZAgs6AijKinRjbbV+E9MAtfams6XaW3z05fMMc= X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] [fuzzy] X-Received-From: 212.227.17.10 X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Riku Voipio , Laurent Vivier , =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= Errors-To: qemu-devel-bounces+patchwork-qemu-devel=patchwork.kernel.org@nongnu.org Sender: "Qemu-devel" From: Philippe Mathieu-Daudé If the format is not the syscall last argument, a comma is append. Signed-off-by: Philippe Mathieu-Daudé Reviewed-by: Laurent Vivier Reviewed-by: Laurent Vivier Message-Id: <20191021114857.20538-9-f4bug@amsat.org> Signed-off-by: Laurent Vivier --- linux-user/strace.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/linux-user/strace.c b/linux-user/strace.c index cd92c77d3366..3d4d6844500e 100644 --- a/linux-user/strace.c +++ b/linux-user/strace.c @@ -67,7 +67,7 @@ UNUSED static void print_timeval(abi_ulong, int); UNUSED static void print_timezone(abi_ulong, int); UNUSED static void print_number(abi_long, int); UNUSED static void print_signal(abi_ulong, int); -UNUSED static void print_sockaddr(abi_ulong addr, abi_long addrlen); +UNUSED static void print_sockaddr(abi_ulong, abi_long, int); UNUSED static void print_socket_domain(int domain); UNUSED static void print_socket_type(int type); UNUSED static void print_socket_protocol(int domain, int type, int protocol); @@ -336,7 +336,7 @@ static void print_siginfo(const target_siginfo_t *tinfo) } static void -print_sockaddr(abi_ulong addr, abi_long addrlen) +print_sockaddr(abi_ulong addr, abi_long addrlen, int last) { struct target_sockaddr *sa; int i; @@ -418,7 +418,7 @@ 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); + gemu_log(", "TARGET_ABI_FMT_ld"%s", addrlen, get_comma(last)); } static void @@ -1751,7 +1751,7 @@ static void do_print_sockaddr(const char *name, abi_long arg1) gemu_log("%s(", name); print_sockfd(sockfd, 0); - print_sockaddr(addr, addrlen); + print_sockaddr(addr, addrlen, 0); gemu_log(")"); } @@ -1821,7 +1821,7 @@ static void do_print_msgaddr(const char *name, abi_long arg1) print_buf(msg, len, 0); print_raw_param(TARGET_ABI_FMT_ld, len, 0); print_flags(msg_flags, flags, 0); - print_sockaddr(addr, addrlen); + print_sockaddr(addr, addrlen, 0); gemu_log(")"); } From patchwork Tue Oct 22 08:11:04 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Laurent Vivier X-Patchwork-Id: 11203959 Return-Path: Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org [172.30.200.123]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 7565214ED for ; Tue, 22 Oct 2019 08:21:42 +0000 (UTC) Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 54D6D20684 for ; Tue, 22 Oct 2019 08:21:42 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 54D6D20684 Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=vivier.eu Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=qemu-devel-bounces+patchwork-qemu-devel=patchwork.kernel.org@nongnu.org Received: from localhost ([::1]:51486 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iMpQD-00064R-7M for patchwork-qemu-devel@patchwork.kernel.org; Tue, 22 Oct 2019 04:21:41 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:44242) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iMpGO-0002wl-Sc for qemu-devel@nongnu.org; Tue, 22 Oct 2019 04:11:33 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1iMpGN-00059j-Lr for qemu-devel@nongnu.org; Tue, 22 Oct 2019 04:11:32 -0400 Received: from mout.kundenserver.de ([212.227.17.13]:35047) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1iMpGN-00058h-CL for qemu-devel@nongnu.org; Tue, 22 Oct 2019 04:11:31 -0400 Received: from localhost.localdomain ([78.238.229.36]) by mrelayeu.kundenserver.de (mreue107 [212.227.15.183]) with ESMTPSA (Nemesis) id 1N49Qd-1hwb8436SP-0108Lb; Tue, 22 Oct 2019 10:11:21 +0200 From: Laurent Vivier To: qemu-devel@nongnu.org Subject: [PULL 11/11] linux-user/syscall: Align target_sockaddr fields using ABI types Date: Tue, 22 Oct 2019 10:11:04 +0200 Message-Id: <20191022081104.11814-12-laurent@vivier.eu> X-Mailer: git-send-email 2.21.0 In-Reply-To: <20191022081104.11814-1-laurent@vivier.eu> References: <20191022081104.11814-1-laurent@vivier.eu> MIME-Version: 1.0 X-Provags-ID: V03:K1:v3YdVmzJmEcP6SRVMaY6hsHojfJohoHzYFuF0CDyKNpgqHxMmuS XNkTeoiGBzAakmMR7PBEACMqV33KalFPJZsaNYNmko2oypC7X9hLxMVQTCVssRzTlq4cuKM Dsnt5YHKaipOsmsfvzCSUOd4zmnewn1KVIOIzqtMVBmq9Jy8o7qW/eG6LoPD7OqyyZglGI6 oiFtj2ZsweTb0ZKKDIYcw== X-UI-Out-Filterresults: notjunk:1;V03:K0:dglBB5HGoOo=:E0kDKt8gP2uIruNJ1NVatt Aj+WKQUdWETQ9+lC+PSFilRGdl+gK5+Muqc3S67MzWMTvmTIzNWMnsjpep/qGbB/TGfXvG3Rp wO3kdCY4nw6ANDInkzNtDdiSr3LKAFR9FfhqSCMtPH736Bx3bVzTNyOBQr6FJlBdpLjYK4HWY REQM+rpfjgigmM7PKohRmjAte4PInywpvUg2QkYvgBkiEuXYGG54sGFUPHCJSgBmXPNcyAVQb f9OV6rxD1px48DnPABrOn6HOC+kt6grarszzGhx36/h9QH1uaILYzhLO5oRpBx0i0mDEe+MYt MNT6mCqW5ydgGOeyZ99jgWk6lX5OQVatE6clic1of2FPW/xf3SioIDjIT/y8No8V+bA50puJd JukucJS4l8ft69xoL0cHKEKBmpS0PXIZk5y5cSb2QKByaZ0PMLG9pS2RW5mA8TkpBz8uGyPsa LBdvcep4VIGrcOkiyejWO5g7juRXXIP1rDee68mzSkxnWifUDuhNUD1ziAzLIEIXHk+8/VQJL 24PapIyK/hknxLzZIzNmKoBvhZ64bVGWVQlXGoTK6XcFFNZog7IhQf52F1qw3/a6LeyqP5yPa 856BjShefWFR16y1I3E3QCyYqMy0WzOgw/7uwhvQ3K4Oo2olHTgr+tYYYdjqmTtbq/U+IBCV2 u231bTqBW+2xZsP2At2TiSUvWqzA6zNSNHm4UtTyJyamirpgTYxwP1SDjeTbAfilrKVs3t+Gl d0NK0DpCKRyTAbBKYsqypMUrbR5YDC/3OEAV3N/37wRQrAuVGZEY4aWY9kmZvFk15riJb0t9v SedKCvOdgSn7JCbPT3yhnZj4oxRvHF1279xvIjkL2jrTnhhefiKMteaGNoBTNPo5azscvTZHE 39MRYbBQ49+rhEsapryvVR8Xmhq8tghs0AcMacWRQ= X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] [fuzzy] X-Received-From: 212.227.17.13 X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Riku Voipio , Laurent Vivier , =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= Errors-To: qemu-devel-bounces+patchwork-qemu-devel=patchwork.kernel.org@nongnu.org Sender: "Qemu-devel" From: Philippe Mathieu-Daudé Target architectures align types differently for instance m68k aligns on 16bit whereas others on 32bit). Use ABI types to keep alignments good. Suggested-by: Laurent Vivier Signed-off-by: Philippe Mathieu-Daudé Reviewed-by: Laurent Vivier Message-Id: <20191021114857.20538-10-f4bug@amsat.org> Signed-off-by: Laurent Vivier --- linux-user/syscall_defs.h | 34 +++++++++++++++++----------------- 1 file changed, 17 insertions(+), 17 deletions(-) diff --git a/linux-user/syscall_defs.h b/linux-user/syscall_defs.h index 7694d72446d1..98c2119de9c1 100644 --- a/linux-user/syscall_defs.h +++ b/linux-user/syscall_defs.h @@ -134,22 +134,22 @@ #define TARGET_IOWRU(type,nr) TARGET_IOC(TARGET_IOC_READ|TARGET_IOC_WRITE,(type),(nr),TARGET_IOC_SIZEMASK) struct target_sockaddr { - uint16_t sa_family; + abi_ushort sa_family; uint8_t sa_data[14]; }; struct target_sockaddr_ll { - uint16_t sll_family; /* Always AF_PACKET */ - uint16_t sll_protocol; /* Physical layer protocol */ - int sll_ifindex; /* Interface number */ - uint16_t sll_hatype; /* ARP hardware type */ - uint8_t sll_pkttype; /* Packet type */ - uint8_t sll_halen; /* Length of address */ - uint8_t sll_addr[8]; /* Physical layer address */ + abi_ushort sll_family; /* Always AF_PACKET */ + abi_ushort sll_protocol; /* Physical layer protocol */ + abi_int sll_ifindex; /* Interface number */ + abi_ushort sll_hatype; /* ARP hardware type */ + uint8_t sll_pkttype; /* Packet type */ + uint8_t sll_halen; /* Length of address */ + uint8_t sll_addr[8]; /* Physical layer address */ }; struct target_sockaddr_un { - uint16_t su_family; + abi_ushort su_family; uint8_t sun_path[108]; }; @@ -161,24 +161,24 @@ struct target_sockaddr_nl { }; struct target_in_addr { - uint32_t s_addr; /* big endian */ + abi_uint s_addr; /* big endian */ }; struct target_sockaddr_in { - uint16_t sin_family; - int16_t sin_port; /* big endian */ + abi_ushort sin_family; + abi_short sin_port; /* big endian */ struct target_in_addr sin_addr; uint8_t __pad[sizeof(struct target_sockaddr) - - sizeof(uint16_t) - sizeof(int16_t) - + sizeof(abi_ushort) - sizeof(abi_short) - sizeof(struct target_in_addr)]; }; struct target_sockaddr_in6 { - uint16_t sin6_family; - uint16_t sin6_port; /* big endian */ - uint32_t sin6_flowinfo; /* big endian */ + abi_ushort sin6_family; + abi_ushort sin6_port; /* big endian */ + abi_uint sin6_flowinfo; /* big endian */ struct in6_addr sin6_addr; /* IPv6 address, big endian */ - uint32_t sin6_scope_id; + abi_uint sin6_scope_id; }; struct target_sock_filter {