From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on atuin.qyliss.net X-Spam-Level: X-Spam-Status: No, score=-4.2 required=3.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI, RCVD_IN_DNSWL_LOW,RCVD_IN_MSPIKE_H3,RCVD_IN_MSPIKE_WL,SPF_HELO_PASS autolearn=unavailable autolearn_force=no version=3.4.4 Received: by atuin.qyliss.net (Postfix, from userid 496) id 85087150DE; Wed, 10 Mar 2021 20:46:00 +0000 (UTC) Received: from [127.0.0.1] (localhost [IPv6:::1]) by atuin.qyliss.net (Postfix) with ESMTP id B3BDC1514A; Wed, 10 Mar 2021 20:45:44 +0000 (UTC) Received: by atuin.qyliss.net (Postfix, from userid 496) id 289761512D; Wed, 10 Mar 2021 20:45:43 +0000 (UTC) Received: from out3-smtp.messagingengine.com (out3-smtp.messagingengine.com [66.111.4.27]) by atuin.qyliss.net (Postfix) with ESMTPS id 3BAAF150BA for ; Wed, 10 Mar 2021 20:45:39 +0000 (UTC) Received: from compute3.internal (compute3.nyi.internal [10.202.2.43]) by mailout.nyi.internal (Postfix) with ESMTP id 170515C0172; Wed, 10 Mar 2021 15:45:38 -0500 (EST) Received: from mailfrontend1 ([10.202.2.162]) by compute3.internal (MEProxy); Wed, 10 Mar 2021 15:45:38 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=alyssa.is; h= from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; s=fm2; bh=HZ6SKE+V8hKaqQivrxoUWC/cuP TV9InVtvgM/bQQHoQ=; b=sC9aT3saIQ8qpsCDF4bmYfc3Jw+WlXk6/goaOOC7SP H9cLrwBfSxybg6E172xV4PafotwvcQ2YtZxoX6oCSKFGHR3RsTCPpmsZeqHpd4dp J5PkRqVFb9NMM3i9XtO/DD51to4HaX44LwRHBgUmNvAs2yzoPVpJvDRXuD46GmrC NIPwcnujcAotz4vuHyQYOdI1ElkbpguGh8QhJwxWeCmDjog7ITQu2HrzRk0VOLNg 5gEB+YUM3Pg7wX56twJzO2xonk8gTiwAtgoz7kSyA5UjfgTT7RrNbPfcA8ptJ3+C 9MFNmIUYIV9iKeLMxWYgWZA4LQzqrh8AzLtYLWQAjQsA== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-transfer-encoding:date:from :message-id:mime-version:subject:to:x-me-proxy:x-me-proxy :x-me-sender:x-me-sender:x-sasl-enc; s=fm2; bh=HZ6SKE+V8hKaqQivr xoUWC/cuPTV9InVtvgM/bQQHoQ=; b=UjpQQygCpuoJxNMv+XGGJUtnvrBgyan4E 5sNWYsan5lv2FaRSaeU0RnnmAzeYKJX/gS64PDFK+/T5TLSx3cNdIqhqtrLx7was +l9G1HPcE5MIKzXY46GjnUhjVnRYb2FfRqNaXGQ1/LcZ6uhijOVMtxq5wR0srGEn WNkZRAZVtR/gJsbIFFmfVcLsPPnolPpvYwgXXrZEOOADuEPwb7d+UIIdTRtECTjT Od/5b/ebDxAf3rbHWZvJWbW5hFUQLPzOfYtCzm5dDObWz7dJ+/lcTl+uhZHxaD8X XvO45aOtPlHQWpF6L3r5v1D8er0MqzaK4Fqrwv6Q5foO+J0WoL6Gw== X-ME-Sender: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeduledruddukedgudegudcutefuodetggdotefrod ftvfcurfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfgh necuuegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmd enucfjughrpefhvffufffkofgggfestdekredtredttdenucfhrhhomheptehlhihsshgr ucftohhsshcuoehhihesrghlhihsshgrrdhisheqnecuggftrfgrthhtvghrnhepueegfe ehffeutdfgjeeuveeiiedufffgleejvefhudeivdeuvddtuddvheeiudejnecuffhomhgr ihhnpehsphgvtghtrhhumhdqohhsrdhorhhgnecukfhppeekgedrudekuddrvdehhedrke ehnecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrhhomhepqhih lhhishhssegvvhgvrdhqhihlihhsshdrnhgvth X-ME-Proxy: Received: from eve.qyliss.net (p54b5ff55.dip0.t-ipconnect.de [84.181.255.85]) by mail.messagingengine.com (Postfix) with ESMTPA id 74C92240064; Wed, 10 Mar 2021 15:45:37 -0500 (EST) Received: by eve.qyliss.net (Postfix, from userid 1000) id E46F726A; Wed, 10 Mar 2021 20:45:35 +0000 (UTC) From: Alyssa Ross To: devel@spectrum-os.org Subject: [PATCH ucspi-vsock] vsock_accept: return fd instead of 0 on success Date: Wed, 10 Mar 2021 20:45:16 +0000 Message-Id: <20210310204516.20041-1-hi@alyssa.is> X-Mailer: git-send-email 2.30.0 MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Message-ID-Hash: ER4NLIBCDFNH6MTRGVGIGCBHR4PHVR2A X-Message-ID-Hash: ER4NLIBCDFNH6MTRGVGIGCBHR4PHVR2A X-MailFrom: qyliss@eve.qyliss.net X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-config-1; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; suspicious-header CC: Cole Helbling X-Mailman-Version: 3.3.1 Precedence: list List-Id: Patches and low-level development discussion Archived-At: List-Archive: List-Help: List-Post: List-Subscribe: List-Unsubscribe: This would result in the spawned process being hooked up to stdin, instead of the vsock. Then stdin would be closed, so subsequent processes would be connected to nothing. Oops. --- I am... a bit embarassed that I didn't notice this after already fixing the exact same problem in vsock_connect[1]. Maybe I can write an integration test that runs vsockserver and vsockclient and checks they actually do the right thing... [1]: https://spectrum-os.org/lists/archives/spectrum-devel/20210309171816= .8589-1-hi@alyssa.is/raw vsock.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/vsock.c b/vsock.c index d9ff3b6..e6a173c 100644 --- a/vsock.c +++ b/vsock.c @@ -32,14 +32,15 @@ int vsock_accept(int sockfd, uint32_t *cid, uint32_t = *port) { struct sockaddr_vm addr =3D { 0 }; socklen_t addr_size =3D sizeof addr; + int fd; =20 - if (accept(sockfd, (struct sockaddr *)&addr, &addr_size) =3D=3D -1) + if ((fd =3D accept(sockfd, (struct sockaddr *)&addr, &addr_size)) =3D=3D= -1) return -1; =20 *cid =3D addr.svm_cid; *port =3D addr.svm_port; =20 - return 0; + return fd; } =20 int vsock_connect(int fd, uint32_t cid, uint32_t port) --=20 2.30.0