From mboxrd@z Thu Jan 1 00:00:00 1970 From: Dan Carpenter Date: Wed, 30 Oct 2013 16:39:33 +0000 Subject: Re: [patch] i2c-scmi: remove some bogus NULL checks Message-Id: <20131030163933.GH26669@mwanda> List-Id: References: <20131019084622.GA9312@longonot.mountain> <20131030160257.GF3663@katana> In-Reply-To: <20131030160257.GF3663@katana> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: Wolfram Sang Cc: Jiang Liu , Toshi Kani , "Rafael J. Wysocki" , Yinghai Lu , linux-i2c@vger.kernel.org, kernel-janitors@vger.kernel.org On Wed, Oct 30, 2013 at 05:02:58PM +0100, Wolfram Sang wrote: > > --- a/drivers/i2c/busses/i2c-scmi.c > > +++ b/drivers/i2c/busses/i2c-scmi.c > > @@ -223,7 +223,7 @@ acpi_smbus_cmi_access(struct i2c_adapter *adap, u16 addr, unsigned short flags, > > goto out; > > > > obj = pkg->package.elements + 1; > > - if (obj = NULL || obj->type != ACPI_TYPE_INTEGER) { > > + if (obj->type != ACPI_TYPE_INTEGER) { > > ACPI_ERROR((AE_INFO, "Invalid argument type")); > > result = -EIO; > > goto out; For obj to be 0 then pkg->package.elements must be -1. If we're getting a pointer of -1 then we're already screwed. Also we already used pkg->elements without the "+ 1" so we know that's not -1. The reason for this patch was that some compilers assume pointer math can't overflow and my checker was complaining. We use -fno-strict-overflow in the kernel, but it still seemed worth cleaning. regards, dan carpenter