Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S934984AbbGHILm (ORCPT ); Wed, 8 Jul 2015 04:11:42 -0400 Received: from mail.linuxfoundation.org ([140.211.169.12]:43165 "EHLO mail.linuxfoundation.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S933849AbbGHHgG (ORCPT ); Wed, 8 Jul 2015 03:36:06 -0400 From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Rui Miguel Silva , Felipe Balbi Subject: [PATCH 4.0 27/55] usb: gadget: f_fs: fix check in read operation Date: Wed, 8 Jul 2015 00:35:02 -0700 Message-Id: <20150708073240.481672158@linuxfoundation.org> X-Mailer: git-send-email 2.4.5 In-Reply-To: <20150708073238.785749886@linuxfoundation.org> References: <20150708073238.785749886@linuxfoundation.org> User-Agent: quilt/0.64 MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-15 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1295 Lines: 40 4.0-stable review patch. If anyone has any objections, please let me know. ------------------ From: Rui Miguel Silva commit 342f39a6c8d34d638a87b7d5f2156adc4db2585c upstream. when copying to iter the size can be different then the iov count, the check for full iov is wrong and make any read on request which is not the exactly size of iov to return -EFAULT. So, just check the success of the copy. Signed-off-by: Rui Miguel Silva Signed-off-by: Felipe Balbi Signed-off-by: Greg Kroah-Hartman --- drivers/usb/gadget/function/f_fs.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) --- a/drivers/usb/gadget/function/f_fs.c +++ b/drivers/usb/gadget/function/f_fs.c @@ -845,7 +845,7 @@ static ssize_t ffs_epfile_io(struct file ret = ep->status; if (io_data->read && ret > 0) { ret = copy_to_iter(data, ret, &io_data->data); - if (unlikely(iov_iter_count(&io_data->data))) + if (!ret) ret = -EFAULT; } } -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/