Received: by 2002:a05:7412:419a:b0:f3:1519:9f41 with SMTP id i26csp437789rdh; Thu, 23 Nov 2023 07:57:54 -0800 (PST) X-Google-Smtp-Source: AGHT+IELCEcUdGw6SFO8c+wfrZOq+Atp3jIAR3HXgids2xbQUJbFnntBHReU0BmjxqiuLtrrEeQV X-Received: by 2002:a17:903:188:b0:1cf:5782:7c74 with SMTP id z8-20020a170903018800b001cf57827c74mr7226267plg.7.1700755073938; Thu, 23 Nov 2023 07:57:53 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1700755073; cv=none; d=google.com; s=arc-20160816; b=UE01ampBCc/O5ItzdeJoS+dGDltJzOWTOBtv73MGgTA1Djh/A+RolrigJOoa/pRGly /SIHomX0NvsP5zdcn2Gir+j+ggeDjEflEhfMXm5GGFx9Hb3JpwJk84I1aWnbLwx7NX5E 6H6YeQt5rSvxAUF1Nw5ZPwixufgNm9JomdkgiwHGoA6VszXXJ3ESkYw4TPq7Vsp4PqL8 3M081yOIN1w7ZpJCuK0YKBwwzK9Qi1hLqvuz05Ad3daypToLDUU23AfpfKo2c3MrEeqK G2sC+gazfcf6T7gy0Tj6KPLQaglULDEScr9roPM1vtWa1ESrIWpBnx/lt7K36amIH7vM Et4w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :message-id:date:subject:cc:to:from; bh=FKKpVE7yUlvyo2ohcZLpGBmuwQdfM8HyMtbf6RC0SqU=; fh=UMioi1RAS5kuqBr2SOJPQR6Av7wNEDVAE6+B7RhqXMs=; b=rOPAsH2ksGv7nDhhRceg9HqcWyWDmFs3XiTprL41mOzb9BZwr1AjN7KGS0Jl8e+dgo 9oxiqpoXgDDXhCHi3rr9LdT3vbqnUNojK+OLWCfDb/LsbTr4kTeXnyTFUweJcqzEhVmL RpWxws52bsLeN3vlTkrBxX7rx+r0byGCeiPrOWRqIJQYWH4OPQzXpEmMZIMj1atf+SbL ud3+R3oHllO94WOYy/p6JFdrWiCIaf+VEnd5lgv+4ahS/MwFF/26Nrt2fFoadI9H3FMq ojNfbQppx95uu7gWUf35cFLy99vPWNRX3YBai1J0xXU3u0Rb4VogMU8IyBydmu1aE9MF sUyw== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.33 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from lipwig.vger.email (lipwig.vger.email. [23.128.96.33]) by mx.google.com with ESMTPS id m5-20020a170902db8500b001c589ba4a0bsi334276pld.195.2023.11.23.07.57.53 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 23 Nov 2023 07:57:53 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.33 as permitted sender) client-ip=23.128.96.33; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.33 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by lipwig.vger.email (Postfix) with ESMTP id 91064807BEF5; Thu, 23 Nov 2023 07:55:24 -0800 (PST) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.11 at lipwig.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1346211AbjKWPzI (ORCPT + 99 others); Thu, 23 Nov 2023 10:55:08 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:57058 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1346182AbjKWPzH (ORCPT ); Thu, 23 Nov 2023 10:55:07 -0500 Received: from mailgw.kylinos.cn (mailgw.kylinos.cn [124.126.103.232]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id D11B6D4E; Thu, 23 Nov 2023 07:55:10 -0800 (PST) X-UUID: 97d46d5f29044d088e11efa0f1ac5bc6-20231123 X-CID-P-RULE: Release_Ham X-CID-O-INFO: VERSION:1.1.32,REQID:62ac3e0a-0465-42cd-a288-8d13baaadfb3,IP:5,U RL:0,TC:0,Content:-5,EDM:0,RT:0,SF:-15,FILE:0,BULK:0,RULE:Release_Ham,ACTI ON:release,TS:-15 X-CID-INFO: VERSION:1.1.32,REQID:62ac3e0a-0465-42cd-a288-8d13baaadfb3,IP:5,URL :0,TC:0,Content:-5,EDM:0,RT:0,SF:-15,FILE:0,BULK:0,RULE:Release_Ham,ACTION :release,TS:-15 X-CID-META: VersionHash:5f78ec9,CLOUDID:aa25ff72-1bd3-4f48-b671-ada88705968c,B ulkID:231123235502KLXVUUK3,BulkQuantity:0,Recheck:0,SF:66|38|24|17|19|44|1 02,TC:nil,Content:0,EDM:-3,IP:-2,URL:0,File:nil,Bulk:nil,QS:nil,BEC:nil,CO L:0,OSI:0,OSA:0,AV:0,LES:1,SPR:NO,DKR:0,DKP:0,BRR:0,BRE:0 X-CID-BVR: 0 X-CID-BAS: 0,_,0,_ X-CID-FACTOR: TF_CID_SPAM_SNR,TF_CID_SPAM_FAS,TF_CID_SPAM_FSD,TF_CID_SPAM_FSI X-UUID: 97d46d5f29044d088e11efa0f1ac5bc6-20231123 X-User: chentao@kylinos.cn Received: from vt.. [(116.128.244.169)] by mailgw (envelope-from ) (Generic MTA with TLSv1.2 ECDHE-RSA-AES256-GCM-SHA384 256/256) with ESMTP id 164031110; Thu, 23 Nov 2023 23:54:59 +0800 From: Kunwu Chan To: pierre-louis.bossart@linux.intel.com, lgirdwood@gmail.com, peter.ujfalusi@linux.intel.com, yung-chuan.liao@linux.intel.com, ranjani.sridharan@linux.intel.com, daniel.baluta@nxp.com, kai.vehmanen@linux.intel.com, broonie@kernel.org, perex@perex.cz, tiwai@suse.com, chao.song@intel.com Cc: kunwu.chan@hotmail.com, sound-open-firmware@alsa-project.org, linux-sound@vger.kernel.org, linux-kernel@vger.kernel.org, Kunwu Chan Subject: [PATCH] ASoC: SOF: Fix null pointer dereference in sof_pci_probe Date: Thu, 23 Nov 2023 23:54:24 +0800 Message-Id: <20231123155424.1275919-1-chentao@kylinos.cn> X-Mailer: git-send-email 2.34.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-0.8 required=5.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE, UNPARSEABLE_RELAY autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lipwig.vger.email Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (lipwig.vger.email [0.0.0.0]); Thu, 23 Nov 2023 07:55:24 -0800 (PST) devm_kasprintf() returns a pointer to dynamically allocated memory which can be NULL upon failure. Fixes: 46207ca24545 ("ASoC: SOF: pci: change the default firmware path when the community key is used") Fixes: 25bbc0c59ee1 ("ASoC: SOF: Add path definition for external firmware libraries") Signed-off-by: Kunwu Chan --- sound/soc/sof/sof-pci-dev.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/sound/soc/sof/sof-pci-dev.c b/sound/soc/sof/sof-pci-dev.c index 64b326e3ef85..75a9bfa5bfbe 100644 --- a/sound/soc/sof/sof-pci-dev.c +++ b/sound/soc/sof/sof-pci-dev.c @@ -282,6 +282,10 @@ int sof_pci_probe(struct pci_dev *pci, const struct pci_device_id *pci_id) devm_kasprintf(dev, GFP_KERNEL, "%s/%s", sof_pdata->desc->default_fw_path[sof_pdata->ipc_type], "community"); + if (!sof_pdata->fw_filename_prefix) { + ret = -ENOMEM; + goto out; + } dev_dbg(dev, "Platform uses community key, changed fw path to %s\n", @@ -303,6 +307,10 @@ int sof_pci_probe(struct pci_dev *pci, const struct pci_device_id *pci_id) devm_kasprintf(dev, GFP_KERNEL, "%s/%s", sof_pdata->desc->default_lib_path[sof_pdata->ipc_type], "community"); + if (!sof_pdata->fw_lib_prefix) { + ret = -ENOMEM; + goto out; + } dev_dbg(dev, "Platform uses community key, changed fw_lib path to %s\n", -- 2.34.1