From patchwork Thu Mar 7 10:06:48 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Laurent Vivier X-Patchwork-Id: 1052772 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=nongnu.org (client-ip=209.51.188.17; helo=lists.gnu.org; envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=vivier.eu Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 44FRKl0WxGz9sN1 for ; Thu, 7 Mar 2019 21:13:31 +1100 (AEDT) Received: from localhost ([127.0.0.1]:48542 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1h1q1p-0000cY-1O for incoming@patchwork.ozlabs.org; Thu, 07 Mar 2019 05:13:29 -0500 Received: from eggs.gnu.org ([209.51.188.92]:44049) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1h1pvs-00047D-Ae for qemu-devel@nongnu.org; Thu, 07 Mar 2019 05:07:21 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1h1pvq-0007W5-To for qemu-devel@nongnu.org; Thu, 07 Mar 2019 05:07:19 -0500 Received: from mout.kundenserver.de ([212.227.17.24]:47993) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1h1pvp-0007UO-2w for qemu-devel@nongnu.org; Thu, 07 Mar 2019 05:07:17 -0500 Received: from localhost.localdomain ([78.238.229.36]) by mrelayeu.kundenserver.de (mreue108 [212.227.15.183]) with ESMTPSA (Nemesis) id 1M730b-1hAMmX290B-008X8L; Thu, 07 Mar 2019 11:07:02 +0100 From: Laurent Vivier To: qemu-devel@nongnu.org Date: Thu, 7 Mar 2019 11:06:48 +0100 Message-Id: <20190307100656.14044-2-laurent@vivier.eu> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20190307100656.14044-1-laurent@vivier.eu> References: <20190307100656.14044-1-laurent@vivier.eu> MIME-Version: 1.0 X-Provags-ID: V03:K1:+QHysWxEOh5bFOflVTicaAOykdJPzAcXVj0ym7TtMoJ0dNFQfUl MyauFw22jf6btJo/JyAy009+Chev5VABoU8JGNKfQX/nj9hm1frlGAXpy2ybCCDMCfvyTOq tOUZiBpbMXFUJwj8HQz9p/T6Iw4TYA8Wa6AoFVhKfexZkRRwi/HOCh4IVFYg25S2z6LZNBt Ad1QwSHbOLP1gGPSu5j5Q== X-UI-Out-Filterresults: notjunk:1; V03:K0:IgbOT+ea9hw=:50sphInKbrp6Y+6kUl8Okg QYfZtNpOznhIlEJ00RBxNBde+HNdeSsywYmDeUYBIco6oaq7w5bfdn1VV4u7xqnq7/PNM2qwK RD9/KoE+l8h1Neg6/3kvYRjKOnJFHrl9HXAsN80Tbkm+iWlNOj1j8ALkvgX2ljqXVl0Kd0nzP cwaHbCKRYc8xX04odTLsQbmbkL7y4I5Tm1c/Bq3v6taM9SeYOf6Icd5LeSLl9fN+nebeSoJpK Ht2YUG+DDRVNxtaweTNR0IBi6XWZGM/OCNJTLQEYegJ+f9PAmQiGd4d5G7P5viFWUI6VJORFT qVTjD4t756XVN10SS1Qm3G4oM7ah9drSih3qHienNlehh14FSfMxUr/YfHfiNqxkyflMeQJqX 55Acb1ahxhy+gFg4aSOTZZlf8tlBc8LbAbSwGrH/ct79/KFmYTK5hNoGLNlyE/FEO0JfrKvNU 0DN14oUI5ICFzfClXcWf99f74PyUeLI9GOpiLo5gAgPmew+pd4HFau1IFMLxK5IV8awks1xA3 giSuuO2m3gF6bIjrKE9D4UYv3Xe2X8m1pQvfBiECjcW8uE4mdxPRkdYNU12wV3pkvvmgejDsO WGitZrsA3dgHXWrXE9JNcD9BTpPUqfeUY5PrVyGBW7c47zTheWGk8e7cxeIQOSOIbd//fM2Tu fFvT96BZgO6a956pDsK5ofZzd7HPT88frEdORqNsBjxElagqiiwjii8LoGWYQK/u6knWc3ND2 JA8TE0UN6j1/zFFVhRfAbpW6AeOYlK3Df23mar9EClsXdK+5CMWissuU4nM= X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 212.227.17.24 Subject: [Qemu-devel] [PULL 1/9] linux-user: fix recvmsg emulation X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 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+incoming=patchwork.ozlabs.org@nongnu.org Sender: "Qemu-devel" From: Andreas Schwab Set msg_flags in the returned struct msghdr. Signed-off-by: Andreas Schwab Reviewed-by: Laurent Vivier Reviewed-by: Philippe Mathieu-Daudé Message-Id: Signed-off-by: Laurent Vivier --- linux-user/syscall.c | 1 + 1 file changed, 1 insertion(+) diff --git a/linux-user/syscall.c b/linux-user/syscall.c index 5bbb72f3d5fc..f380048cbd8b 100644 --- a/linux-user/syscall.c +++ b/linux-user/syscall.c @@ -2759,6 +2759,7 @@ static abi_long do_sendrecvmsg_locked(int fd, struct target_msghdr *msgp, } if (!is_error(ret)) { msgp->msg_namelen = tswap32(msg.msg_namelen); + msgp->msg_flags = tswap32(msg.msg_flags); if (msg.msg_name != NULL && msg.msg_name != (void *)-1) { ret = host_to_target_sockaddr(tswapal(msgp->msg_name), msg.msg_name, msg.msg_namelen); From patchwork Thu Mar 7 10:06:49 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Laurent Vivier X-Patchwork-Id: 1052770 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=nongnu.org (client-ip=209.51.188.17; helo=lists.gnu.org; envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=vivier.eu Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 44FRHj4FSTz9sB3 for ; Thu, 7 Mar 2019 21:11:45 +1100 (AEDT) Received: from localhost ([127.0.0.1]:48530 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1h1q07-0007Nv-DJ for incoming@patchwork.ozlabs.org; Thu, 07 Mar 2019 05:11:43 -0500 Received: from eggs.gnu.org ([209.51.188.92]:43969) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1h1pvn-00042G-HA for qemu-devel@nongnu.org; Thu, 07 Mar 2019 05:07:16 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1h1pvm-0007TI-FI for qemu-devel@nongnu.org; Thu, 07 Mar 2019 05:07:15 -0500 Received: from mout.kundenserver.de ([217.72.192.73]:35715) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1h1pvm-0007Sg-1J for qemu-devel@nongnu.org; Thu, 07 Mar 2019 05:07:14 -0500 Received: from localhost.localdomain ([78.238.229.36]) by mrelayeu.kundenserver.de (mreue108 [212.227.15.183]) with ESMTPSA (Nemesis) id 1M2fHt-1h5wvg00jf-0049Q9; Thu, 07 Mar 2019 11:07:03 +0100 From: Laurent Vivier To: qemu-devel@nongnu.org Date: Thu, 7 Mar 2019 11:06:49 +0100 Message-Id: <20190307100656.14044-3-laurent@vivier.eu> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20190307100656.14044-1-laurent@vivier.eu> References: <20190307100656.14044-1-laurent@vivier.eu> MIME-Version: 1.0 X-Provags-ID: V03:K1:3i/30+LDH/usUlUQpYcrD+AGwJLl6Jhz/TFt0xKXr5voG0bBCsR 6MWgrgXz3HBKQbGM3ET/yaIqEivCu55yXX0oewVEl0Z73JpB29RM6itZocj5U7F50+SqLHB nFs/oFbySH9U1pUEq+ihUVgxzo1USwJDZYUQGLY+uMWGZdEbUfIUwksfD2B8537uEDrgfEA mwMiTnmPPRr+m0Hz8rztg== X-UI-Out-Filterresults: notjunk:1; V03:K0:+AF4BrFprm4=:UZm80pjJYKdKx8KoPnRG70 TcxAlP6CbFbwcF8zVXQrcVKzXAn2yHnOds6++xcoJxUiiUcmDHUIEC0mrrqn1Ek4Eh2cL7tlF X6y6cxmArR3yEXzE+OaqteMbTmT8yd34perl+G6Si4o37xuE/Ui+LF8Y+v6z+HGjLPu0SV2vm yUxWJUPlCFgz2D5qnbiHn89cEOvYSopcwdQ1EqQ2S2GJuDvZUnNCgpG6eDnWl3p6V6JTvgdT6 kSPOwURXVogxH8+/4g9WndKZelSjzfCU2LuBjIVdfSeacO3/wJoNj2HU1++oevmSRLZbdKoUW 5/BMKarOz1vN/JNuDR/M04aw44jH48YLHEwuGRHHB/IAMDyLnzvEmuKPFlYI+PUG5bgV21A4e lDLpkl1crBbErIVCz1CAboSnzyVl8L19zkeqChApgNUUcc2Gemfy4KDs279tSrc3/YPZkwcFE wkBm/tsMuooScfCAQqP/bMqsWX2RSx23AMQMUeygstWIwnBBpf3vNdkSRukUlK/yYDCpDUK9a EG80HQIY62d0fZ+3gQhmsqBwKwyJi76PSPbmkRU31Yan7lT9JmvmhisllsURFIo+wdvCfUlsA /jy0tU1iWblsBBu2/vkOZnk0h6HzsyOm55GNWv1geZHUWkryiTHh82ntHE8UZHIHQlw0XuXGW sTRQQBYqpKcOPMiXbYcTkE5ZDQFAC9tjAJnMWAJNdhV2CFR3Q77borLoEeGdRxDeuB1AQfp78 W97kMzzTFzur4lgQJn9ZswXvDMxH82gdgu38xg== X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 217.72.192.73 Subject: [Qemu-devel] [PULL 2/9] linux-user: Add ELF_PLATFORM for arm X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Riku Voipio , Richard Henderson , Laurent Vivier Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: "Qemu-devel" From: Richard Henderson The 32-bit kernel has strings for v4, v5, v6, v7, v7m. The 64-bit kernel, in compat mode, has strings for v8. Fixes: https://bugs.launchpad.net/bugs/1813034 Signed-off-by: Richard Henderson Reviewed-by: Laurent Vivier Message-Id: <20190212074840.13542-2-richard.henderson@linaro.org> Signed-off-by: Laurent Vivier --- linux-user/elfload.c | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/linux-user/elfload.c b/linux-user/elfload.c index 6e8762b40dea..940a97a2f2e9 100644 --- a/linux-user/elfload.c +++ b/linux-user/elfload.c @@ -500,6 +500,37 @@ static uint32_t get_elf_hwcap2(void) #undef GET_FEATURE #undef GET_FEATURE_ID +#define ELF_PLATFORM get_elf_platform() + +static const char *get_elf_platform(void) +{ + CPUARMState *env = thread_cpu->env_ptr; + +#ifdef TARGET_WORDS_BIGENDIAN +# define END "b" +#else +# define END "l" +#endif + + if (arm_feature(env, ARM_FEATURE_V8)) { + return "v8" END; + } else if (arm_feature(env, ARM_FEATURE_V7)) { + if (arm_feature(env, ARM_FEATURE_M)) { + return "v7m" END; + } else { + return "v7" END; + } + } else if (arm_feature(env, ARM_FEATURE_V6)) { + return "v6" END; + } else if (arm_feature(env, ARM_FEATURE_V5)) { + return "v5" END; + } else { + return "v4" END; + } + +#undef END +} + #else /* 64 bit ARM definitions */ #define ELF_START_MMAP 0x80000000 From patchwork Thu Mar 7 10:06:50 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Laurent Vivier X-Patchwork-Id: 1052768 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=nongnu.org (client-ip=209.51.188.17; helo=lists.gnu.org; envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=vivier.eu Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 44FRGc3CkDz9sB3 for ; Thu, 7 Mar 2019 21:10:48 +1100 (AEDT) Received: from localhost ([127.0.0.1]:48488 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1h1pzC-0006RW-Bf for incoming@patchwork.ozlabs.org; Thu, 07 Mar 2019 05:10:46 -0500 Received: from eggs.gnu.org ([209.51.188.92]:44008) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1h1pvq-00044u-2m for qemu-devel@nongnu.org; Thu, 07 Mar 2019 05:07:18 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1h1pvo-0007Uj-JN for qemu-devel@nongnu.org; Thu, 07 Mar 2019 05:07:17 -0500 Received: from mout.kundenserver.de ([212.227.17.13]:53559) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1h1pvo-0007Tr-2Y for qemu-devel@nongnu.org; Thu, 07 Mar 2019 05:07:16 -0500 Received: from localhost.localdomain ([78.238.229.36]) by mrelayeu.kundenserver.de (mreue108 [212.227.15.183]) with ESMTPSA (Nemesis) id 1MqJyX-1ggVgS1yFf-00nOnl; Thu, 07 Mar 2019 11:07:03 +0100 From: Laurent Vivier To: qemu-devel@nongnu.org Date: Thu, 7 Mar 2019 11:06:50 +0100 Message-Id: <20190307100656.14044-4-laurent@vivier.eu> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20190307100656.14044-1-laurent@vivier.eu> References: <20190307100656.14044-1-laurent@vivier.eu> MIME-Version: 1.0 X-Provags-ID: V03:K1:8R4sioWsjeSQoQBolvdH0WYJpxsKiToch9EhROvgEUxNuhWb/b6 3apstc/848r8PPYLO7nOlaywVqOAzkvVNGuGucxJfx+9q8uHCuttbFCGwArmC8d6/MAfLOC 2BLEhbCUMJZGjuXCLjRFSqYnsm9CVEupH3sSW57BtthG8fJVek7CyIvq6gQmFopIGdQLIl8 mjf+9NBF0DgUbv74EBx1g== X-UI-Out-Filterresults: notjunk:1; V03:K0:ckyG3+OTvRQ=:KmTWP3abWlCf8KGyYiA97+ 0eVT6OPxmzNMED2C17MDZ6Q0mz3azHGNBV84C4fOtvbcT4h5NNcZYUB2KdL1gxxmYwjRBWp5G YTbWrohQDU70ZdD9fhsKh6JdoohYp2ovrTJ3dGnbn+2nK7kNvhdWKUklETcQQ8iqA9DacUCDc DM2pFGn2FeW2PvEVQPyNOAr0V3ZwNMFssoSEcUeNOtvFsQMX5McJujOcghdmNfe6Evv9FviEq QwtY5nydTmhhcBRMEUhz+zWPlYppJrg8+8bZ/KcE5WHgJcsSHe3vpamNBJ4o8uQ9zdneEGbID CPvqKXXEHbGQcn3GuxIsK3L2TJ34UmjuL5U+FmdsoroWAn/354PkytmWgaTRZ4NlSxlSdcq0g gzsJP+quIlUlyuX2wR23CwsnCOLig2LEDJRTI/A9GwBGfk1+MuT8cG6EnJCDlF8SPw4YfmghS doXnhIrhQLzu+PdnKuiqZvdQQz5sEsZDJuy6DXNH22flN67XJ6TAhDTfLDS7J9ku/ui6WJ8gt Jw7JBYgb48VPNucyQnLpM8OX0wj20vVyQepqdwl3pfI7yW0fRJOQb8FwzGo63j5VT7RxjoO2l i7OvJcvz9E8xAHGGiqZ6qmT8BEH2gMYwIThjvjR1Kc7xVf2rrT6e9rcOD+9F8Wm0YsJX53HXq 0QZS3l9lFJ2zUjk1pknw7RZu8d8NU+QehVV33GR1tZgqo9e/ufrL2yeTwC6FK4qtZCtzvLLD3 /h/qJu8Lg+TrvZ+tLYCe1eNcPnIXapBckktLXA== X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 212.227.17.13 Subject: [Qemu-devel] [PULL 3/9] linux-user: Fix ELF_PLATFORM for aarch64_be-linux-user X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Riku Voipio , Richard Henderson , Laurent Vivier Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: "Qemu-devel" From: Richard Henderson Signed-off-by: Richard Henderson Reviewed-by: Laurent Vivier Message-Id: <20190212074840.13542-3-richard.henderson@linaro.org> Signed-off-by: Laurent Vivier --- linux-user/elfload.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/linux-user/elfload.c b/linux-user/elfload.c index 940a97a2f2e9..c1a26021f8d7 100644 --- a/linux-user/elfload.c +++ b/linux-user/elfload.c @@ -537,7 +537,11 @@ static const char *get_elf_platform(void) #define ELF_ARCH EM_AARCH64 #define ELF_CLASS ELFCLASS64 -#define ELF_PLATFORM "aarch64" +#ifdef TARGET_WORDS_BIGENDIAN +# define ELF_PLATFORM "aarch64_be" +#else +# define ELF_PLATFORM "aarch64" +#endif static inline void init_thread(struct target_pt_regs *regs, struct image_info *infop) From patchwork Thu Mar 7 10:06:51 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Laurent Vivier X-Patchwork-Id: 1052766 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=nongnu.org (client-ip=209.51.188.17; helo=lists.gnu.org; envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=vivier.eu Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 44FRCt0bDFz9sB3 for ; Thu, 7 Mar 2019 21:08:26 +1100 (AEDT) Received: from localhost ([127.0.0.1]:48469 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1h1pwt-0004MD-U7 for incoming@patchwork.ozlabs.org; Thu, 07 Mar 2019 05:08:24 -0500 Received: from eggs.gnu.org ([209.51.188.92]:43967) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1h1pvn-000425-GZ for qemu-devel@nongnu.org; Thu, 07 Mar 2019 05:07:16 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1h1pvm-0007TN-Ff for qemu-devel@nongnu.org; Thu, 07 Mar 2019 05:07:15 -0500 Received: from mout.kundenserver.de ([217.72.192.73]:46519) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1h1pvm-0007Sb-00 for qemu-devel@nongnu.org; Thu, 07 Mar 2019 05:07:14 -0500 Received: from localhost.localdomain ([78.238.229.36]) by mrelayeu.kundenserver.de (mreue108 [212.227.15.183]) with ESMTPSA (Nemesis) id 1MCsHm-1hAbN13wQ4-008rBu; Thu, 07 Mar 2019 11:07:04 +0100 From: Laurent Vivier To: qemu-devel@nongnu.org Date: Thu, 7 Mar 2019 11:06:51 +0100 Message-Id: <20190307100656.14044-5-laurent@vivier.eu> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20190307100656.14044-1-laurent@vivier.eu> References: <20190307100656.14044-1-laurent@vivier.eu> MIME-Version: 1.0 X-Provags-ID: V03:K1:iegNgIpfYeSf7JMQvhNjYB3Cdsq7Ujfn6p561n10zf911vzzjLU SgDuC3sP2DtgNYYUptha42QiMveENgMbStPP6zOnBrryIOKGpo5WlA0BcMMlBZa5fn9dp9z 2CRuDC5mU/mnvVHVSYh0xDKeDIgeOlhj3f3psyPoY/XeHgjOgHGiGHx24lK6G3dmAJ6jrkZ abGnS/5++khsfZps52PfA== X-UI-Out-Filterresults: notjunk:1; V03:K0:FwI276+wM2M=:8ACiyq2mprugwuTWqM7eg2 LLjh6Km7YUOsSUrnyNKgPfFjxPfjbPzPZZ1lyOI5az3gqcFBdpd9HIbT58aBpJiJBHXDcwYnt /EKQCVI6yiYO5NqHJfzx1NPj0T7vQ2atf9hSJOk9IP12rxtNxdPmWxNvg7SKuR+yW2aJmZDFC oxNH3i9MrCPG9yX5oy9RHCrL6oKEPWlQewmAK8FyIunUdXDzbiLl3sS/rbKBRxplvvpxcxzqV payi+fqtfcjTgQuSozpu12d30Vf3taepxliZD0CUkZ3iIhaOEFYynSOBt8iJmFhBneyjZevxB N1MkUmDah0OVUtlqIn6/EIviss4X6EF1zoloFrz6JSSvnXBodYkvUnmT5IrJetOnccw+qEHyn 7s8p4JCUts6xMd+AQ38VVwYPSjphblPTToLmZv4KbGDaRZyLjICeB+7Ju2nFgxRLMo4DvaDW1 B1BTnukOH5odsSV7EEezrqseFkvft5X8GzmkCLfVzNXQgK6ouAREJrJhd92GbEOd96b6HiH++ Mmiv5L1C0w2tTYbIaa6CT9GjnNDySOIPjDm8r46YpaKKBYq0jjEEDh6iKj5Uhlc0lsdZBH4ll yGCA5fSDqNjeQ383SJjgNcYrCZq49o87numvhf42a5jsQl+UfBVcuJhIvHp6QpNCpTBVh5hyk XlycSsEkqgSZA79leHl2tAl94IlnDPeSbdcNcPhXy5rRHt4IiGj8r/AeqjaLcGo67rQUg6ucC F1qx8sx6xC/0tCeLJHd2fU/H0Rcg1Cm0pQSMDw== X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 217.72.192.73 Subject: [Qemu-devel] [PULL 4/9] linux-user: fix emulation of accept4/getpeername/getsockname/recvfrom syscalls X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Andreas Schwab , Riku Voipio , Laurent Vivier Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: "Qemu-devel" From: Andreas Schwab System calls that return a socket address do so by writing the (possibly truncated) address into the provided buffer space, but setting the addrlen parameter to the actual size of the address. To determine how much to copy back to the target memory the emulation needs to remember the incoming value of the addrlen parameter, so that it doesn't write past the buffer limits. Signed-off-by: Andreas Schwab Reviewed-by: Laurent Vivier Message-Id: Signed-off-by: Laurent Vivier --- linux-user/syscall.c | 41 +++++++++++++++++++++++++---------------- 1 file changed, 25 insertions(+), 16 deletions(-) diff --git a/linux-user/syscall.c b/linux-user/syscall.c index f380048cbd8b..5f72209debc9 100644 --- a/linux-user/syscall.c +++ b/linux-user/syscall.c @@ -2847,7 +2847,7 @@ static abi_long do_sendrecvmmsg(int fd, abi_ulong target_msgvec, static abi_long do_accept4(int fd, abi_ulong target_addr, abi_ulong target_addrlen_addr, int flags) { - socklen_t addrlen; + socklen_t addrlen, ret_addrlen; void *addr; abi_long ret; int host_flags; @@ -2871,11 +2871,13 @@ static abi_long do_accept4(int fd, abi_ulong target_addr, addr = alloca(addrlen); - ret = get_errno(safe_accept4(fd, addr, &addrlen, host_flags)); + ret_addrlen = addrlen; + ret = get_errno(safe_accept4(fd, addr, &ret_addrlen, host_flags)); if (!is_error(ret)) { - host_to_target_sockaddr(target_addr, addr, addrlen); - if (put_user_u32(addrlen, target_addrlen_addr)) + host_to_target_sockaddr(target_addr, addr, MIN(addrlen, ret_addrlen)); + if (put_user_u32(ret_addrlen, target_addrlen_addr)) { ret = -TARGET_EFAULT; + } } return ret; } @@ -2884,7 +2886,7 @@ static abi_long do_accept4(int fd, abi_ulong target_addr, static abi_long do_getpeername(int fd, abi_ulong target_addr, abi_ulong target_addrlen_addr) { - socklen_t addrlen; + socklen_t addrlen, ret_addrlen; void *addr; abi_long ret; @@ -2900,11 +2902,13 @@ static abi_long do_getpeername(int fd, abi_ulong target_addr, addr = alloca(addrlen); - ret = get_errno(getpeername(fd, addr, &addrlen)); + ret_addrlen = addrlen; + ret = get_errno(getpeername(fd, addr, &ret_addrlen)); if (!is_error(ret)) { - host_to_target_sockaddr(target_addr, addr, addrlen); - if (put_user_u32(addrlen, target_addrlen_addr)) + host_to_target_sockaddr(target_addr, addr, MIN(addrlen, ret_addrlen)); + if (put_user_u32(ret_addrlen, target_addrlen_addr)) { ret = -TARGET_EFAULT; + } } return ret; } @@ -2913,7 +2917,7 @@ static abi_long do_getpeername(int fd, abi_ulong target_addr, static abi_long do_getsockname(int fd, abi_ulong target_addr, abi_ulong target_addrlen_addr) { - socklen_t addrlen; + socklen_t addrlen, ret_addrlen; void *addr; abi_long ret; @@ -2929,11 +2933,13 @@ static abi_long do_getsockname(int fd, abi_ulong target_addr, addr = alloca(addrlen); - ret = get_errno(getsockname(fd, addr, &addrlen)); + ret_addrlen = addrlen; + ret = get_errno(getsockname(fd, addr, &ret_addrlen)); if (!is_error(ret)) { - host_to_target_sockaddr(target_addr, addr, addrlen); - if (put_user_u32(addrlen, target_addrlen_addr)) + host_to_target_sockaddr(target_addr, addr, MIN(addrlen, ret_addrlen)); + if (put_user_u32(ret_addrlen, target_addrlen_addr)) { ret = -TARGET_EFAULT; + } } return ret; } @@ -3005,7 +3011,7 @@ static abi_long do_recvfrom(int fd, abi_ulong msg, size_t len, int flags, abi_ulong target_addr, abi_ulong target_addrlen) { - socklen_t addrlen; + socklen_t addrlen, ret_addrlen; void *addr; void *host_msg; abi_long ret; @@ -3023,10 +3029,12 @@ static abi_long do_recvfrom(int fd, abi_ulong msg, size_t len, int flags, goto fail; } addr = alloca(addrlen); + ret_addrlen = addrlen; ret = get_errno(safe_recvfrom(fd, host_msg, len, flags, - addr, &addrlen)); + addr, &ret_addrlen)); } else { addr = NULL; /* To keep compiler quiet. */ + addrlen = 0; /* To keep compiler quiet. */ ret = get_errno(safe_recvfrom(fd, host_msg, len, flags, NULL, 0)); } if (!is_error(ret)) { @@ -3039,8 +3047,9 @@ static abi_long do_recvfrom(int fd, abi_ulong msg, size_t len, int flags, } } if (target_addr) { - host_to_target_sockaddr(target_addr, addr, addrlen); - if (put_user_u32(addrlen, target_addrlen)) { + host_to_target_sockaddr(target_addr, addr, + MIN(addrlen, ret_addrlen)); + if (put_user_u32(ret_addrlen, target_addrlen)) { ret = -TARGET_EFAULT; goto fail; } From patchwork Thu Mar 7 10:06:52 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Laurent Vivier X-Patchwork-Id: 1052771 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=nongnu.org (client-ip=209.51.188.17; helo=lists.gnu.org; envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=vivier.eu Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 44FRJK5Y66z9sB3 for ; Thu, 7 Mar 2019 21:12:17 +1100 (AEDT) Received: from localhost ([127.0.0.1]:48534 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1h1q0Z-0007qz-Md for incoming@patchwork.ozlabs.org; Thu, 07 Mar 2019 05:12:11 -0500 Received: from eggs.gnu.org ([209.51.188.92]:44021) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1h1pvq-00045v-Uw for qemu-devel@nongnu.org; Thu, 07 Mar 2019 05:07:20 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1h1pvp-0007VN-Rd for qemu-devel@nongnu.org; Thu, 07 Mar 2019 05:07:18 -0500 Received: from mout.kundenserver.de ([217.72.192.73]:45753) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1h1pvo-0007UJ-I1 for qemu-devel@nongnu.org; Thu, 07 Mar 2019 05:07:17 -0500 Received: from localhost.localdomain ([78.238.229.36]) by mrelayeu.kundenserver.de (mreue108 [212.227.15.183]) with ESMTPSA (Nemesis) id 1MPXlM-1hOKra2lNK-00McXU; Thu, 07 Mar 2019 11:07:04 +0100 From: Laurent Vivier To: qemu-devel@nongnu.org Date: Thu, 7 Mar 2019 11:06:52 +0100 Message-Id: <20190307100656.14044-6-laurent@vivier.eu> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20190307100656.14044-1-laurent@vivier.eu> References: <20190307100656.14044-1-laurent@vivier.eu> MIME-Version: 1.0 X-Provags-ID: V03:K1:sxCZxH+0uAN1VFJqJ6XdILm+LgSQAbZnm51UXGeWDG98eMr60Lt OyGfJGnQgqoRN7sUeLioy/3ZlF/QV/1uHD0Iyw2/ebagqhkvzH7Mx8wN4NkeeTXbUQv/tiF S5zwfwDqf3KyqQSXJIRz0hHnvn42UNXYd7a1KXCOO2mNwZsNXlOCFVUXncInELvKwgi7MoD E07ObJ9ePSfCidpICg6Qg== X-UI-Out-Filterresults: notjunk:1; V03:K0:UwMkTiQO+qE=:wzP+oTzmy3AddjZjwbmGVR oBvFzFLaYbnfulph/4gOo6PtuYCwBaL8OGzNvC8UQpxiyBXlQlDcCcwO8eqMBeQ+axW4z7PK7 UWdVwE8kZnLaN2hXlfH3724VZFji0qzvYKWbsR0+zOEqrXQEodpL5oMl7TlYvyShRR+CbZkIy tkrd8NQjLdllWVWxKOpax1nE/RRIibtDzbx9/RR/Asifm/IsEVU+q93z4hEU+73hiFoc6FQCD zx4bohHEnE4dP9/+4rhdMRVDblpClIdly8mg5TDyPgzbaEWlBFL9dDiAsI8Glu+Wi+se29JvR xBWsyBSJuGFt8ttbgQhKReeZyoWdqmixdqSlk5DyZUvmtINJmyYVAsHq9dNin0VkvwBgRb2/W 80BGgFUe2JLqRpwmL+ePwMMgTfMK4gMrQBq3znFi9YpYT0yq8by3Ks+VqjMDEjNTnzmi82dv0 xWk6nVFpKDrxjENZ1MSqpwLbzrnXY3xARQQSY40oLwZA7Hh6+bvSbACzOeioim5uzq1pasxMj 6efvgUAxmEj8tCEhMvhEUjIwD6sMTBLLJIRYXkGbdasuYf4+WxC3+n02nqbtzQtxNSUGzYhTf 2bRvhNBX1dInmQrxHT5QxhmcJvvrYx3ZdHoZ2Vcj1el6NbMEXN2Ikm0KCG7l+dVNeG3sj/zTT vBsUGkSjJ/4avRZZJG25+7GGM3VqNoZ0fg0+FsZ0zkhu86++9jEqgASZPdooO55bkS3R87ilA 1o1juUXWqd9YtPYYR0JYAwkAWDBKjVOm6LtQuw== X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 217.72.192.73 Subject: [Qemu-devel] [PULL 5/9] Fix breakpoint support in Nios II user-mode emulation. X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Peter Maydell , Sandra Loosemore , Riku Voipio , Laurent Vivier Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: "Qemu-devel" From: Sandra Loosemore Nios II user-mode emulation was missing handling for EXCP_DEBUG, making the gdb stub essentially useless. This patch adds the missing piece. The new code was copied from the existing EXCP_TRAP handling and is also similar to what other targets (e.g., arm) do with EXCP_DEBUG. Signed-off-by: Sandra Loosemore Reviewed-by: Peter Maydell Message-Id: <1550076626-7202-1-git-send-email-sandra@codesourcery.com> Signed-off-by: Laurent Vivier --- linux-user/nios2/cpu_loop.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/linux-user/nios2/cpu_loop.c b/linux-user/nios2/cpu_loop.c index b96b1aa1195a..5aa1eca740de 100644 --- a/linux-user/nios2/cpu_loop.c +++ b/linux-user/nios2/cpu_loop.c @@ -73,6 +73,12 @@ void cpu_loop(CPUNios2State *env) queue_signal(env, info.si_signo, QEMU_SI_FAULT, &info); break; } + case EXCP_DEBUG: + info.si_signo = TARGET_SIGTRAP; + info.si_errno = 0; + info.si_code = TARGET_TRAP_BRKPT; + queue_signal(env, info.si_signo, QEMU_SI_FAULT, &info); + break; case 0xaa: switch (env->regs[R_PC]) { /*case 0x1000:*/ /* TODO:__kuser_helper_version */ From patchwork Thu Mar 7 10:06:53 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Laurent Vivier X-Patchwork-Id: 1052773 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=nongnu.org (client-ip=209.51.188.17; helo=lists.gnu.org; envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=vivier.eu Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 44FRLn0H0Hz9sB3 for ; Thu, 7 Mar 2019 21:14:25 +1100 (AEDT) Received: from localhost ([127.0.0.1]:48561 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1h1q2h-0001Sv-07 for incoming@patchwork.ozlabs.org; Thu, 07 Mar 2019 05:14:23 -0500 Received: from eggs.gnu.org ([209.51.188.92]:43983) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1h1pvo-00042k-2k for qemu-devel@nongnu.org; Thu, 07 Mar 2019 05:07:16 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1h1pvn-0007Tf-2d for qemu-devel@nongnu.org; Thu, 07 Mar 2019 05:07:16 -0500 Received: from mout.kundenserver.de ([217.72.192.73]:43573) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1h1pvm-0007St-FC for qemu-devel@nongnu.org; Thu, 07 Mar 2019 05:07:14 -0500 Received: from localhost.localdomain ([78.238.229.36]) by mrelayeu.kundenserver.de (mreue108 [212.227.15.183]) with ESMTPSA (Nemesis) id 1MhUHt-1gXkF80Z4F-00eZ65; Thu, 07 Mar 2019 11:07:05 +0100 From: Laurent Vivier To: qemu-devel@nongnu.org Date: Thu, 7 Mar 2019 11:06:53 +0100 Message-Id: <20190307100656.14044-7-laurent@vivier.eu> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20190307100656.14044-1-laurent@vivier.eu> References: <20190307100656.14044-1-laurent@vivier.eu> MIME-Version: 1.0 X-Provags-ID: V03:K1:Ll8SPn9rVdRcjLtfXyaBzZPomvclVxJExdlLly+1xkSUS12T8eO TQnBgGEbQytqFOKIpbI1e7/6E1/nrPbH1TwmosEJL6rxjf65elPUiv9ePoLc/fKXxYEYuxg IQ0UVR4XDmNYs1GFL7fyDLGoDiS5XiWuQKfu0QTkiSVyd4ftJ5RGiTnj3FrAnXuX/Zb0TDb 9+LRD+bPSyJQHN1wk4IiA== X-UI-Out-Filterresults: notjunk:1; V03:K0:djpBqkc7NRk=:T4/X1Q/v4I8oY10q7UaAia ACuZGlFyRZpXj2kyxjuAWFKpxKWJgkIMuJXsycgmoN//TXlsNBCEQnaqoVJeBrm9De56x1kGJ Bnv6OBDLCR+stpylf1dOZ/sDgpoLDj+EvWYwACye7TeqWFUt+Hsa5laqSNDTnSFuSL4HWYlOx 5agZ9W4t3KE9O/XmcpecQMND6CUo2jnYKaAeoqXahRNyN35PVTBzmVkCJSxCiVejw5Mrr4d2x 9mCheOiR9iwABzyWydZrLazp0+ZrBraiOSYeQqgElV0NEORDzaOMFPAzFSNoR0AfS8zqZZ4mk snAMQtbyHFWrc5Wh13Vd30riosvqvDkWHcYe37Dvn4TJq9QSiO+FHSSk0UDCuI2oVGlP3ZX7d tqVUYz6gaZXbsESZiRIsBXkdJzVWSrsn1/LwN6W2SuVM/3d0hZc0DPXM6FHDQxrPoI7svu4dk 8GQxJ+XdQcDDM5TCC93pqC866XdiqyOJaCUPkbgSZWm6tP8OTvsRlwHaLF1PVcaeXopCxqGt8 VePPHIX8Vkp/Tc4f86MU6/evxRMSDXjcLcbRmhmPt2eNWSjNIFOW1dFrsaCo8jIpLUcWSeXom m3xHOqTz9U+Aa0OVz1zx1qt3hL/+zUx2xHMJDpu3rwKYFECCwJqvMDH3xqaPQJacSiSezgWGE NDhmxi1ZkwgcojKic0Gifx4n/W8ZwX+EBOczUdBfsUmiU2aCOYOjF7RRjOa6Cv1uAhoJjrmQ1 AzxJasnFhc/1a4wNnhbKW7y1rOVHsvHNDrPNVA== X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 217.72.192.73 Subject: [Qemu-devel] [PULL 6/9] linux-user: don't short-circuit read with zero length X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Andreas Schwab , Riku Voipio , Laurent Vivier Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: "Qemu-devel" From: Andreas Schwab A zero-length read still needs to do the usual checks, thus it may return errors like EBADF. This makes the read syscall emulation consistent with the pread64 syscall emulation. Signed-off-by: Andreas Schwab Reviewed-by: Laurent Vivier Message-Id: Signed-off-by: Laurent Vivier --- linux-user/syscall.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/linux-user/syscall.c b/linux-user/syscall.c index 5f72209debc9..9f7eb7d7a896 100644 --- a/linux-user/syscall.c +++ b/linux-user/syscall.c @@ -7009,8 +7009,8 @@ static abi_long do_syscall1(void *cpu_env, int num, abi_long arg1, _exit(arg1); return 0; /* avoid warning */ case TARGET_NR_read: - if (arg3 == 0) { - return 0; + if (arg2 == 0 && arg3 == 0) { + return get_errno(safe_read(arg1, 0, 0)); } else { if (!(p = lock_user(VERIFY_WRITE, arg2, arg3, 0))) return -TARGET_EFAULT; From patchwork Thu Mar 7 10:06: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: 1052769 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=nongnu.org (client-ip=209.51.188.17; helo=lists.gnu.org; envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=vivier.eu Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 44FRGr34VPz9sDn for ; Thu, 7 Mar 2019 21:11:00 +1100 (AEDT) Received: from localhost ([127.0.0.1]:48521 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1h1pzO-0006gs-7e for incoming@patchwork.ozlabs.org; Thu, 07 Mar 2019 05:10:58 -0500 Received: from eggs.gnu.org ([209.51.188.92]:44065) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1h1pvs-00047t-Sk for qemu-devel@nongnu.org; Thu, 07 Mar 2019 05:07:21 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1h1pvr-0007WV-Aa for qemu-devel@nongnu.org; Thu, 07 Mar 2019 05:07:20 -0500 Received: from mout.kundenserver.de ([217.72.192.74]:52225) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1h1pvq-0007VE-Tl for qemu-devel@nongnu.org; Thu, 07 Mar 2019 05:07:19 -0500 Received: from localhost.localdomain ([78.238.229.36]) by mrelayeu.kundenserver.de (mreue108 [212.227.15.183]) with ESMTPSA (Nemesis) id 1MfYDO-1gZ6sz2WoC-00fwwY; Thu, 07 Mar 2019 11:07:05 +0100 From: Laurent Vivier To: qemu-devel@nongnu.org Date: Thu, 7 Mar 2019 11:06:54 +0100 Message-Id: <20190307100656.14044-8-laurent@vivier.eu> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20190307100656.14044-1-laurent@vivier.eu> References: <20190307100656.14044-1-laurent@vivier.eu> MIME-Version: 1.0 X-Provags-ID: V03:K1:IEXf1zpYmXWMh8fiH2hvQTB1d8oqff2LKB+3BWU31Zz9VdPTSn4 oGjVRkDlpYTmGqbpYFkF0mjJ3KWmBrlsl6wcrqfcoxIc7yj0MltgG7DDcrPKVJjOrtw93SW bwATosfNk61mS+B83EMWxfDtG6pq8msVxFl44EwJtiIzEoFF+bqYThah/Z1mgnuNDn0GNyS 3bFdmzG7iIdquC/PNCmcw== X-UI-Out-Filterresults: notjunk:1; V03:K0:XwUl3C3YBXM=:GKdM5ROWMPSiAEsv9RP57y bALpT6CjbX7JRE39jveL3X6TBjDvMn8FSLhlVr6yk27auOvuAeuaZh0JWzq6PQVKObiijvBzo gmgcR5CsLd9qjwHeozOzAyvPCmLUUBOi9oPkXGxrxyW8TnAWigKAo+g1VkfyzSflkUZOIAlG2 GqYWr+bU/I+rJ7rZ3FASjtoLOQ09En2Z07WHutRJ2z5B4RKEQDYBw4LRFlLf2JoshLaxI1gG8 LTypj/riEha8fUYOT28CTjEV4eGmcy4rJXGNzskxmqEhon47exWEluAbmLIpubJTkzVeNkFAY CcVa0wfO4HHQx7LDYIOKujNqf981MkSrVPx71dBEITPHjg4OXlllc9BaouCS7x5UjUVPbQM76 UYDQxFBf8OLWM6H3u9KJB3VlpU2fE0V9myDfluZQEQrA9nn8R1iG2IA4zW37p/88+eqbIYjUm 44cQHzAw3UTpP8mB0eFUxZC/73DaNeQ0BSFRVrCzfid7lgu3Idhl5IDdGI3rHNtbEuVG4vt0r mI8E3JZ12DNDo7R784+F8lOLT7+PN03fibcfzJTMsU+VMVy3MxEgxNtlPvAx+xPGcgykh4oLT 49AtLgkt8Qs/Sg5unx4/9Q3xKY70q+5DSZSjesjrRzJYQ/rTsau2jYNCFaMNYa3Usoebg0HAQ wqorN4ZammDpK2Pi6XhjqrshOiA0V8J41mMbzDiQN/WOFtse83ScrUsoHDFZ05bY1HGtibKU4 d9tU6rxmcQWDZyi5dqm5Jwen+jGk9H1BcGxrltXMvowgD/3hE51O91j9N5A= X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 217.72.192.74 Subject: [Qemu-devel] [PULL 7/9] linux-user: fix "may be used uninitialized" warnings X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: =?utf-8?q?Marc-Andr=C3=A9_Lureau?= , Riku Voipio , Laurent Vivier Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: "Qemu-devel" From: Marc-André Lureau Fixes: /home/elmarco/src/qemu/linux-user/syscall.c: In function ‘do_ioctl_rt’: /home/elmarco/src/qemu/linux-user/syscall.c:4773:9: error: ‘host_rt_dev_ptr’ may be used uninitialized in this function [-Werror=maybe-uninitialized] if (*host_rt_dev_ptr != 0) { ^~~~~~~~~~~~~~~~ /home/elmarco/src/qemu/linux-user/syscall.c:4774:9: error: ‘target_rt_dev_ptr’ may be used uninitialized in this function [-Werror=maybe-uninitialized] unlock_user((void *)*host_rt_dev_ptr, ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *target_rt_dev_ptr, 0); ~~~~~~~~~~~~~~~~~~~~~~ Based on previous discussion from patch "linux-users/syscall: make do_ioctl_rt safer" by Alex Bennée. Signed-off-by: Marc-André Lureau Reviewed-by: Laurent Vivier Message-Id: <20190305151500.25038-1-marcandre.lureau@redhat.com> Signed-off-by: Laurent Vivier --- linux-user/syscall.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/linux-user/syscall.c b/linux-user/syscall.c index 9f7eb7d7a896..208fd1813d6a 100644 --- a/linux-user/syscall.c +++ b/linux-user/syscall.c @@ -4733,8 +4733,8 @@ static abi_long do_ioctl_rt(const IOCTLEntry *ie, uint8_t *buf_temp, const int *dst_offsets, *src_offsets; int target_size; void *argptr; - abi_ulong *target_rt_dev_ptr; - unsigned long *host_rt_dev_ptr; + abi_ulong *target_rt_dev_ptr = NULL; + unsigned long *host_rt_dev_ptr = NULL; abi_long ret; int i; @@ -4780,6 +4780,9 @@ static abi_long do_ioctl_rt(const IOCTLEntry *ie, uint8_t *buf_temp, unlock_user(argptr, arg, 0); ret = get_errno(safe_ioctl(fd, ie->host_cmd, buf_temp)); + + assert(host_rt_dev_ptr != NULL); + assert(target_rt_dev_ptr != NULL); if (*host_rt_dev_ptr != 0) { unlock_user((void *)*host_rt_dev_ptr, *target_rt_dev_ptr, 0); From patchwork Thu Mar 7 10:06: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: 1052774 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=nongnu.org (client-ip=209.51.188.17; helo=lists.gnu.org; envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=vivier.eu Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 44FRPs4vV6z9sDn for ; Thu, 7 Mar 2019 21:17:04 +1100 (AEDT) Received: from localhost ([127.0.0.1]:48624 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1h1q5F-0003zG-Kf for incoming@patchwork.ozlabs.org; Thu, 07 Mar 2019 05:17:01 -0500 Received: from eggs.gnu.org ([209.51.188.92]:43995) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1h1pvo-00043I-Ie for qemu-devel@nongnu.org; Thu, 07 Mar 2019 05:07:17 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1h1pvn-0007U0-Co for qemu-devel@nongnu.org; Thu, 07 Mar 2019 05:07:16 -0500 Received: from mout.kundenserver.de ([217.72.192.75]:47513) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1h1pvm-0007Sx-TG for qemu-devel@nongnu.org; Thu, 07 Mar 2019 05:07:15 -0500 Received: from localhost.localdomain ([78.238.229.36]) by mrelayeu.kundenserver.de (mreue108 [212.227.15.183]) with ESMTPSA (Nemesis) id 1M3lkT-1h2f8r0Hyt-000qZB; Thu, 07 Mar 2019 11:07:06 +0100 From: Laurent Vivier To: qemu-devel@nongnu.org Date: Thu, 7 Mar 2019 11:06:55 +0100 Message-Id: <20190307100656.14044-9-laurent@vivier.eu> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20190307100656.14044-1-laurent@vivier.eu> References: <20190307100656.14044-1-laurent@vivier.eu> MIME-Version: 1.0 X-Provags-ID: V03:K1:IAYYqtQ9ZTbOUzUTn4eEnJ2VOiXumOjW2nweCVv8w/CccbM5FmQ gWdNT9jYEeo2uGmhd67z2xLvjDwCcecmAwh2ymQxhQnRHlZA8iB+BvZiGWDRdUZFMLuWkzg Kdln++xNNELwxDjE8D3RI+6S/avE0fXSgVZ3ACuPtwBMXrCwq0NUBWNv52NvjGRPeMfzdBn fJ+NbJRF/ftr/CpNwe8uw== X-UI-Out-Filterresults: notjunk:1; V03:K0:eMBwgurccIQ=:YT+MSyc+fRV2f4BF929uai mZdqeNJO4k0WTIEgbWetZinC3YN8elNqt6saHLTvOli/vU5tir2g48feH2qf8w5U+pv8vAqBN 46uFbGOzQdESl8wKwpW9QNe3d9lkMoKFNOFLS26PLdwV09Lc5ZGTFYupO8b8mV/BliH4n96RC T8vWVEtNi/cXS0fSXdJLMTBb2cf/V3r6ZpQzyYRMS+znA/jUpoLxn4HpCWr1tEtq/O3KLD177 n04WH7/gVzNJWLjx7/boC5ChkPzWtnGI95yycJ5bdTpjiAmIsC/SU4RODb8aUawo5l6JB/HUN D6BO0fmx1a0ANOJYcw33SuFT9W9MpT5kuuD9kCFDK0UBcTijGUl8n4H/y3rIDPyDvfylXP53O qZ0Ht+eSdCimq7LIw/GHqqtklcUVdHZjTrA1K6rZ/suZQ0cw8oLrN5LZCXAQNTJTgsxprSf5+ ZRJ0YRpEK/vD1hgf9Fc5O0DaBKncT8wcyODuTpQAmGb7a6xNS/iBJ1+y5O1FjLOvUyNkM5jWM VEf1uTrJA7LaoFhIDwbEWDXw4lN/YTxp0v4L7Gxz2U3p6smTba4P5/P82tYiQ/iPxdF2khmso WdL19VFoA4dm4RhzkVsWzw+MBPCHIqyf+/t92scTHQMfDHb/WKljdtFJ/vJQUTMUHP0/vzZC9 WOhQL27hTghSInluMhj6vcGSUxrpeqkf2x0UGxEO5NQhhKpPO1MDASorBcCGiQ5zLJyLxvL3d wZ43Y/DbA29/g0M1ZzOnZl1kzfYlWwuHk+6tsw== X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 217.72.192.75 Subject: [Qemu-devel] [PULL 8/9] linux-user: Nicer strace output of chroot() syscall X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Helge Deller , Riku Voipio , Laurent Vivier Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: "Qemu-devel" From: Helge Deller Signed-off-by: Helge Deller Reviewed-by: Laurent Vivier Message-Id: <20190227191115.GA20163@ls3530.dellerweb.de> Signed-off-by: Laurent Vivier --- linux-user/strace.c | 12 ++++++++++++ linux-user/strace.list | 2 +- 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/linux-user/strace.c b/linux-user/strace.c index 7318392e571c..6f72a74c0918 100644 --- a/linux-user/strace.c +++ b/linux-user/strace.c @@ -1235,6 +1235,18 @@ print_chdir(const struct syscallname *name, } #endif +#ifdef TARGET_NR_chroot +static void +print_chroot(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_string(arg0, 1); + print_syscall_epilogue(name); +} +#endif + #ifdef TARGET_NR_chmod static void print_chmod(const struct syscallname *name, diff --git a/linux-user/strace.list b/linux-user/strace.list index ff8bb19f5fac..db21ce41779f 100644 --- a/linux-user/strace.list +++ b/linux-user/strace.list @@ -77,7 +77,7 @@ { TARGET_NR_chown32, "chown32" , NULL, NULL, NULL }, #endif #ifdef TARGET_NR_chroot -{ TARGET_NR_chroot, "chroot" , NULL, NULL, NULL }, +{ TARGET_NR_chroot, "chroot" , NULL, print_chroot, NULL }, #endif #ifdef TARGET_NR_clock_adjtime { TARGET_NR_clock_adjtime, "clock_adjtime" , NULL, print_clock_adjtime, NULL }, From patchwork Thu Mar 7 10:06: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: 1052765 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=nongnu.org (client-ip=209.51.188.17; helo=lists.gnu.org; envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=vivier.eu Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 44FRCj5DCzz9sB3 for ; Thu, 7 Mar 2019 21:08:17 +1100 (AEDT) Received: from localhost ([127.0.0.1]:48465 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1h1pwl-0004Bc-IG for incoming@patchwork.ozlabs.org; Thu, 07 Mar 2019 05:08:15 -0500 Received: from eggs.gnu.org ([209.51.188.92]:44050) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1h1pvs-00047E-B3 for qemu-devel@nongnu.org; Thu, 07 Mar 2019 05:07:21 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1h1pvq-0007Vu-M8 for qemu-devel@nongnu.org; Thu, 07 Mar 2019 05:07:19 -0500 Received: from mout.kundenserver.de ([212.227.17.24]:37315) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1h1pvp-0007Ue-D7 for qemu-devel@nongnu.org; Thu, 07 Mar 2019 05:07:17 -0500 Received: from localhost.localdomain ([78.238.229.36]) by mrelayeu.kundenserver.de (mreue108 [212.227.15.183]) with ESMTPSA (Nemesis) id 1MhDAi-1gXTGC2I5a-00eHyu; Thu, 07 Mar 2019 11:07:06 +0100 From: Laurent Vivier To: qemu-devel@nongnu.org Date: Thu, 7 Mar 2019 11:06:56 +0100 Message-Id: <20190307100656.14044-10-laurent@vivier.eu> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20190307100656.14044-1-laurent@vivier.eu> References: <20190307100656.14044-1-laurent@vivier.eu> MIME-Version: 1.0 X-Provags-ID: V03:K1:YIF2UCHRXKFxiPzqgHAN0xXmZY7BVdtpvH0t7XKmsEjmJ5BV5aI bTV9yU9GBqaHnfPhS9h+K0hSpwZE8RtIFpKVUzvsbxP3vDcRR79E2mr3JOQhBeRSmhQ0hEv 6WJwc30zNxXYRYnbplSxmCAfZOUksuNng510nsGjol5YxNXpJbhUSopLtW3Ef4XMby1dOWz Ezx3s0EFYgQQSfizF3HmQ== X-UI-Out-Filterresults: notjunk:1; V03:K0:cZ2mU2yY9U4=:j61TZm4sFLJ4rYoTkyWfoY cVH+Nvt9+MJoWePJEToUHL4LDVgHwVd0h4ThyId9m4Ap/OINvsCwptYrm8fuI4yKGF3m80+f1 mqhLxlC3LcohXlzAlFDsuah6CtLDxCFTdD78qw5aY3dKH7S3vL4p/RezA0js/cJvVkB6EnBKl t/FM74+m8UnJxLC7jljH1igiQY1Pehcl5kns6wWEb+3ejDLfFK73DKnWqimiT03/8/+jBBRuz stgMDrKOywUaJ3hAzZHQ3bTHpSiXxq1u1WUea2T4kS0GQAEzGadFyf2y7yZU9z66y+kyBEIGF i1hC7xH2XryHxe7FfKvHKfty8XRg2xTbkBj7eC2OdTgeaNS/fF1wkktuIHUAt4u2BHaqUFrsi +hLVqO39rKnocYG+JU8ThpvJhsVf8gArzZu3HugVy0WaFJoDDsucLyqJM0gJCNOARmHSB40tb MrTxvjDvoRNu/71ZPBp29wCB7ufGZyFImMMH4j7HamTcChrsRC/UymXyR+FDsnCryLQnIaN1U BbAz96MV/YldZTHj4HxTbkzbPYqmYsdmz2CvThI6lUD62LwND1gftWp/Hsx0mXAfXUMo2qhEl Hz5VSiRKxPir7E1WsSlyXYMYNVMGnBk9mW6rNuIIUi38WgdiVzPCkGg9cv1mvOF6s6Yw1vU6i XOH9S68IZgH73sEiuVApeI8EYEd7W/NXI81e0STYQm2LZUhY/hpu4ku9bjMGI08hImdT0q5DY 1uWr4Sp7SjOJq/2TSOwPJ8IZwineCHMDWO2Dbfdbe3Vuwu8w9sYhqgtYk5U= X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 212.227.17.24 Subject: [Qemu-devel] [PULL 9/9] linux-user: add new netlink types X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Riku Voipio , =?utf-8?q?Philippe_Mathieu-Daud?= =?utf-8?b?w6k=?= , Laurent Vivier Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: "Qemu-devel" Add QEMU_IFLA_BR_VLAN_STATS_PER_PORT (from linux v4.20), QEMU_IFLA_BR_MULTI_BOOLOPT (from linux v5.0). The first new entry fixes the following error: Unknown QEMU_IFLA_BR type 45 Signed-off-by: Laurent Vivier Reviewed-by: Philippe Mathieu-Daudé Message-Id: <20190306200925.17605-1-laurent@vivier.eu> Signed-off-by: Laurent Vivier --- linux-user/fd-trans.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/linux-user/fd-trans.c b/linux-user/fd-trans.c index 30425c9df6bc..612819c1b1ec 100644 --- a/linux-user/fd-trans.c +++ b/linux-user/fd-trans.c @@ -75,6 +75,8 @@ enum { QEMU_IFLA_BR_MCAST_STATS_ENABLED, QEMU_IFLA_BR_MCAST_IGMP_VERSION, QEMU_IFLA_BR_MCAST_MLD_VERSION, + QEMU_IFLA_BR_VLAN_STATS_PER_PORT, + QEMU_IFLA_BR_MULTI_BOOLOPT, QEMU___IFLA_BR_MAX, }; @@ -438,6 +440,7 @@ static abi_long host_to_target_data_bridge_nlattr(struct nlattr *nlattr, case QEMU_IFLA_BR_MCAST_STATS_ENABLED: case QEMU_IFLA_BR_MCAST_IGMP_VERSION: case QEMU_IFLA_BR_MCAST_MLD_VERSION: + case QEMU_IFLA_BR_VLAN_STATS_PER_PORT: break; /* uint16_t */ case QEMU_IFLA_BR_PRIORITY: @@ -543,6 +546,12 @@ static abi_long host_to_target_slave_data_bridge_nlattr(struct nlattr *nlattr, case QEMU_IFLA_BRPORT_ROOT_ID: case QEMU_IFLA_BRPORT_BRIDGE_ID: break; + /* br_boolopt_multi { uint32_t, uint32_t } */ + case QEMU_IFLA_BR_MULTI_BOOLOPT: + u32 = NLA_DATA(nlattr); + u32[0] = tswap32(u32[0]); /* optval */ + u32[1] = tswap32(u32[1]); /* optmask */ + break; default: gemu_log("Unknown QEMU_IFLA_BRPORT type %d\n", nlattr->nla_type); break;