Received: by 2002:a25:31c3:0:0:0:0:0 with SMTP id x186csp6558602ybx; Mon, 11 Nov 2019 10:56:36 -0800 (PST) X-Google-Smtp-Source: APXvYqw3tACgN0T5xSV3IABMSRP6uUkpftScx1GQSeBGUiNRotmPpwcM0+Fx+MXl0xIneUlUoBjB X-Received: by 2002:a17:906:278a:: with SMTP id j10mr24540150ejc.125.1573498596497; Mon, 11 Nov 2019 10:56:36 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1573498596; cv=none; d=google.com; s=arc-20160816; b=fBvUWHcpzyl8yRkrpy2DqGZVKDg1r2tMsQQPbxa6c68IZkELq1VIEcroVYYylLpMXS te7f07NXGLrGWE3SQ/bRbtJ/ye09uF8NU1JmkXkJVBXyh6QUwXQFf8FrLh0Ci+WQIx1n xnEoSQEoeBO2IC/cMCULkwZmcufB4deDwZV2PonNMddhmMO735q1uWjAGPv1FzHKzpA3 OU5UYFErIgny7L6gLC9tS9PpQ0gPfn5OebuIJ/ku0pLoFe/2F1uy7I1iQKlli8ClahI4 x27fsEnykUzGgU2BMaXafPGNPVW2RJGmYwYLmqPIxj/s0NlQijCvrnt8YiKZc5rsecKW Jmqw== 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=FbiQEM4B2c5zWDwVtA8T5/Xf7vnVqu0xXsGafv4AxRo=; b=BhK/EkMjdQpc1fc1/Ur0JxrseWOwXz211DiEeyJIKIOVvueQmVXpcj3ZBGfugxFwpy JWjG0VMXr6IoTtYWvJx4HYs4InpZkFXm4FGOyV8v9iieDZHsyjbV2thKuQbcJMltDZEt n278QTFfuBvtEo1XsEtR8d2XFnBczVAR7I1E9POxg/19Ft5IYRDWIfyKCvog6VaFPPI/ w34TFeX5EKIxEfw1EHCOJdM6qJPUqL0lp2EA3nonLACMNyseWHM+ZxUISbTJ/VnwgIEf d08pe/V4GBmaNDq/CWimTNJ0fKF7KIUMsjRRI6jou8eE7Uob4faZ2+f8jL7+hydJXUGq QYrA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=pB8BaPdC; 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 d10si10276095edp.264.2019.11.11.10.56.12; Mon, 11 Nov 2019 10:56:36 -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=pB8BaPdC; 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 S1730392AbfKKSzm (ORCPT + 99 others); Mon, 11 Nov 2019 13:55:42 -0500 Received: from mail.kernel.org ([198.145.29.99]:52978 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1730641AbfKKSzh (ORCPT ); Mon, 11 Nov 2019 13:55:37 -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 1AE212184C; Mon, 11 Nov 2019 18:55:35 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1573498537; bh=7NrS/hL5NX8zlISrzUN09b/2lxLSRWe1jW1GOETick4=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=pB8BaPdCbIeWBAo/dwI7iHm/MmdxleWqUBn8hbkRjH3s/ETQOViwK5rzqlBKY7yiI 9GfmFrrfqIsJ+zTBySmrxpc75hmmj6sJtWUmgsxTBEkC37pJ+WUc1sMWAbO8lunvGe iPxzXBX/XNew3FnLxCh2//6jQIgYkSlrWXAT5WmM= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Alan Stern , Sasha Levin Subject: [PATCH 5.3 147/193] USB: Skip endpoints with 0 maxpacket length Date: Mon, 11 Nov 2019 19:28:49 +0100 Message-Id: <20191111181511.991893209@linuxfoundation.org> X-Mailer: git-send-email 2.24.0 In-Reply-To: <20191111181459.850623879@linuxfoundation.org> References: <20191111181459.850623879@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: Alan Stern [ Upstream commit d482c7bb0541d19dea8bff437a9f3c5563b5b2d2 ] Endpoints with a maxpacket length of 0 are probably useless. They can't transfer any data, and it's not at all unlikely that an HCD will crash or hang when trying to handle an URB for such an endpoint. Currently the USB core does not check for endpoints having a maxpacket value of 0. This patch adds a check, printing a warning and skipping over any endpoints it catches. Now, the USB spec does not rule out endpoints having maxpacket = 0. But since they wouldn't have any practical use, there doesn't seem to be any good reason for us to accept them. Signed-off-by: Alan Stern Link: https://lore.kernel.org/r/Pine.LNX.4.44L0.1910281050420.1485-100000@iolanthe.rowland.org Signed-off-by: Greg Kroah-Hartman Signed-off-by: Sasha Levin --- drivers/usb/core/config.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/drivers/usb/core/config.c b/drivers/usb/core/config.c index 151a74a543862..1ac1095bfeac8 100644 --- a/drivers/usb/core/config.c +++ b/drivers/usb/core/config.c @@ -348,6 +348,11 @@ static int usb_parse_endpoint(struct device *ddev, int cfgno, int inum, /* Validate the wMaxPacketSize field */ maxp = usb_endpoint_maxp(&endpoint->desc); + if (maxp == 0) { + dev_warn(ddev, "config %d interface %d altsetting %d endpoint 0x%X has wMaxPacketSize 0, skipping\n", + cfgno, inum, asnum, d->bEndpointAddress); + goto skip_to_next_endpoint_or_interface_descriptor; + } /* Find the highest legal maxpacket size for this endpoint */ i = 0; /* additional transactions per microframe */ -- 2.20.1