From nobody Sun Feb 8 17:14:53 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) by mx.zohomail.com with SMTPS id 1535645227134563.499668416214; Thu, 30 Aug 2018 09:07:07 -0700 (PDT) Received: from localhost ([::1]:49731 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fvPTN-0000BE-ME for importer@patchew.org; Thu, 30 Aug 2018 12:07:05 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:59270) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fvPMy-0002iT-F5 for qemu-devel@nongnu.org; Thu, 30 Aug 2018 12:00:29 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1fvPMt-0003ES-Es for qemu-devel@nongnu.org; Thu, 30 Aug 2018 12:00:28 -0400 Received: from mail-eopbgr680081.outbound.protection.outlook.com ([40.107.68.81]:24336 helo=NAM04-BN3-obe.outbound.protection.outlook.com) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1fvPMt-0003CD-5a for qemu-devel@nongnu.org; Thu, 30 Aug 2018 12:00:23 -0400 Received: from DM5PR05CA0059.namprd05.prod.outlook.com (2603:10b6:4:39::48) by DM2PR05MB462.namprd05.prod.outlook.com (2a01:111:e400:243a::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.1122.7; Thu, 30 Aug 2018 16:00:12 +0000 Received: from DM3NAM05FT056.eop-nam05.prod.protection.outlook.com (2a01:111:f400:7e51::203) by DM5PR05CA0059.outlook.office365.com (2603:10b6:4:39::48) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id 15.20.1122.9 via Frontend Transport; Thu, 30 Aug 2018 16:00:12 +0000 Received: from exedge.mathworks.com (144.212.100.42) by DM3NAM05FT056.mail.protection.outlook.com (10.152.98.170) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.20.1122.2 via Frontend Transport; Thu, 30 Aug 2018 16:00:11 +0000 Received: from ex16-01-ah.mathworks.com (172.31.80.219) by ex16edge-00-ah.mathworks.com (172.31.187.33) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1466.3; Thu, 30 Aug 2018 11:58:17 -0400 Received: from ex16-00-ah.mathworks.com (172.31.39.22) by ex16-01-ah.mathworks.com (172.31.80.219) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1466.3; Thu, 30 Aug 2018 11:59:18 -0400 Received: from mail-vif.mathworks.com (144.212.95.101) by ex16-00-ah.mathworks.com (172.31.39.22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1466.3 via Frontend Transport; Thu, 30 Aug 2018 11:59:18 -0400 Received: from gla-ggrant-deb9-64.dhcp.mathworks.com (gla-ggrant-deb9-64.dhcp.mathworks.com [172.16.162.92]) by mail-vif.mathworks.com (8.14.7/8.14.7) with ESMTP id w7UFxIaq030997; Thu, 30 Aug 2018 11:59:18 -0400 Received: (from ggrant@localhost) by gla-ggrant-deb9-64.dhcp.mathworks.com (8.15.2/8.15.2/Submit) id w7UFxGjP121784; Thu, 30 Aug 2018 16:59:16 +0100 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mathworks.onmicrosoft.com; s=selector1-mathworks-co-uk; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=/aECCpNghc3PRVzG3QwrR+2F/wwZMA5Q7oHawxNjJRM=; b=TsQObFpHFLqps3sIPKLJ4m5o0a6H6w1Y7z8gzwTgVN+DViO3FXieCL3Hpm82nDd20D4yoj1lGRq9Yoh4Z5ljw8dk3juqrOTVz6eJgAZEHtEIWNoCFoIX1LNo3k5Vfef66LdCN39+Ij1tX5vZTvRo2jH6vRHw4rIb2An2g/ncNgE= Authentication-Results: spf=softfail (sender IP is 144.212.100.42) smtp.mailfrom=mathworks.co.uk; ens-lyon.org; dkim=none (message not signed) header.d=none;ens-lyon.org; dmarc=fail action=quarantine header.from=protonmail.com; Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: SoftFail (protection.outlook.com: domain of transitioning mathworks.co.uk discourages use of 144.212.100.42 as permitted sender) To: , , Date: Thu, 30 Aug 2018 16:57:57 +0100 Message-ID: <20180830155757.103694-2-gavingrant@protonmail.com> X-Mailer: git-send-email 2.11.0 In-Reply-To: <20180830155757.103694-1-gavingrant@protonmail.com> References: <20180830155757.103694-1-gavingrant@protonmail.com> MIME-Version: 1.0 X-EOPAttributedMessage: 0 X-Forefront-Antispam-Report: CIP:144.212.100.42; IPV:NLI; CTRY:US; EFV:NLI; SFV:NSPM; SFS:(10009020)(39860400002)(396003)(346002)(136003)(376002)(2980300002)(199004)(189003)(51416003)(126002)(1076002)(76176011)(476003)(5660300001)(486006)(2616005)(11346002)(446003)(2906002)(6666003)(356003)(8676002)(87636003)(246002)(36756003)(4326008)(72206003)(478600001)(106466001)(105596002)(575784001)(2201001)(1857600001)(48376002)(186003)(50466002)(217873002)(42882007)(50226002)(336012)(7636002)(305945005)(14444005)(8936002)(47776003)(110136005)(42186006)(316002)(16586007)(26005)(99400200001); DIR:OUT; SFP:1101; SCL:1; SRVR:DM2PR05MB462; H:exedge.mathworks.com; FPR:; SPF:SoftFail; LANG:en; PTR:airwatch-dmz-ah.mathworks.com; A:1; MX:1; X-Microsoft-Exchange-Diagnostics: 1; DM3NAM05FT056; 1:VZtynm37CuFLagSuse9hTpKe96akNtJqFC/lARnLBQU5pT3pU3/aASw6p0pjJjeuhYkNuRHvqB6Yx/0P2KjOABs++3QNr2h4T1+8ilFv4kJqBD6t6s0JPOhI0qBiCzwP X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 898d7c01-0fef-42e9-0d5b-08d60e91aadc X-Microsoft-Antispam: BCL:0; PCL:0; RULEID:(7020095)(4652040)(8989137)(4534165)(4627221)(201703031133081)(201702281549075)(8990107)(5600074)(711020)(2017052603328)(7153060); SRVR:DM2PR05MB462; X-Microsoft-Exchange-Diagnostics: 1; DM2PR05MB462; 3:kORaYvx075uKMhF5MZkuxATb1l2nbiPw8xme0XcZh4gDgnnb5CxGNY1IQlSaUE36a8zowWcCfrnTOyd+WoYPhWWKSbo/lI0IlPg8gfH7ArUTgbjVYJxVrbppkzC59o3IFUUFqVarbr4bpS7rawkxBu1rZ7TbCee7OI4mnQWdoIpLmJKpIoa6syrTCfFT7397z5Mqdkhka6pwYYrww7wtBmkYqfEAVgMpafejYl+JG3ixW0QsbAkkQrowKx4Eo10Hl5jourmVYWfQB8jimbOWJwWrOvDyWNW0cg6cH+rASzTwMWxkbPma/O/eOx/RCwGGkklISuzgVWkGb7yu30qaMFxYXfH4vhDjNXgZf/vxMFQ=; 25:h5vyB6MN4o9DckhTNkMjC0/vIfN5iCL6EQAk99hRjGE/WcZshKK9Txw72ldTfYsV/0ZYTsLE9binzYJWdqzAYeIrj5xgz095wjlMVjYI3QbDPWyPVmznZCz1VfVwvwIAFukmz46uUgkxZ6eViBQCqcoAi2LOCukKQ/dgxyrXfEx/QvLZDLYqVoBbXhttQ02Y46vVqyXPHs4YELO2436jc0c2DXPNhemkcD6aVal9jPvtKVLqhnJ4qZHU5DseVnUjQ9YPuO9pvpiwEZKS9ngqfvuZX2MlRVM8bkvsJrZ8l3IvFoDoGY16dfv3mAKMNlbVyqCSNLRwY1Wt/pb+2rhj+Q== X-MS-TrafficTypeDiagnostic: DM2PR05MB462: X-Microsoft-Exchange-Diagnostics: 1; DM2PR05MB462; 31:hkerXNdgolEZuKtJmx3BOQH0f7kxMVsCmMXBaauDfxpyM26YbzGM4RtUKZXYfiXVQgEKo8WEG7AaWsmbVglBMn2al4Mucz0xE8w/wsclD9bYVUrVaT+HzbnpXXyTaR4H+hed2VuGHhPENVd8Q4mbu5htiDfHBnDp8oNw882SZ56pYM78btil8vMfoQk8vTUUKgGI/9Ei57Z4WyKx4IuhSPsmLP1AsyU7b7pcgYBqPbc=; 20:jYzHYdvbBd8iWLaA87+41QIuFHEEqRUCNmkvVMB40II7+lvm9wlsxU/+hMHbu2a8RJvFe9Ri47CWv95LitcuwglomgJYdzyu8KPkOn3CzU1W3Bcbqv2/PhvMWqjY27nyUNUnhHUpvFKBKDc/WQ3fYJ1pH0X7Huj3V4NImVik50HEaRJ7gm6+BnlsPJYkHYDSaBNaJ6rndTLjgET5W+c7SskpGoxdmW2JX6qUhHc2OiQBvq626oBCoSULf5cM71KNXtqwQ9P2kb+gRbiD7bD73oFpkjD9yzKv+Vm1tSDBJ/RrAsjtIVxybz50f/eK623hMaHBShBEbhLn3lPEYVxe2e7HVlUQWqKDf3e6UEcCl8QUm1zj6QGHof37rCJKXRexu5AZWuWiyla4C7qNHg1q6OEWCrOM1BaX2dPSGhNV3n6nZ9GQhJDQ8kiCDdVVZtoMQSrJwkO5ryEgBbeLAxlVltA01HBZIVJ8ph9/kKJwfSTNZyep46Ww1HCrl8MaJgju X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-MS-Exchange-SenderADCheck: 0 X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6040522)(2401047)(8121501046)(5005006)(10201501046)(93006095)(93003095)(3231311)(944501410)(52105095)(3002001)(149027)(6041310)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123558120)(20161123560045)(20161123564045)(20161123562045)(201708071742011)(7699016); SRVR:DM2PR05MB462; BCL:0; PCL:0; RULEID:; SRVR:DM2PR05MB462; X-Microsoft-Exchange-Diagnostics: 1; DM2PR05MB462; 4:AmnQDv4ayO9aKH0JsdsYmnJ1757dQfE94t3LaZBnadPELoLmwO5CRoBj7zY6+y6KgMd571ojfjH/IBI/6SS8yyHsoXxCWC9903eJgOhmiqZqyx/w5KJnvBG9M1TdIZ8wGoMpmkvdWBaUEmNMFOY2USnLQRy3Ivb3uGg4Y2AOFnBb7gAfaC/rZwYLIBiZGnSWY5xsucddZIWBm+w3q4InkRp41NZwn/gFvtzHGnLKQfHGUNF39KQNTXA/0rVh+96xBkwd7AcdjqerBT7O45N4Gg== X-Forefront-PRVS: 07807C55DC X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; DM2PR05MB462; 23:SYK4K0nxBrNhZDYKGudlQU6k9S2vV0YjC0y3qkUFAr?= =?us-ascii?Q?31kCPMKCwfUPv2C+96uxXKrhpydxCpCWAr/2tkCdyoET18m+oNgh/Bwqjtmy?= =?us-ascii?Q?ztS4//fn7QrlkYsdSZOE7OsIjNtSh24xHxijHfaOg3K0midcIgPBVOMAAJik?= =?us-ascii?Q?l3xFd1uFsFE8hROt9Dbte/fDdphvzi/ZaWsfdhl5yVRQZtKC1if0BoOxBY2z?= =?us-ascii?Q?jYPGiuLR5YvhNnN2uGNYdaxkCU89hnfBwa8iaO5XF6gvGnXVGN8LOYW3buf6?= =?us-ascii?Q?Glx32z49zTvuHHmGn2yx/NbyH9EBin2deTQGo209/2FEtmwW+mgS3T6ByO/F?= =?us-ascii?Q?E6iR5LIgXwInGceoXS2pGjmlJBPK8LBlcMtn1n6oQN9n0qKcEBUAusU9jaKE?= =?us-ascii?Q?SjVWZmdOLd4W+dNbVpKH6dURMbdNmkso6BvRMQjUHYGPTUGS8W5/yg1y8AX4?= =?us-ascii?Q?dgT9IDMvySwK2giPGhhgErejIynyorhttlUer73Ssw96zFQvRJsilAn6xJ2+?= =?us-ascii?Q?KJem+wSTxXgQc21GPDahUHt0VQa4Z5rjy3zjrCdtVSG+AlFRglKhf/ExM2s5?= =?us-ascii?Q?JmtZcTdxBG66Ey4jRx6vHkWfhfr8BH+JcfFgmCqz+BqWCRTeLlE/jAnHltaR?= =?us-ascii?Q?+jutukv1p6mA2bmcauumFcCb7eCGNsnNKe9LpEgXBTM6FWA6Q4F/MsAlrtw4?= =?us-ascii?Q?G/rGvQep/YvdtPhjzAbLIK/ZkV9EfgL/B/d2TWURyT7q1qiXbSNEHdb/FzUf?= =?us-ascii?Q?LKpIAWS1Ev31viZv7rbKju6YAdlfId+PADeJeXc089n+TuGXmPeablkNYNtw?= =?us-ascii?Q?tlJAoZaA0xQa2oTHQm7urd3jE8RnejxPSywaQXi11jHYgdKYesmgrBcL6zE2?= =?us-ascii?Q?A9l2bRtZztwiAYuYmPF5jpOoH4Vr737XoK+vStTAsGEctqyakvXVxmUbhUGa?= =?us-ascii?Q?ozoA2OtcCgMW/v6DnM0qIft7v4AdDGSYWHt2GN7MszmABk59MuT0gh7ZWhA6?= =?us-ascii?Q?lVCQB9T7RKT7rM3kGvPtHil6yFZr+KBLWuQaa2ekzoy0SXHKTH2n2HI7d2Gs?= =?us-ascii?Q?G2jud28nX+dNnxpBrQOl7+NEYh8PpG33RFNbL/SXHfyRnITuHl7rkHlgutXn?= =?us-ascii?Q?ebqnFJRCVJ9+ciPm1N7wSYqb39OAET?= X-Microsoft-Antispam-Message-Info: eSxGn9RM4wMEO+TD92DTZMeNHKWdnvgxfgJjBZ2lr6LNDgFwszMAofOTduX5RSVGjrYMxkp+fJg69iVddvyywZE+4Gg4NkeABSvn6HAmd/QtMQXCFeXljVxvWFnbw0INANQv+PCYIlV0he8hlFVVNfyw1eRAcUhqwRyIbpqhcTzH330TCvz71HgvMxwznpZKKLeU4Og+p6fsbj7/eTRpZgrcTAcNbG2qqqj56gj5CeKBzOtN2qzbWMxHIBXW+hLurGAW5Jbe6z5VmJ2QJEp2nyIqqv9csXSMA/qxRmNNgD+kW2QJIns25cPEQC7ouHK6FBRLY/hpfhoBT6fUCkhx+U8tzPnRWmdNpW0E5WOPnr8= X-Microsoft-Exchange-Diagnostics: 1; DM2PR05MB462; 6:ouEbwUXSWxNR7RQLoQILC8SDjrMHsYhv/v80nXuHKVaeY4v2Py8094eWNfHyjROO4Zt8kd1PnMFALWrklymYrL28UzFzlqp47Wjsqe3X2DZ5kMF60KpSxpCFEDveh4WVteuHHDPnLWBoc7khVJ8USf2dIC6DHuIw18WlANJkI8BwHCMQErqxD+ywMQVZHJ3Bgif1g8Sb6X5zl03XENDMOx1K5iu9erBG+YlPVPBHfiFbp7PAyY+RpgWuFVJ2xZeVWCeltS8+JIC2JxUSoyos3O0ngaPL100GLGoD40XJ21xCzwKeZyaq1gc8I4TvAJlf8vuxEU2zKuGRtl+FYQwEumkxdR5O20jih1MnCB9p6OOhOmlJniRcqbrrH/nNsl2ZKn2/E+E8frrgZ/a3nVyer/Vf0hRcO5eouf++oNtfOwAiapfroBK8kIAt1sCyRcIYRauLW45ts0CUAPleOP9j7A==; 5:rkPFNl7Eb+sQAStVMrVOsQpreXCNowTazPzztDRC75+v71FsT/NfA+Rw/D5SR6YiEkj1P9wBQJODjkryXmBJslUxd1IrxGXMgsuogdiQVzRcYp45htg8WOyN0+VcqGAMxE7fSRsHneD69hlI9K/2U1lL5qhkfp4j7i7D9CZ60uQ=; 7:mD0AJFN8QYEDSVha4t0mhcwCC3rni6Qg5BvEFT0zi0mVwAjJmkJzsmedw5zuIDFp96hYZZf0SvZKhReJ5B3GSsLQ4Qj9Hw6Ky/oLJnD+mrH8M7e0oY7aAZ2e8FW6Z6HcWmhxx+FYaW930KKkYZim9FMsYX61jQQ3us+bv/r94326+TjekVRybn/P6DIYhuNGb+unF7APviLio8+pxl3u44bRYACW7XckIfmjyeNui9LmpuJiBqBvx7Ky0uMBcD7E SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: mathworks.co.uk X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Aug 2018 16:00:11.6286 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 898d7c01-0fef-42e9-0d5b-08d60e91aadc X-MS-Exchange-CrossTenant-Id: 99dd3a11-4348-4468-9bdd-e5072b1dc1e6 X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=99dd3a11-4348-4468-9bdd-e5072b1dc1e6; Ip=[144.212.100.42]; Helo=[exedge.mathworks.com] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM2PR05MB462 X-detected-operating-system: by eggs.gnu.org: Windows 7 or 8 [fuzzy] X-Received-From: 40.107.68.81 Subject: [Qemu-devel] [PATCH] slirp: Propagate host TCP RST packet to the guest after socket disconnected 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: , From: Gavin Grant via Qemu-devel Reply-To: Gavin Grant Cc: Gavin Grant Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZohoMail: RDKM_2 RSF_0 Z_629925259 SPT_0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Commit 27d92ebc5ed1bb0b518d0ebc4c609182ad20a799 handled the case where the = TCP connection is abruptly closed via a RST packet, by checking for the ECONNRE= SET errno. However it does not consider the case where the connection has been half-closed by the host (FIN/ACK), then the host socket is disconnected. For example, if the host application calls close() on the socket, then the application exits. In this case, the socket still exists due to the file descriptor in SLIRP, = but it is disconnected. recv() does not indicate an error since an orderly sock= et close has previously occurred. The socket will then be stuck in FIN_WAIT_2, until the peer sends FIN/ACK or a timeout occurs. Instead we can send a RST to the peer and transition to the CLOSED state. Signed-off-by: Gavin Grant --- slirp/socket.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/slirp/socket.c b/slirp/socket.c index 08fe98907d..543bd5feaf 100644 --- a/slirp/socket.c +++ b/slirp/socket.c @@ -204,12 +204,17 @@ soread(struct socket *so) return 0; else { int err; + struct sockaddr addr; socklen_t slen =3D sizeof err; =20 err =3D errno; if (nn =3D=3D 0) { - getsockopt(so->s, SOL_SOCKET, SO_ERROR, - &err, &slen); + if (getpeername(so->s, &addr, &slen) < 0) { + err =3D errno; + } else { + getsockopt(so->s, SOL_SOCKET, SO_ERROR, + &err, &slen); + } } =20 DEBUG_MISC((dfd, " --- soread() disconnected, nn =3D %d, errno =3D %d-%= s\n", nn, errno,strerror(errno))); --=20 2.11.0