Received: by 2002:a25:31c3:0:0:0:0:0 with SMTP id x186csp6541857ybx; Mon, 11 Nov 2019 10:39:01 -0800 (PST) X-Google-Smtp-Source: APXvYqxop0Tcl0jQM+SaaVO/yflUW53ZejrMqtPOFwxHXNjHEvicy7R9mL0270U4ISJnxxf4Rbys X-Received: by 2002:a17:906:48b:: with SMTP id f11mr24031962eja.225.1573497541773; Mon, 11 Nov 2019 10:39:01 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1573497541; cv=none; d=google.com; s=arc-20160816; b=jD9243/yp36TzZA+wFTEnvsYa8TFQK497wa35CRlrBK0V/DLZw7JgWRNdn2oyQ50Ww f3vX5JJX5l2myDUk7eu/J2/HWcGJes4H9b8zrR6wQlBuFTceejLP8S+HtMNK3QKze6D5 VyvL5Kx/zjQupgVw9YzXK4W41MWYq8Mt41IIZWSPyD4Kf/tUx+Vu6v+Nxm5nsNyrMF8F HLTkDFyE88ikkPwW8E1zkxwVsm0wpCWh24Zsm+1DaRrsMgU1mNRN2h7mM55qdk98r1sU oeBNQvQ/EulsqmOROPVBrFEC9XMzvi+qdTfKRR+cM/viJQ3m4H2zLZoCaLa1Fp+7qnyj TQIg== 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=tdCAlQeki4AiqT8ucK1VgsL4YWKKWTCIlWCI3mkslrs=; b=u+gLCwY7pPCAsHK0rqjiuTSmV7juI2a4QBnA5ja/qGJYL3pjAfqzYbhHy+A4USEq4u yGLgBfFx+PQzSWwFJZhUh9JUYBcsD524DgX7gPK+b75p8rvSWNGrSJU/jPx6OGdQ6WlQ MK5XnSpNkH9O3yxzdFNEGKCGK2iOJrDICfl2z1TCsH6mKe5u5xedjGi7Same79Cjpm6/ 6qaBFu3SVax3UzxyCF8SaFz23pEGqV6KBbxAHsTmBAiMnRjTnxkwOtRhPc3tQiBjmboo YfIKUB2jywK65QCD8MAMdzsL10TjwyzY6OdC5WgVs5X7cLNvBSSvKVx2A7QFQBhw5vwP bzkA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=ZIkOyYwe; 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 bi17si12683022edb.430.2019.11.11.10.38.37; Mon, 11 Nov 2019 10:39:01 -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=ZIkOyYwe; 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 S1727031AbfKKSen (ORCPT + 99 others); Mon, 11 Nov 2019 13:34:43 -0500 Received: from mail.kernel.org ([198.145.29.99]:52394 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728394AbfKKSel (ORCPT ); Mon, 11 Nov 2019 13:34:41 -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 60E062184C; Mon, 11 Nov 2019 18:34:40 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1573497280; bh=u2WiRRQuim1fNDHS1TtGI7F5skQJaI+p4MRwZPmLl5E=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=ZIkOyYweziXWGOGFn1HMbrfTfeooCgcIFsbutxb8/6k+wIYzI7CJVJ7XloYXf8KCb rjynH1o3sWHocup5xIEeR0S1d2BMKHQFcvgwt9OQIxDT8LwqwsQbRfbgIvaVWjtP2m dWyR2j6b4/rx89yYokAvGsz4jtnD+03qzgb4+kBo= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Alan Stern , Sasha Levin Subject: [PATCH 4.9 51/65] USB: Skip endpoints with 0 maxpacket length Date: Mon, 11 Nov 2019 19:28:51 +0100 Message-Id: <20191111181351.189411366@linuxfoundation.org> X-Mailer: git-send-email 2.24.0 In-Reply-To: <20191111181331.917659011@linuxfoundation.org> References: <20191111181331.917659011@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 94ec2dc27748e..e8061b02b7e3b 100644 --- a/drivers/usb/core/config.c +++ b/drivers/usb/core/config.c @@ -343,6 +343,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