Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752559AbdGISKN (ORCPT ); Sun, 9 Jul 2017 14:10:13 -0400 Received: from mail.kernel.org ([198.145.29.99]:52670 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752317AbdGISKM (ORCPT ); Sun, 9 Jul 2017 14:10:12 -0400 DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org CC6C322B4F Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=kernel.org Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=jic23@kernel.org Date: Sun, 9 Jul 2017 19:10:07 +0100 From: Jonathan Cameron To: "Gustavo A. R. Silva" Cc: Hartmut Knaack , Lars-Peter Clausen , Peter Meerwald-Stadler , Heiko Stuebner , linux-iio@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-rockchip@lists.infradead.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH] iio: adc: rockchip_saradc: add NULL check on of_match_device() return value Message-ID: <20170709191007.5d79c950@kernel.org> In-Reply-To: <20170707065131.GA23382@embeddedgus> References: <20170707065131.GA23382@embeddedgus> X-Mailer: Claws Mail 3.15.0-dirty (GTK+ 2.24.31; x86_64-unknown-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1019 Lines: 34 On Fri, 7 Jul 2017 01:51:31 -0500 "Gustavo A. R. Silva" wrote: > Check return value from call to of_match_device() > in order to prevent a NULL pointer dereference. > > In case of NULL print error message and return -ENODEV > > Signed-off-by: Gustavo A. R. Silva Applied. Thanks, Jonathan > --- > drivers/iio/adc/rockchip_saradc.c | 5 +++++ > 1 file changed, 5 insertions(+) > > diff --git a/drivers/iio/adc/rockchip_saradc.c b/drivers/iio/adc/rockchip_saradc.c > index ae6d332..2bf2ed1 100644 > --- a/drivers/iio/adc/rockchip_saradc.c > +++ b/drivers/iio/adc/rockchip_saradc.c > @@ -224,6 +224,11 @@ static int rockchip_saradc_probe(struct platform_device *pdev) > info = iio_priv(indio_dev); > > match = of_match_device(rockchip_saradc_match, &pdev->dev); > + if (!match) { > + dev_err(&pdev->dev, "failed to match device\n"); > + return -ENODEV; > + } > + > info->data = match->data; > > mem = platform_get_resource(pdev, IORESOURCE_MEM, 0);