From nobody Sun Jun 14 14:31:06 2026 Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 1A6E41A9FBC for ; Fri, 3 Apr 2026 09:32:57 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=170.10.133.124 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775208779; cv=none; b=ATGakqp5ggEMgtXlcKGN2ZnoBFHjyoQibTIjC4/rCmQffxPnxz48Ovb9c+3p4lYKDaDtSkZOJhyATYzn+PeZPKd9NfIlvHJLq6gr0AAGPBf9Sddr0sxfixVeziK2JZBoPU0ASE7sOXByVORvMedi/3URt9IMrC2XNrAySZHt6cw= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775208779; c=relaxed/simple; bh=cv1n3+Y6D+oKSnZC7Rf2LuWBrgJHOPCt+mhyNABBrEQ=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=CQCShZT2LFiFUKiQA0kMkZ/R5s5EswWZraidf9/gX3b+ez3BxtA/8Qhyy2wQ4kOt1wb7njnhcN0owxwbeYq8ZOICfMDZVmyaRmSBq3KgWqP/AJU/vbGyuH1ZxqZFemqSyeaLav3pm6SuceePJivrwT1lVDacq30U9XoBgVMPjIk= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=redhat.com; spf=pass smtp.mailfrom=redhat.com; dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b=d395/uP1; dkim=pass (2048-bit key) header.d=redhat.com header.i=@redhat.com header.b=FPq6kvsF; arc=none smtp.client-ip=170.10.133.124 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=redhat.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=redhat.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b="d395/uP1"; dkim=pass (2048-bit key) header.d=redhat.com header.i=@redhat.com header.b="FPq6kvsF" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1775208777; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding; bh=OlhvOOy7p63KXaOzp0l12f0csTlzcyaDpAiq+n8anCo=; b=d395/uP1b0xjWgidIt9FYPWvVP7tZys7D8Kh4NRc4kuq0BbNWXF/phRxV7lZTPuSGCsnjb LSSWAJsOU0VTlannIlwS4NXuC2YuMt93cRzczj8P/rvkOPjEh9VX0ShLNlKLITUgEUDNo2 hqhFf908Mz9XWfZeXoQxhPXnWsyQgu0= Received: from mail-wm1-f70.google.com (mail-wm1-f70.google.com [209.85.128.70]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-694-mY7OGfJSPhuw8qu4PoHbIQ-1; Fri, 03 Apr 2026 05:32:56 -0400 X-MC-Unique: mY7OGfJSPhuw8qu4PoHbIQ-1 X-Mimecast-MFC-AGG-ID: mY7OGfJSPhuw8qu4PoHbIQ_1775208775 Received: by mail-wm1-f70.google.com with SMTP id 5b1f17b1804b1-486fb142205so17803275e9.1 for ; Fri, 03 Apr 2026 02:32:55 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=google; t=1775208774; x=1775813574; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=OlhvOOy7p63KXaOzp0l12f0csTlzcyaDpAiq+n8anCo=; b=FPq6kvsFKc4JnvSC4S72KwKn6eQrHyr6Nu+dcoSNAwkE3cIISqRK+f1/Ou/kLQSPWF fJdpRwYxKGhG8rCB65Afs6EuFa8JRkZDGrI22J+RCYLTXMTvTqWBgzbtOhxQHCLwbX3H dwZHtPca273ExMbFBZvo/anduIiMaL9XeGA7TMOoN/0FV8XKdp14Ekf59oxRhElhLgW2 +1wLbDy1lA1S/HO4zuRKpICvyIVHgd873AodVXrUL+d0NTBwAq4YPu8lhnLBh+hVoOK2 Y5RUJd33HEkt7g8TKPppCpQd7MzrPOtwwqjw39ALVI0aui0Xb7Qv59vPwrJckDUylRcB YxIQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1775208774; x=1775813574; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=OlhvOOy7p63KXaOzp0l12f0csTlzcyaDpAiq+n8anCo=; b=MNEtzH9j7oCAgBDWO4pKO88u1WnmAqvy8X3NU4bksWOTzOcBCJ6L/qWCEqt91aQx0b R/DEBs9jmoOQ4srB9YtDAG8PDRcttUf0Hq9/DXHclsX0OJqZSX9K90aATFqcXj1jVo7g mFSwu188isDJyB+Wg4uv3xaAJ5Piuv7AGdqqlztVCN+HCqZmzr8JoQdeccKK0An+6+Fi mMXBPTDFgeF01Zz+D2Kx6S6NtE0nDjmER7JC/ocOTWvE1+ik1eXiRqaQE8cYdo9lvbY7 4pW9/Z8GxRpuDYkqUm3ssJPPci804bPRmwQXeqQQVl8HMTues3kCuy8GoIEELD03xep1 j0iQ== X-Forwarded-Encrypted: i=1; AJvYcCUyjm6Qc1+rXCRYB+cKcVR+m+fTCoiaJCc4hBlWRuZ0DohSPaQWhFI/KgQ9hrJBCQDWUsV++RnnF1tDsxQ=@vger.kernel.org X-Gm-Message-State: AOJu0Yy3iG2tqGh0xd0jpJldZCd2qmrbKEgIMVvBSJTiwbRYNL7jr4kX hYwjwzGRsqKW4UT17cqy1HAa4dqgGsO/cbrlTLNYHLNt76c6nDe9fRiNz3GgMfTcRDLs7IKlBvr XQ1zzcDW1qKTzfXw6ERGz43LFJTCQ9ahQTVSQo/DeZO1wnK9tjTIuJC+PNRmi6Pd+vQ== X-Gm-Gg: ATEYQzylsPdiH8BmuAhV8W3KPT7WW8Ha/gaGOSHOp+VTmGZd54YY+hE4JoQtgmrD894 BW/UsHrS6fq905qTnjtY0u9w1nA0+zrEIVECSNYvFvbeQa8b4FuV5J7aOLC3rmgloY4sV7Aw4Me fpLPhF9S/rxI1P2Qz6uC15JP6/Wp/7MBTQjSS/DclSvgTkCU2afJIVns7h0/FCQZJMHx/aarPJY QRJjJofKQpOPZKflLQnHdmSZXgSGJUGW12PbuJVb4WMRcRH9z/BkktG88k8PDQhuG6YE4U3NELM HSsXmDJoc43cJIkPRj4StSVnZ1BHlKeeEhzEpwyX1k61ebpiAxB1QClkKr/BdpaJHUMIOgXt+17 agTYiGPRok58K19dbXhOyTfohB+d3L2tfZCqiPpCyh/PN3wv6f7I0vgzOfkeFI+Y= X-Received: by 2002:a05:600c:1d86:b0:480:1d0b:2d32 with SMTP id 5b1f17b1804b1-48899719a00mr32512485e9.12.1775208774412; Fri, 03 Apr 2026 02:32:54 -0700 (PDT) X-Received: by 2002:a05:600c:1d86:b0:480:1d0b:2d32 with SMTP id 5b1f17b1804b1-48899719a00mr32512075e9.12.1775208773785; Fri, 03 Apr 2026 02:32:53 -0700 (PDT) Received: from stex1 (host-87-12-139-105.business.telecomitalia.it. [87.12.139.105]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4888a65635fsm132198625e9.6.2026.04.03.02.32.52 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 03 Apr 2026 02:32:52 -0700 (PDT) From: Stefano Garzarella To: netdev@vger.kernel.org Cc: "David S. Miller" , Arseniy Krasnov , linux-kernel@vger.kernel.org, Stefano Garzarella , virtualization@lists.linux.dev Subject: [PATCH net] vsock/test: fix send_buf()/recv_buf() EINTR handling Date: Fri, 3 Apr 2026 11:32:51 +0200 Message-ID: <20260403093251.30662-1-sgarzare@redhat.com> X-Mailer: git-send-email 2.53.0 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Stefano Garzarella When send() or recv() returns -1 with errno =3D=3D EINTR, the code skips the break but still adds the return value to nwritten/nread, making it decrease by 1. This leads to wrong buffer offsets and wrong bytes count. Fix it by explicitly continuing the loop on EINTR, so the return value is only added when it is positive. Fixes: a8ed71a27ef5 ("vsock/test: add recv_buf() utility function") Fixes: 12329bd51fdc ("vsock/test: add send_buf() utility function") Signed-off-by: Stefano Garzarella Reviewed-by: Luigi Leonardi --- tools/testing/vsock/util.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/tools/testing/vsock/util.c b/tools/testing/vsock/util.c index 9430ef5b8bc3..1fe1338c79cd 100644 --- a/tools/testing/vsock/util.c +++ b/tools/testing/vsock/util.c @@ -344,7 +344,9 @@ void send_buf(int fd, const void *buf, size_t len, int = flags, ret =3D send(fd, buf + nwritten, len - nwritten, flags); timeout_check("send"); =20 - if (ret =3D=3D 0 || (ret < 0 && errno !=3D EINTR)) + if (ret < 0 && errno =3D=3D EINTR) + continue; + if (ret <=3D 0) break; =20 nwritten +=3D ret; @@ -396,7 +398,9 @@ void recv_buf(int fd, void *buf, size_t len, int flags,= ssize_t expected_ret) ret =3D recv(fd, buf + nread, len - nread, flags); timeout_check("recv"); =20 - if (ret =3D=3D 0 || (ret < 0 && errno !=3D EINTR)) + if (ret < 0 && errno =3D=3D EINTR) + continue; + if (ret <=3D 0) break; =20 nread +=3D ret; --=20 2.53.0