From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-8.6 required=3.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY, SPF_HELO_NONE,SPF_PASS,USER_AGENT_SANE_1 autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 79284ECE58C for ; Fri, 11 Oct 2019 14:08:26 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 4FEC621A4A for ; Fri, 11 Oct 2019 14:08:26 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1570802906; bh=oWgiyjjcUoOte9UYLTep7z8hUazu3ANDIBmoKS/Spnk=; h=Date:From:To:Cc:Subject:References:In-Reply-To:List-ID:From; b=uJgNGo8t7Ebv+8AXVG0K+mLrHtbrJFvwjXsGDuFsEmHDzs8emcMVRdTHx/KYg8Gy1 9iqCbk/QJJKwbJ5N8KVe2d9nC6Vd+7xhptA5ep18/f+Azmzp5uys+UmgLZQuccSK9q x1ZQoKlVFu+nDGDvbsjnfWcTGVqBtFlHelf2VkLQ= Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728195AbfJKOIZ (ORCPT ); Fri, 11 Oct 2019 10:08:25 -0400 Received: from mail-lj1-f194.google.com ([209.85.208.194]:33758 "EHLO mail-lj1-f194.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728068AbfJKOIZ (ORCPT ); Fri, 11 Oct 2019 10:08:25 -0400 Received: by mail-lj1-f194.google.com with SMTP id a22so10006464ljd.0; Fri, 11 Oct 2019 07:08:22 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:in-reply-to:user-agent; bh=kq69ey+m/z5tqfV/9IOKfxX5Rfcxt+ZNgiO1EUz+ow8=; b=bE6JQ9FDGbX4JfXPKcJcm9LPO/a0MlHLlqZYmYDgcUaCRWqAnDVo7vNB91FMEZhoTd A2pWp79rBtnJ8f4Tw/DaU3zUVUf0fXp6hZuyVBjWfhOH4q3guYZPrsPRvbuMN//9SDTj BUeccl4PZy1HwlGJr26TuWPR2jn3eUXphjC5DQYodMxwUbTnK+38+Jvm5ff6ebqT4pRR 7zy91eaIVYgoOukq7v1Rg9I6aQfpwJRNj8qtTOmTEpgU7S5t93iLi6vEqFUwU5RcpLNP zSFbT8o9szZsUTsyDACuu47N6rfglU1zji0921jPL+S0qnm44TgMHpbj3EWbs4imJAcc ufhg== X-Gm-Message-State: APjAAAXnKw56sYnTJAYbBrpwxdjGDRIowVMhFTX2XKH41gC2s5zO43M4 PPLik/XtnnbLyvT8TJfpk54= X-Google-Smtp-Source: APXvYqze3lQWca18LwMM/zYo2hgKC1VfqkFxWyXmDo3h78mUHJsFxxdWHAperjG4kzVSi4kBh8belg== X-Received: by 2002:a2e:9707:: with SMTP id r7mr5946539lji.219.1570802900984; Fri, 11 Oct 2019 07:08:20 -0700 (PDT) Received: from xi.terra (c-51f1e055.07-184-6d6c6d4.bbcust.telenor.se. [85.224.241.81]) by smtp.gmail.com with ESMTPSA id n3sm2001976lfl.62.2019.10.11.07.08.19 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 11 Oct 2019 07:08:20 -0700 (PDT) Received: from johan by xi.terra with local (Exim 4.92.2) (envelope-from ) id 1iIvap-0000x9-Kb; Fri, 11 Oct 2019 16:08:31 +0200 Date: Fri, 11 Oct 2019 16:08:31 +0200 From: Johan Hovold To: Dan Carpenter Cc: walter harms , Juergen Stuber , Johan Hovold , Greg Kroah-Hartman , legousb-devel@lists.sourceforge.net, linux-usb@vger.kernel.org, kernel-janitors@vger.kernel.org Subject: Re: [PATCH] USB: legousbtower: fix a signedness bug in tower_probe() Message-ID: <20191011140831.GJ13531@localhost> References: <20191011133525.GB22905@mwanda> <5DA088DE.5040902@bfs.de> <20191011135855.GE4774@kadam> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20191011135855.GE4774@kadam> User-Agent: Mutt/1.12.1 (2019-06-15) Sender: linux-usb-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-usb@vger.kernel.org On Fri, Oct 11, 2019 at 04:58:56PM +0300, Dan Carpenter wrote: > On Fri, Oct 11, 2019 at 03:51:26PM +0200, walter harms wrote: > > > > > > Am 11.10.2019 15:35, schrieb Dan Carpenter: > > > The problem is that sizeof() is unsigned long so negative error codes > > > are type promoted to high positive values and the condition becomes > > > false. > > > > > > Fixes: 1d427be4a39d ("USB: legousbtower: fix slab info leak at probe") > > > Signed-off-by: Dan Carpenter > > > --- > > > drivers/usb/misc/legousbtower.c | 2 +- > > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > > > diff --git a/drivers/usb/misc/legousbtower.c b/drivers/usb/misc/legousbtower.c > > > index 9d4c52a7ebe0..835908fe1e65 100644 > > > --- a/drivers/usb/misc/legousbtower.c > > > +++ b/drivers/usb/misc/legousbtower.c > > > @@ -881,7 +881,7 @@ static int tower_probe (struct usb_interface *interface, const struct usb_device > > > get_version_reply, > > > sizeof(*get_version_reply), > > > 1000); > > > - if (result < sizeof(*get_version_reply)) { > > > + if (result < 0 || result < sizeof(*get_version_reply)) { > > > if (result >= 0) > > > result = -EIO; > > > dev_err(idev, "get version request failed: %d\n", result); > > > > i am not an USB expert but it seems that this is a complicated way > > to check for result != sizeof(*get_version_reply). > > Yeah. You're right. That would look nicer. I will resend. Your version, or adding an explicit cast to int, may be preferred as they document that there's something to watch out for here. Either way you have my ack. Johan