Received: by 2002:a05:6a10:206:0:0:0:0 with SMTP id 6csp1186175pxj; Sat, 8 May 2021 10:03:05 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxXWDIhBLT6YKNl2WcKUjIAz+1PAktZ/CtHJF5UIuYY2qBfIl5hYoIQcM+EpVsGD9SqFXu1 X-Received: by 2002:a92:8e03:: with SMTP id c3mr15030590ild.167.1620493385769; Sat, 08 May 2021 10:03:05 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1620493385; cv=none; d=google.com; s=arc-20160816; b=XS5pz8+AHutFoIqcthpJtxsnwKRy8r4blrB7LqYjcyx29mU9mzqbui+gW62qFs4exy YCq7Ix9MCPkwhcpOcrpjiN3Mo3sT7lJvefw3br4zgk94WQCxtRYf6l5zDSgLhzBkcJHn 3BNdt9TdXmPzk748ebFkdj7ekX/Ckaq0NAJzglUIV+wDUCs7lPBJvgJfrKnWwKyHnqDH b8IxswBw13gzSOEkhYyS7+OzqeYrJQIdxp+JSfPyJfaFEFVphlTyE7YHh2nKJwxkPTjI ATdcn3WPP8DqWXu0R70EJmatdgFWwqGbQobhGhhd18edkQ2nugyNXXD49kdDft1Flg07 MPbg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:date:cc:to:from:subject :message-id; bh=ackA7HjLlUxz2HUYFyY7PAfOpwrofWc1W7YOhSmZLKA=; b=uC3I8sekvxA+rsV8ZzpYABlKCPBYT9EHkZlGImQ6wfbod1RSqgsU16NSu0pR4tYjvR 0OjftZ52nwAUJ1LU2KPsO/dgUEHqmLe5uoMbEXAiVbst9018a0F8PqlfOANfiPRIsrDE CYbdAfdrNbfOsULLqYLICk7iIVxo8eCwQ5rM5gZSvHSHggbGcNpZyIBW7RM6wk8A7duI /7r8c2rEG2GMTqisP7fvgTJPrxn/H3jD6cdltB3JrAmUZducxi6j9GGjaQj4UDd6Ecp1 0aP9hbJkH3D3o6zUVBzYI36UtiaNozP1lnKULTRvWC5CFB1ms1kRq9mWLvxOyGAV1q2V M6zA== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id b9si10202141jah.5.2021.05.08.10.02.53; Sat, 08 May 2021 10:03:05 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229634AbhEHRCT (ORCPT + 99 others); Sat, 8 May 2021 13:02:19 -0400 Received: from smtprelay0127.hostedemail.com ([216.40.44.127]:50022 "EHLO smtprelay.hostedemail.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S229552AbhEHRCT (ORCPT ); Sat, 8 May 2021 13:02:19 -0400 Received: from omf19.hostedemail.com (clb03-v110.bra.tucows.net [216.40.38.60]) by smtprelay03.hostedemail.com (Postfix) with ESMTP id C92D2837F24A; Sat, 8 May 2021 17:01:16 +0000 (UTC) Received: from [HIDDEN] (Authenticated sender: joe@perches.com) by omf19.hostedemail.com (Postfix) with ESMTPA id 442CA20D758; Sat, 8 May 2021 17:01:15 +0000 (UTC) Message-ID: <1eb0428d352be2498739de71eb65746309c90f4c.camel@perches.com> Subject: Re: [PATCH] iio: tsl2583: Fix division by a zero lux_val From: Joe Perches To: Jonathan Cameron , Colin King Cc: Lars-Peter Clausen , Nathan Chancellor , Nick Desaulniers , Jon Brenner , linux-iio@vger.kernel.org, clang-built-linux@googlegroups.com, kernel-janitors@vger.kernel.org, linux-kernel@vger.kernel.org Date: Sat, 08 May 2021 10:01:14 -0700 In-Reply-To: <20210508171258.2ef71a70@jic23-huawei> References: <20210507183041.115864-1-colin.king@canonical.com> <20210508171258.2ef71a70@jic23-huawei> Content-Type: text/plain; charset="ISO-8859-1" User-Agent: Evolution 3.38.1-1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-2.90 X-Rspamd-Server: rspamout03 X-Rspamd-Queue-Id: 442CA20D758 X-Stat-Signature: wnkp43btcie7ymskkaw68ca5r135z3t9 X-Session-Marker: 6A6F6540706572636865732E636F6D X-Session-ID: U2FsdGVkX1+/qTRbq/tfWb64s6ZzCDbmjtWe8vVdDaM= X-HE-Tag: 1620493275-211571 Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Sat, 2021-05-08 at 17:12 +0100, Jonathan Cameron wrote: > On Fri, 7 May 2021 19:30:41 +0100 Colin King wrote: [] > > The lux_val returned from tsl2583_get_lux can potentially be zero, > > so check for this to avoid a division by zero and an overflowed > > gain_trim_val. [] > > Fixes: ac4f6eee8fe8 ("staging: iio: TAOS tsl258x: Device driver") > > Signed-off-by: Colin Ian King > Definitely looks like it could happen so applied to the fixes-togreg branch of > iio.git and marked for stable. [] > > diff --git a/drivers/iio/light/tsl2583.c b/drivers/iio/light/tsl2583.c [] > > @@ -341,6 +341,14 @@ static int tsl2583_als_calibrate(struct iio_dev *indio_dev) > > ? return lux_val; > > ? } > > > > + /* Avoid division by zero of lux_value later on */ > > + if (lux_val == 0) { > > + dev_err(&chip->client->dev, > > + "%s: lux_val of 0 will produce out of range trim_value\n", > > + __func__); > > + return -ENODATA; > > + } > > + > > ? gain_trim_val = (unsigned int)(((chip->als_settings.als_cal_target) > > ? * chip->als_settings.als_gain_trim) / lux_val); Is a multiplication overflow possible here? There are also unnecessary parentheses.