Received: by 2002:a25:8b91:0:0:0:0:0 with SMTP id j17csp13330973ybl; Sun, 29 Dec 2019 09:27:59 -0800 (PST) X-Google-Smtp-Source: APXvYqwbaYkSsg3xOE1iK8GrUyCvhLNF2sLly3G70hJIyGxLGxcAf/mOlVn/d3IvHcf8Ajz45ugV X-Received: by 2002:a9d:21f5:: with SMTP id s108mr51436588otb.152.1577640479620; Sun, 29 Dec 2019 09:27:59 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1577640479; cv=none; d=google.com; s=arc-20160816; b=xsqL/MIpObOmoIOJVNLaDsv1OGm7Mpe1qkFe0mAxuwrSX9uvxfPuOowccmrUGi+xvx wKmu9O7+8o+xlhbURyxgQ0LHYxQ/OG4Bp/7Sq3gNuz1I6ZIqhq7+dKl01FQ3dJyc5FcD PzZyb2V2keo7ea25XJnEk9JTY/l1Hf7qV/nXomxPpNlB0L8tPWBR8/GD3NlW+lEwL9CX lJwhPczJESvjG/abA1hljgsLupSd+15V+SSaLi3U59A/PaW44S8g8TKBksOl5VObpBUO 2mgdp5iHaV+DpnQZYJDp8BYhH20zeF7g89bp6pRmXNIOPmeyi+q7AJE6x4ZHzJqNAdCy ALdg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=BsNqRF85H2hlTqOM9XluotfKk66Nz7xGZX2JM0ERUZY=; b=VPT9tF2di2A9KyjbCrUeD1nGHig8cQPBiLpoRU3rxQ77byju//cs5YgiPWEkIplJ2T w+C0IogcuY7BEeFwQ8ywwsJwvzxntOwQo+74UjBRzjbT9AnoCyZse8WDRTysTKtg8CWQ vmq2Ssmdo5u6omWUwShNiXhiOauBKFKfYAtZw0KXcZUqTPIeKtrgczlgrXQzyVpVsykx n104T6IjQhJoccu/UnXThknicRraZEF4MTM7kmedAk6/vdB3LAYZOZCb0i4RxeAvcCAO WqNwIiEL0ql4CARWXhXP995lL7KQbCjkE+FixVjXEfmgf5VsNl2EoOofnJMCIgWSi3wB qjPg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b="2osf4/YA"; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id i13si21299844otc.228.2019.12.29.09.27.48; Sun, 29 Dec 2019 09:27:59 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b="2osf4/YA"; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728284AbfL2R0q (ORCPT + 99 others); Sun, 29 Dec 2019 12:26:46 -0500 Received: from mail.kernel.org ([198.145.29.99]:48202 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728278AbfL2R0o (ORCPT ); Sun, 29 Dec 2019 12:26:44 -0500 Received: from localhost (83-86-89-107.cable.dynamic.v4.ziggo.nl [83.86.89.107]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id EE3CC20722; Sun, 29 Dec 2019 17:26:43 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1577640404; bh=fkkNyI6rUPDbvCAx87VuGanSl8Hvh4uJQEgnBOoU/kg=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=2osf4/YAl/8ekvKK/GzG1WaL1MfXahtowjRn4eg8LNOTvSXiJgqwz1LV4ev1jnqAe DkOI1GICJBojWzNNLtdzJbk72VPDocS8mZM4NvWcGyhGcweTNXomuQmFUQFlfT43c0 /w0z3pfb7PXUmeh7x1N/45I4CovCZPtNAs9XrQy0= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, =?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= , Suwan Kim , Shuah Khan Subject: [PATCH 4.14 144/161] usbip: Fix receive error in vhci-hcd when using scatter-gather Date: Sun, 29 Dec 2019 18:19:52 +0100 Message-Id: <20191229162443.660356054@linuxfoundation.org> X-Mailer: git-send-email 2.24.1 In-Reply-To: <20191229162355.500086350@linuxfoundation.org> References: <20191229162355.500086350@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Suwan Kim commit d986294ee55d719562b20aabe15a39bf8f863415 upstream. When vhci uses SG and receives data whose size is smaller than SG buffer size, it tries to receive more data even if it acutally receives all the data from the server. If then, it erroneously adds error event and triggers connection shutdown. vhci-hcd should check if it received all the data even if there are more SG entries left. So, check if it receivces all the data from the server in for_each_sg() loop. Fixes: ea44d190764b ("usbip: Implement SG support to vhci-hcd and stub driver") Reported-by: Marek Marczykowski-Górecki Tested-by: Marek Marczykowski-Górecki Signed-off-by: Suwan Kim Acked-by: Shuah Khan Cc: stable Link: https://lore.kernel.org/r/20191213023055.19933-2-suwan.kim027@gmail.com Signed-off-by: Greg Kroah-Hartman --- drivers/usb/usbip/usbip_common.c | 3 +++ 1 file changed, 3 insertions(+) --- a/drivers/usb/usbip/usbip_common.c +++ b/drivers/usb/usbip/usbip_common.c @@ -742,6 +742,9 @@ int usbip_recv_xbuff(struct usbip_device copy -= recv; ret += recv; + + if (!copy) + break; } if (ret != size)