Received: by 2002:ac0:bc90:0:0:0:0:0 with SMTP id a16csp3628763img; Mon, 25 Mar 2019 14:21:12 -0700 (PDT) X-Google-Smtp-Source: APXvYqz8AWsoMoJnoSaJ6Jh2UUMkZHu4m6I/S8aFS2qUhkwXg3hJW45ZMg5gHXZEkvwmB5UXYW/h X-Received: by 2002:aa7:90c7:: with SMTP id k7mr25923934pfk.186.1553548872419; Mon, 25 Mar 2019 14:21:12 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1553548872; cv=none; d=google.com; s=arc-20160816; b=X2mn/TKbL3QcbDbSrAq39swnBKaU6N7bJ4ISj5akve/EIDiDWu6OINeG5XsDnAN3/d KNObbML79BPNfIyR6gLLNJfImxUvBh9poTxRCCn6FTuXDAaaD52eS60HBS9Yj/HdWRtT y98Wq64MhSI0WaslOAJtn7IQX3Vcct6/AQreL5nX2BiTWeTWsrazwgQ9+K7fa0lwREeB rTIAOAnWlSbLxgQKUEiSchre7OYIvZQ5hNrX0FeDZX6TRCEzyiQ0gE4u/CTGxz6bXPa+ lQQoqK7fVXQtFRQvEcbBhxJc9hkioD+g+ZVxKKMxMG9fjWBAGhcDneH0d9f+TbL708nK HsVA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:references:in-reply-to:message-id:date :subject:cc:to:from:dkim-signature; bh=J6biI5CWesOY8HXsvli3xRMKXx0roTLCrgzCpmehAC8=; b=vCekpRSkRG+pQins3LbfknOmxNRAF/0/sLJCtuTm2XucxywuSne3X3tQgCeh5ne2ZF zHCwysj0RE4fQTw2WbiN+61M720MpLH1J8WXzqX0C5ZHojLTTLjZGDITxsevn3BK0VTQ FGbzCjKBHEuTlt+AHWeXOCylq5UcHwb0OZVdao5LxHJu3HTgvAviWIHzUuJpChHPcOmJ dPYvWf9B+UriVt0v52aQ0paoDyaozBlCPIG/XInizBQBj1bbVec0lMbRd3W8Gk116fwx HhXJYj8JvjvofBBfNtVpoCy3/lbjcFY1ycJeIxRDF/neawPsFtIjkhlLSojNtOpULXND cYsg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@umn.edu header.s=google header.b="nVh/cjdH"; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=umn.edu Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id k30si14688976pgb.587.2019.03.25.14.20.56; Mon, 25 Mar 2019 14:21:12 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@umn.edu header.s=google header.b="nVh/cjdH"; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=umn.edu Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1730479AbfCYVTj (ORCPT + 99 others); Mon, 25 Mar 2019 17:19:39 -0400 Received: from mta-p5.oit.umn.edu ([134.84.196.205]:49778 "EHLO mta-p5.oit.umn.edu" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1729283AbfCYVTj (ORCPT ); Mon, 25 Mar 2019 17:19:39 -0400 Received: from localhost (unknown [127.0.0.1]) by mta-p5.oit.umn.edu (Postfix) with ESMTP id 5A7E6A10 for ; Mon, 25 Mar 2019 21:19:38 +0000 (UTC) X-Virus-Scanned: amavisd-new at umn.edu Received: from mta-p5.oit.umn.edu ([127.0.0.1]) by localhost (mta-p5.oit.umn.edu [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 197UYdG60DyB for ; Mon, 25 Mar 2019 16:19:38 -0500 (CDT) Received: from mail-io1-f70.google.com (mail-io1-f70.google.com [209.85.166.70]) (using TLSv1.2 with cipher AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by mta-p5.oit.umn.edu (Postfix) with ESMTPS id 33B02A5F for ; Mon, 25 Mar 2019 16:19:38 -0500 (CDT) Received: by mail-io1-f70.google.com with SMTP id e126so8500057ioa.8 for ; Mon, 25 Mar 2019 14:19:38 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=umn.edu; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=J6biI5CWesOY8HXsvli3xRMKXx0roTLCrgzCpmehAC8=; b=nVh/cjdHr3/Q1IqytfmfP6tjMm3aqM3ZuWYp3tw4QNCCDiAohoUxOotgfds2JoTdbp zhuYLCZMEYG4BqYdnHPa/FT/BCmFA/MllT2gJC0UoRz+dnxt+z+qNObhu0FhwADTir7I bRn5YKXksAVtcf7PcA5Eyfvl0/QRewK7HHXUAEQ4LF6An057wmFx4J9j4mQT8rVrMoO9 lGapYL7wfCu7qhBRywXhKGOxkqBIyC3FXt4UAC/VVjFgdelIlVk//zJM/YflMF3/DDEz Bg9dlw+gdNqWVcqGt4JZzZE+TMVurabs5KRlUL9Y0fnpwLKScHxa9dEkBM5CCZxoTNGg MOqA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=J6biI5CWesOY8HXsvli3xRMKXx0roTLCrgzCpmehAC8=; b=lRxk7nlrkxGTp3ji3rHKPNqpCkGARV4qKC5VMMt30sb+Fwj6VHri7JYZf9TyiCHfsB IFDBY5PZT8/vOYaEO6VDeYG8wSTXd2TM/AcaqS1siFf0sRvP1GdyA4dTSVi4LMsD8ccL sf233MmwTv4p5gyZpnswmj6k+zr5jDhFtnI8TvBZXxvS0cGp8K4NJJV82DTeVu64wPES LQlZZJg7+SBS//f79+vAwJd0t9ebtTujBQoSZjjv1JCPV3NvhRBFs7APACtOc9Fq4eaI vM6g2JpCcI8CMYbkQCd/SVMT1VaYjkPXWmwTIs6Dppmqm0Bcu0aJBHJpIN8smLqx3L+o Hrog== X-Gm-Message-State: APjAAAWLKygdbA6vbTTixGy4UTnnYiILz1fE5K11uETFYtOVPaDIAejK xoeJFrjYrG2Mmy16D8VSSdxClPlQdG1Sjap4futF7I1Z06C++U8Toa+/UMaQmT4bj6vdqrKS9Zj GyHAi2TANLZPdHhEmcERFguHUUrNe X-Received: by 2002:a24:9fc7:: with SMTP id c190mr839814ite.61.1553548777820; Mon, 25 Mar 2019 14:19:37 -0700 (PDT) X-Received: by 2002:a24:9fc7:: with SMTP id c190mr839796ite.61.1553548777621; Mon, 25 Mar 2019 14:19:37 -0700 (PDT) Received: from bee.dtc.umn.edu (cs-bee-u.cs.umn.edu. [128.101.106.63]) by smtp.gmail.com with ESMTPSA id q1sm6173398itb.22.2019.03.25.14.19.35 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 25 Mar 2019 14:19:36 -0700 (PDT) From: Kangjie Lu To: kjlu@umn.edu Cc: pakki001@umn.edu, Bard Liao , Oder Chiou , Liam Girdwood , Mark Brown , Jaroslav Kysela , Takashi Iwai , alsa-devel@alsa-project.org, linux-kernel@vger.kernel.org Subject: [PATCH v2] sound: codecs: fix a potential NULL pointer dereference Date: Mon, 25 Mar 2019 16:19:30 -0500 Message-Id: <20190325211930.18730-1-kjlu@umn.edu> X-Mailer: git-send-email 2.17.1 In-Reply-To: <4fa0e2cb-7044-12e1-33b3-14015c94e48d@codeaurora.org> References: <4fa0e2cb-7044-12e1-33b3-14015c94e48d@codeaurora.org> Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org In case devm_kzalloc fails, the patch returns -ENOMEM to avoid potential NULL pointer dereference. Also add a check for rt5663_parse_dp to pass the error code upstream Signed-off-by: Kangjie Lu Reviewed-by: Mukesh Ojha --- v2: pass error code upstream in the caller as suggested by Mukesh Ojha --- sound/soc/codecs/rt5663.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/sound/soc/codecs/rt5663.c b/sound/soc/codecs/rt5663.c index da6647015708..ab03ba499ad2 100644 --- a/sound/soc/codecs/rt5663.c +++ b/sound/soc/codecs/rt5663.c @@ -3480,6 +3480,8 @@ static int rt5663_parse_dp(struct rt5663_priv *rt5663, struct device *dev) table_size = sizeof(struct impedance_mapping_table) * rt5663->pdata.impedance_sensing_num; rt5663->imp_table = devm_kzalloc(dev, table_size, GFP_KERNEL); + if (!rt5663->imp_table) + return -ENOMEM; device_property_read_u32_array(dev, "realtek,impedance_sensing_table", (u32 *)rt5663->imp_table, table_size); @@ -3507,8 +3509,11 @@ static int rt5663_i2c_probe(struct i2c_client *i2c, if (pdata) rt5663->pdata = *pdata; - else - rt5663_parse_dp(rt5663, &i2c->dev); + else { + ret = rt5663_parse_dp(rt5663, &i2c->dev); + if (ret) + return ret; + } for (i = 0; i < ARRAY_SIZE(rt5663->supplies); i++) rt5663->supplies[i].supply = rt5663_supply_names[i]; -- 2.17.1