Received: by 2002:ac0:bc90:0:0:0:0:0 with SMTP id a16csp2942197img; Sun, 24 Mar 2019 23:55:22 -0700 (PDT) X-Google-Smtp-Source: APXvYqwRiGsvxqjZHxSZT6xcZAjlRRt/sOouip07PqF3ouy0vhmXixt6L7l/cin76ddoczcGQbfe X-Received: by 2002:a63:6e4c:: with SMTP id j73mr22513445pgc.276.1553496922109; Sun, 24 Mar 2019 23:55:22 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1553496922; cv=none; d=google.com; s=arc-20160816; b=i1IWuW/ycwYJPDBZCmpP6zmQHtDNCJayedOaqDgoY0+DLvcoiJpm0yxlm7XSbL9UlU tXxf2YRGM75M6jpSBEDAAlNwqXyKhYnaiyEiXX7St/WOKmnHupX+7mRiZ5DzXmoq4usN T0tcusmN/CuSU+JLiDNWx92Z6b7aYS/mK6OKEq99trmwk9Lm4v1nvOusmjBk88d2TTxB 3+DvNDtS8XyuvjMImICdnkIPHPKJQRDhgsUY9ge87RPpJMxYPtbUqDE16cuOFiMvh1+f fTftrOogg50hcpYqSigat7lvM+meqHaEoU0CAyAI5BA97xT/eQfvKXBSAVvq8o2l4rnh Rx/w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-language :content-transfer-encoding:in-reply-to:mime-version:user-agent:date :message-id:references:cc:to:from:subject:dmarc-filter :dkim-signature:dkim-signature; bh=GkXYjLHRxvr4UpZ7tFsS79rJbE4MuZLZp+pimRq+nv0=; b=SQ3LwXlESKfoInCmzlMio79JufXCv819+vsLwfNNRw49g8LWInoW3YBFKIpBmvuVpj rA1nwSYR9ebAVsZslbTFcWVsty0lcVJMFQ+I413bhvzPGVny8jCMAWW2aXRwh/QyoKK3 OKuTJxgN1ptEuql2T28NwRIZUoN/esFsSkvA/k+z+Tusua2zjlQTnTRUN8II1KZUGEgq 6QVWqEujl4/GMBxcreW+spA1cWxKAA9hrQ/Au8FQsCwttLLw3hfDlMx41ZDu+NlMrIIz X1OvHzqUS9tydaU+JDlrT7WrMRTzrPd5JS4pbf0d1qSYlsxRq27tGUNgKG3cJYwLIa1y ys2Q== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@codeaurora.org header.s=default header.b=B7gscBnN; dkim=pass header.i=@codeaurora.org header.s=default header.b=B7gscBnN; 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 Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id d22si2059374pls.435.2019.03.24.23.55.07; Sun, 24 Mar 2019 23:55:22 -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=@codeaurora.org header.s=default header.b=B7gscBnN; dkim=pass header.i=@codeaurora.org header.s=default header.b=B7gscBnN; 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 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729761AbfCYGy1 (ORCPT + 99 others); Mon, 25 Mar 2019 02:54:27 -0400 Received: from smtp.codeaurora.org ([198.145.29.96]:59730 "EHLO smtp.codeaurora.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1729656AbfCYGy0 (ORCPT ); Mon, 25 Mar 2019 02:54:26 -0400 Received: by smtp.codeaurora.org (Postfix, from userid 1000) id EF41D602BA; Mon, 25 Mar 2019 06:54:25 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=codeaurora.org; s=default; t=1553496865; bh=1ovQDx4GGPKRoJdCnAe8rb5ACCsjCYaqsSigR07mCCc=; h=Subject:From:To:Cc:References:Date:In-Reply-To:From; b=B7gscBnNEjeJ72a6pzNSO+e3uKNT/2LJvOQlBxUVFZeaQm6cMNI0NL7BXuf/loVUM 5pn9qKE1VpBeaPZ5+VYE6EUE7f+KTxjC2IKwWdRqtuyk998BRsaDsa2/Of/Y00roA0 bcFTNE7/qgRQmP4F5BIortKFeHA0znM3wU09FdS0= X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on pdx-caf-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-2.7 required=2.0 tests=ALL_TRUSTED,BAYES_00, DKIM_INVALID,DKIM_SIGNED autolearn=no autolearn_force=no version=3.4.0 Received: from [10.204.79.83] (blr-c-bdr-fw-01_globalnat_allzones-outside.qualcomm.com [103.229.19.19]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) (Authenticated sender: mojha@smtp.codeaurora.org) by smtp.codeaurora.org (Postfix) with ESMTPSA id 41DE0602BA; Mon, 25 Mar 2019 06:54:20 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=codeaurora.org; s=default; t=1553496865; bh=1ovQDx4GGPKRoJdCnAe8rb5ACCsjCYaqsSigR07mCCc=; h=Subject:From:To:Cc:References:Date:In-Reply-To:From; b=B7gscBnNEjeJ72a6pzNSO+e3uKNT/2LJvOQlBxUVFZeaQm6cMNI0NL7BXuf/loVUM 5pn9qKE1VpBeaPZ5+VYE6EUE7f+KTxjC2IKwWdRqtuyk998BRsaDsa2/Of/Y00roA0 bcFTNE7/qgRQmP4F5BIortKFeHA0znM3wU09FdS0= DMARC-Filter: OpenDMARC Filter v1.3.2 smtp.codeaurora.org 41DE0602BA Authentication-Results: pdx-caf-mail.web.codeaurora.org; dmarc=none (p=none dis=none) header.from=codeaurora.org Authentication-Results: pdx-caf-mail.web.codeaurora.org; spf=none smtp.mailfrom=mojha@codeaurora.org Subject: Re: [PATCH] sound: codecs: fix a potential NULL pointer dereference From: Mukesh Ojha To: Kangjie Lu 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 References: <20190324231237.2246-1-kjlu@umn.edu> <4fa0e2cb-7044-12e1-33b3-14015c94e48d@codeaurora.org> Message-ID: Date: Mon, 25 Mar 2019 12:24:18 +0530 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:60.0) Gecko/20100101 Thunderbird/60.6.0 MIME-Version: 1.0 In-Reply-To: <4fa0e2cb-7044-12e1-33b3-14015c94e48d@codeaurora.org> Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit Content-Language: en-US Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi Kangjje/Aditya, Please do take care of the return value you are sending upstream whether still is checked or not otherwise NULL pointer dereference will still come. Also resource release properly otherwise your patch may looks simple but it can introduce memory leak as well in other path. Thanks, Mukesh On 3/25/2019 12:15 PM, Mukesh Ojha wrote: > > On 3/25/2019 4:42 AM, Kangjie Lu wrote: >> In case devm_kzalloc fails, the patch returns -ENOMEM to avoid >> potential NULL pointer dereference. >> >> Signed-off-by: Kangjie Lu >> --- >>   sound/soc/codecs/rt5663.c | 2 ++ >>   1 file changed, 2 insertions(+) >> >> diff --git a/sound/soc/codecs/rt5663.c b/sound/soc/codecs/rt5663.c >> index da6647015708..909ab99a1995 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; > > add checks in rt5663_parse_dp  as well. > > Thanks. > Mukesh > > >> device_property_read_u32_array(dev, >>               "realtek,impedance_sensing_table", >>               (u32 *)rt5663->imp_table, table_size);