Received: by 2002:a25:8b91:0:0:0:0:0 with SMTP id j17csp13338277ybl; Sun, 29 Dec 2019 09:36:51 -0800 (PST) X-Google-Smtp-Source: APXvYqzdJn0eSIQzzsgBad6OnHLokgwdInuLbUlNBz3Q1TFhior9qYSBo1zWTx89Z7MYL4kYiA/E X-Received: by 2002:a9d:7b4a:: with SMTP id f10mr72950278oto.4.1577641011914; Sun, 29 Dec 2019 09:36:51 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1577641011; cv=none; d=google.com; s=arc-20160816; b=BowMAseuZBvDiIbaSntgsaFktV//FCGY5YvAGjcT89VNqiulS8JyaigWSws+i4mGrX LqMWtWqHT1JBrkHqKu5ttLwMO6IHmXPEGQFjCz3I613Ma4Y/C2F/6iiWoweKuxLE/rBi 32sytEd/vHd/3Za2GwTxCFM3TxCeSxkcLW9t7H+gB+vekckM0/PfZqkmoSGBpxdmgH9l q5tBH5yYPuppYgi23vpSRZ15arn1Ct2tO999kq2MP6US0LgJ6nAMBbRXm5yt5HcUg7C0 f+7BrtJkkz66V5wQkpg6E9cwMdP0jBJw9bD3TSu5OlFHX+74Pg81Zf3ZB1mBvyWPo3Ig UO1Q== 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=EfRxNx8BlU0/82CWBAyXYe3K4s8wP1nm2ied0kmjp4Q=; b=w+rTSerxW06HedZ6mErSf7dV2YSQpKJP/1WRvwv1493uY9+wekLKADqAaW+aSTm24+ j6LdBMT50LmorPmyKeG2jU45RRkPiuex+XU2XoWyIx73B0i1imDmEyp0MD0FhkNjPzln 6aGlXpuRBeCkCI4vKKkd9dYapO2KuLYt7wGaYh3sv81rUCIFlhdF9vcvPRDiWkgaQS3W 2jrqEpvcjtp5rZVye27g38+xG1dkUXiWX0WzWFs+rHI7Xe6t81CbyaFk6Ntj5DMVX0HV dyjrhU47OAHR29J/ijgJYu8AVkevvx3kYP1nk5teL0erP61OSzqleSpSZPniJuDS4dLf ffJQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b="e/UBDAAb"; 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 z1si22072933otp.70.2019.12.29.09.36.40; Sun, 29 Dec 2019 09:36:51 -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="e/UBDAAb"; 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 S1729891AbfL2Rfc (ORCPT + 99 others); Sun, 29 Dec 2019 12:35:32 -0500 Received: from mail.kernel.org ([198.145.29.99]:39890 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1729877AbfL2Rfa (ORCPT ); Sun, 29 Dec 2019 12:35:30 -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 0ADBB207FD; Sun, 29 Dec 2019 17:35:28 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1577640929; bh=9+QBl7TrOgrI8z1wzHDeCsLc+etCg3O/tjMsm2XPdbc=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=e/UBDAAbO0YUIMidBEZlZiOBlwZVehz3jEJbIUxV5fTque99JC9m5x1Lop4u3y/o8 HlbcIlHu3OSyKGb2T8hPJxbseWjRu1RFAz5Jt/PCQ+E+QWvohPb6d8gYolKKddx9/T d5mKUvwxnXWSC45JgW86JGLrqGDZJXtpZ0orL064= 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.19 197/219] usbip: Fix receive error in vhci-hcd when using scatter-gather Date: Sun, 29 Dec 2019 18:19:59 +0100 Message-Id: <20191229162539.623519867@linuxfoundation.org> X-Mailer: git-send-email 2.24.1 In-Reply-To: <20191229162508.458551679@linuxfoundation.org> References: <20191229162508.458551679@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 @@ -727,6 +727,9 @@ int usbip_recv_xbuff(struct usbip_device copy -= recv; ret += recv; + + if (!copy) + break; } if (ret != size)