From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755107AbdA0Q1V (ORCPT ); Fri, 27 Jan 2017 11:27:21 -0500 Received: from shards.monkeyblade.net ([184.105.139.130]:39270 "EHLO shards.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754906AbdA0Q0q (ORCPT ); Fri, 27 Jan 2017 11:26:46 -0500 Date: Fri, 27 Jan 2017 11:26:00 -0500 (EST) Message-Id: <20170127.112600.2185367941561923892.davem@davemloft.net> To: clabbe.montjoie@gmail.com Cc: shailendra.v@samsung.com, nbd@openwrt.org, blogic@openwrt.org, matthias.bgg@gmail.com, netdev@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-mediatek@lists.infradead.org, linux-kernel@vger.kernel.org, p.shailesh@samsung.com, ashish.kalra@samsung.com, shailendra.capricorn@gmail.com Subject: Re: [PATCH] Net: ethernet: mediatek - Fix possible NULL derefrence. From: David Miller In-Reply-To: <20170127124449.GB13611@Red> References: <1485515980-3814-1-git-send-email-shailendra.v@samsung.com> <20170127124449.GB13611@Red> X-Mailer: Mew version 6.7 on Emacs 24.5 / Mule 6.0 (HANACHIRUSATO) Mime-Version: 1.0 Content-Type: Text/Plain; charset=us-ascii Content-Transfer-Encoding: 7bit X-Greylist: Sender succeeded SMTP AUTH, not delayed by milter-greylist-4.5.12 (shards.monkeyblade.net [149.20.54.216]); Fri, 27 Jan 2017 07:26:59 -0800 (PST) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Corentin Labbe Date: Fri, 27 Jan 2017 13:44:49 +0100 > On Fri, Jan 27, 2017 at 04:49:40PM +0530, Shailendra Verma wrote: >> of_match_device could return NULL, and so can cause a NULL >> pointer dereference later. >> >> Signed-off-by: Shailendra Verma >> --- >> drivers/net/ethernet/mediatek/mtk_eth_soc.c | 4 ++++ >> 1 file changed, 4 insertions(+) >> >> diff --git a/drivers/net/ethernet/mediatek/mtk_eth_soc.c b/drivers/net/ethernet/mediatek/mtk_eth_soc.c >> index 4a62ffd..4495b7b 100644 >> --- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c >> +++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.c >> @@ -2369,6 +2369,10 @@ static int mtk_probe(struct platform_device *pdev) >> int i; >> >> match = of_match_device(of_mtk_match, &pdev->dev); >> + if (!match) { >> + dev_err(&pdev->dev, "Error: No device match found\n"); >> + return -ENODEV; >> + } >> soc = (struct mtk_soc_data *)match->data; >> >> eth = devm_kzalloc(&pdev->dev, sizeof(*eth), GFP_KERNEL); >> -- > > Hello > > You could use of_device_get_match_data() and simplifiy code Agreed.