Received: by 2002:a05:6a10:206:0:0:0:0 with SMTP id 6csp979516pxj; Fri, 4 Jun 2021 03:08:40 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwbMqBmqsBxmYWWEcNjtGWVLkiMvf/9/m75Q80ic0YuXkPV6J1ibjumkwduZCawXjfDgMiV X-Received: by 2002:a17:906:fcb5:: with SMTP id qw21mr3375746ejb.57.1622801319832; Fri, 04 Jun 2021 03:08:39 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1622801319; cv=none; d=google.com; s=arc-20160816; b=cp3xE2s9Sa35SSZQi1EchdexiI7Et/nBSemEBsviEt4HTHAjaKtX6IxSgeHDBJLvQ6 wlXOLoi+5Cfx4BX/5KGhg8PDMpczm3p4CGEerGwWi1wnjRvMxDpWh8ZaNLyAjd+aR1C2 /n5SU2L1u7patVtlNxGXKoC/nd5hcGu4aEVGODQGlH6MEKg9uWQSHeTnp1inY+iSwTRY zatxtARQrkYA6BGF30VJxW6K2MHnb/dBcRmZXAYkL84bV0ZPjDL/EWyrMO5msQgSMjaf 8QyWLb9bUSkhWj5YX5UiRhu+6yQNIcT5BDzkbQENXqYMk4UB018ph5slmoFl2S/QTkm1 LS5A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:in-reply-to :mime-version:user-agent:date:message-id:from:references:cc:to :subject; bh=TLpHnYATsLt3Hipnk+JvK5UDrS3Na9+is2IS/Y9hsoY=; b=mMOxgp/yakK6JeIQYn4vLc/hU5069Anxi2nsIKfRD2CSnYI6Nx+UEqOpp37O5QeV2g HfZAAw4WJOj/rvwi0ieRLvOlveght6ityobDko+5TwiUx23a3Z1ktYQd4uxsBQxQDh+S XskvfD8RWTtWKgIQvfqj6GJWKTY3HjKdGf7sYvNNd769slXK2eBJVrXPYraTIDPvWbJ+ KNVNQJNQF2lFKzoRPXaB0bnL7iEJJNKK1e8Cdwl/AF/xHpv+HhR6pWxgAJ7M6IM8njBX MepzBt/pLPkWM/zzYUJzhDib1HMVatMIm23Mnwx4ZSD1Ope0yh7o2WB3GXvxhrMNnGnn mdUg== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=huawei.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id a8si4129317ejc.334.2021.06.04.03.08.16; Fri, 04 Jun 2021 03:08:39 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=huawei.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230128AbhFDKJI (ORCPT + 99 others); Fri, 4 Jun 2021 06:09:08 -0400 Received: from szxga01-in.huawei.com ([45.249.212.187]:3061 "EHLO szxga01-in.huawei.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229667AbhFDKJG (ORCPT ); Fri, 4 Jun 2021 06:09:06 -0400 Received: from dggeml759-chm.china.huawei.com (unknown [172.30.72.53]) by szxga01-in.huawei.com (SkyGuard) with ESMTP id 4FxJGd5fkgzWrPT; Fri, 4 Jun 2021 18:02:33 +0800 (CST) Received: from [10.174.178.165] (10.174.178.165) by dggeml759-chm.china.huawei.com (10.1.199.138) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.2176.2; Fri, 4 Jun 2021 18:07:18 +0800 Subject: Re: [PATCH net-next] net: mscc: ocelot: check return value after calling platform_get_resource() To: Yang Yingliang , "linux-kernel@vger.kernel.org" , "netdev@vger.kernel.org" CC: "vladimir.oltean@nxp.com" , "davem@davemloft.net" , "kuba@kernel.org" References: <20210604093234.3408625-1-yangyingliang@huawei.com> From: "weiyongjun (A)" Message-ID: <3592374c-4dd9-c489-bb5f-bd6ee0f942b6@huawei.com> Date: Fri, 4 Jun 2021 18:07:18 +0800 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:68.0) Gecko/20100101 Thunderbird/68.7.0 MIME-Version: 1.0 In-Reply-To: <20210604093234.3408625-1-yangyingliang@huawei.com> Content-Type: text/plain; charset="gbk"; format=flowed Content-Transfer-Encoding: 7bit X-Originating-IP: [10.174.178.165] X-ClientProxiedBy: dggems701-chm.china.huawei.com (10.3.19.178) To dggeml759-chm.china.huawei.com (10.1.199.138) X-CFilter-Loop: Reflected Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org > It will cause null-ptr-deref if platform_get_resource() returns NULL, > we need check the return value. > > Signed-off-by: Yang Yingliang > --- > drivers/net/dsa/ocelot/seville_vsc9953.c | 4 ++++ > 1 file changed, 4 insertions(+) > > diff --git a/drivers/net/dsa/ocelot/seville_vsc9953.c b/drivers/net/dsa/ocelot/seville_vsc9953.c > index 84f93a874d50..b514e2d05b6f 100644 > --- a/drivers/net/dsa/ocelot/seville_vsc9953.c > +++ b/drivers/net/dsa/ocelot/seville_vsc9953.c > @@ -1206,6 +1206,10 @@ static int seville_probe(struct platform_device *pdev) > felix->info = &seville_info_vsc9953; > > res = platform_get_resource(pdev, IORESOURCE_MEM, 0); > + if (!res) { > + err = -EINVAL; > + dev_err(&pdev->dev, "Invalid resource\n"); should 'goto err_alloc_felix;' > + } > felix->switch_base = res->start; > > ds = kzalloc(sizeof(struct dsa_switch), GFP_KERNEL);