[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20161014003429.GD24167@remoulade>
Date: Fri, 14 Oct 2016 01:34:29 +0100
From: Mark Rutland <mark.rutland@....com>
To: Al Viro <viro@...IV.linux.org.uk>
Cc: Tai Nguyen <ttnguyen@....com>, will.deacon@....com,
linux-kernel@...r.kernel.org, dan.carpenter@...cle.com,
linux-arm-kernel@...ts.infradead.org
Subject: Re: [PATCH v2] perf: xgene: Remove bogus IS_ERR() check
On Thu, Oct 13, 2016 at 07:18:37PM +0100, Al Viro wrote:
> On Thu, Oct 13, 2016 at 11:09:16AM -0700, Tai Nguyen wrote:
> > In acpi_get_pmu_hw_inf we pass the address of a local variable to IS_ERR(),
> > which doesn't make sense, as the pointer must be a real, valid pointer.
> > This doesn't cause a functional problem, as IS_ERR() will evaluate as
> > false, but the check is bogus and causes static checkers to complain.
>
> ... unless the test is actually a misspelled IS_ERR(res) and the current
> code is broken by effectively skipping it.
Sure.
In this case, res is a struct resource, so IS_ERR(res) is also bogus.
None of the pointer fields in struct resource are ever set to an ERR_PTR value,
so nothing in res is worth checking. Nothing else in the function prior to this
would be an ERR_PTR value either.
I believe this case was copy-paste and a thinko. There's some other error
handling in the file that does validly have to handle an ERR_PTR value.
Thanks,
Mark.
Powered by blists - more mailing lists