Received: by 2002:a05:6358:45e:b0:b5:b6eb:e1f9 with SMTP id 30csp235505rwe; Tue, 23 Aug 2022 23:15:02 -0700 (PDT) X-Google-Smtp-Source: AA6agR7fA96UiDrdp7pgxKHb7lz3Biy6GbBC++Y+P03AI3LXUmNb+/DKJPrVz7pfF13HXZmAw/61 X-Received: by 2002:a63:2208:0:b0:429:9444:85be with SMTP id i8-20020a632208000000b00429944485bemr23178460pgi.236.1661321702390; Tue, 23 Aug 2022 23:15:02 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1661321702; cv=none; d=google.com; s=arc-20160816; b=zWZNCVDp14fTlbRRhk+1YSDBwzxnSY4sWC7/Y4Ij3z5PMgtq3YVDa6kWSdZl9lY6Ld YiM1PFkCRJWMpnnBPKZmzMcOtKa+efq2h3+lDrJ9jn2GOpXaqhYlJ6ktNIWfGySS/x+C BokccWAc1LoMNBCsuhl7bLqqcx8iNwW4cRVFcS4YhpltGiHrx2j8SnMOpmndmFnPclzO W8GPOwKhJt/6YmvrcenozLcsQ7wsGLfLsn3MxQxwGlGmX5wPSDEvBf9yVU7tx5/YKc// v8NG8K2cgVUdRE1+jS9boA0/Sq8FZesQRjyenSzhQcIEe80T5YeFf1x7/KagCj+Vw5v9 b0tg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:in-reply-to:content-disposition:mime-version :references:message-id:subject:cc:to:from:date:dkim-signature; bh=u3lPmSeGMUruawDWM8N9mXy80Jj9Vt8ltIusi14K6tk=; b=Sw1HM3m72rMJm/QWAEwMw8lON8Q8dWV8aobpPhBsK1MeZSNFvQvUdaBGXHODYzinz/ KmIWlb4aMY4lEi9ILGwImELh/gbnB6iXLL2M/B9ZUl018mFzcYtxQ7ifqxKbFE4tnAMm hzwRxHvsaynfv5SgQdR0ZoJ4VybeUYAtvS3gtth5i5Ff93xuCRnfYHLrclTCEChEoDno xmrkte/7AD48lICCPqZOHfIVge7QITD4eyDbQ89+y/1Y/7/ODYCeT7vgX4LTGKqNbiXV fwAl7kRD3jKblWCK2zcZdb9C/H6U9V0fEhCUFhzgKtscycZ7uJO3walFydkuI6q2bOVD kBEA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=zU3ILmUf; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id u6-20020a170902e5c600b0016cf48bd5cfsi18357726plf.78.2022.08.23.23.14.50; Tue, 23 Aug 2022 23:15:02 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=zU3ILmUf; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S234554AbiHXF4L (ORCPT + 99 others); Wed, 24 Aug 2022 01:56:11 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:55956 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229551AbiHXF4J (ORCPT ); Wed, 24 Aug 2022 01:56:09 -0400 Received: from dfw.source.kernel.org (dfw.source.kernel.org [IPv6:2604:1380:4641:c500::1]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 0CCCC86C2C; Tue, 23 Aug 2022 22:56:09 -0700 (PDT) Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by dfw.source.kernel.org (Postfix) with ESMTPS id 9D33C618A9; Wed, 24 Aug 2022 05:56:08 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 8A9A4C433D6; Wed, 24 Aug 2022 05:56:07 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org; s=korg; t=1661320568; bh=/lQK6eSyHFmPY9FHfehXTuLBTlCtNaOLxFlDwPC1f/4=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=zU3ILmUfSavbZXEmKsGu1fAYoww8AzQBdd3YPcnxApAGDxwTBCxdrIxAonCW6Hz5Z f9/C+zA/dIP1ip6oHBmKb0AgMm4uvnH0TonlVfIcZwYTSQI3ybgaKjm/bk1dV3yEm1 lioqgCBJIpZuHvmqsTx7M1OVFG+pDfxJZZi+Cyp4= Date: Wed, 24 Aug 2022 07:56:04 +0200 From: Greg Kroah-Hartman To: Khalid Masum Cc: Alan Stern , linux-usb@vger.kernel.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH 2/2] usb: ehci: Prevent possible modulo by zero Message-ID: References: <20220823182758.13401-1-khalid.masum.92@gmail.com> <20220823182758.13401-3-khalid.masum.92@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20220823182758.13401-3-khalid.masum.92@gmail.com> X-Spam-Status: No, score=-7.1 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_HI, SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE,URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Wed, Aug 24, 2022 at 12:27:58AM +0600, Khalid Masum wrote: > usb_maxpacket() returns 0 if it fails to fetch the endpoint. This > value is later used for calculating modulo. Which can cause modulo > by zero in qtd_fill. > > Prevent this breakage by returning if maxpacket is found to be 0. > > Fixes coverity warning: 1487371 ("Division or modulo by zero") Odd tag format, is that in the documentation? > Fixes: 9841f37a1cca ("usb: ehci: Add support for SINGLE_STEP_SET_FEATURE test of EHSET") > Signed-off-by: Khalid Masum > --- > drivers/usb/host/ehci-q.c | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/drivers/usb/host/ehci-q.c b/drivers/usb/host/ehci-q.c > index eb31d13e9ecd..cf2585e9a09f 100644 > --- a/drivers/usb/host/ehci-q.c > +++ b/drivers/usb/host/ehci-q.c > @@ -1221,6 +1221,8 @@ static int ehci_submit_single_step_set_feature( > token |= (1 /* "in" */ << 8); /*This is IN stage*/ > > maxpacket = usb_maxpacket(urb->dev, urb->pipe); > + if (unlikely(!maxpacket)) You only ever use likely/unlikely if you can document how it matters with a benchmark or other way to notice the difference. Otherwise let the compiler and the CPU do their magic, they know how to do this better than us. > + return -1; A real error number should be returned here if this was valid. But as Alan said, coverity is often wrong, and unless you can prove otherwise, this patch isn't valid. thanks, greg k-h