Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1756548AbcJNApC (ORCPT ); Thu, 13 Oct 2016 20:45:02 -0400 Received: from foss.arm.com ([217.140.101.70]:57948 "EHLO foss.arm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752973AbcJNAoy (ORCPT ); Thu, 13 Oct 2016 20:44:54 -0400 Date: Fri, 14 Oct 2016 01:34:29 +0100 From: Mark Rutland To: Al Viro Cc: Tai Nguyen , will.deacon@arm.com, linux-kernel@vger.kernel.org, dan.carpenter@oracle.com, linux-arm-kernel@lists.infradead.org Subject: Re: [PATCH v2] perf: xgene: Remove bogus IS_ERR() check Message-ID: <20161014003429.GD24167@remoulade> References: <1476382156-11641-1-git-send-email-ttnguyen@apm.com> <20161013181837.GQ19539@ZenIV.linux.org.uk> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20161013181837.GQ19539@ZenIV.linux.org.uk> User-Agent: Mutt/1.5.24 (2015-08-30) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 981 Lines: 23 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.