Received: by 2002:a05:6a10:206:0:0:0:0 with SMTP id 6csp967110pxj; Sat, 8 May 2021 04:09:58 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxMt5drw4cuolLoKZi9GCIPaLDGX7cgL7hx1+TdeMwv7dfpgPAoK03l6tf+QAkHo6oKNkAe X-Received: by 2002:a62:1d8a:0:b029:24c:4aa1:ad01 with SMTP id d132-20020a621d8a0000b029024c4aa1ad01mr14962103pfd.27.1620472197847; Sat, 08 May 2021 04:09:57 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1620472197; cv=none; d=google.com; s=arc-20160816; b=vLvW26o/TpfjDCgj/2/qb0qtbYpZU07cN3dxgRDfb2hLQzIrAfN2zwkzqVZD8bEPDw Uq3j87EeK4C5PHZXYKc6Qp7YGFWvZ12iXVeYyEFqwcwMKgUb26dj8f++9/oLRSnOKX50 HY4KIT7noG4n3I4De0YMKYsr0aHpBbPKItdQUbgt3Fzqz0j9qRA2TleuOW1xG2HBsDP/ lB3EIS96xX/AEXy/qgHRH5+/O2QHUzWhgjrNwjyPIK2ocax33g0E74EY2qX8Qrr0KcHG TLcJadisF4y7RvxNteGrENz6IQvcuY/SEC/BfWb/H3T2i8N0WaJ6TVLdoglFW9iUiES0 NJ8g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:message-id:date:subject:cc:to:from; bh=RwnjqXd44unziDyTb7x4yka75TbYc/5+ZsCkEkV5NfQ=; b=V7e4BhfDit1qaMGZ0MwDE7jno/YCtZb5YZkRvjmeEZFqX2G8B+bJe9OosiMpRsx2+x KPHQRyxncCacpY2qSJIvJ0PwRjQp6fWpDxg+4ZWK6KYvtmu6OTj0OkXkD2HPXmC3Q1IW 9nSYJmz2967miWxaJcpeXGJjg4DFobbnqpnwO7MG/LzI6o1YLpCDxpUXGVF4IZ/AiEgH AnBnI48Gn+ts5uwZHOKjmiz2/Mht24WVxaRDil4CbzPOg/y+LWhAB3MfNdbQwcnddgan ShNffsI0w96JhJU80xTWVKlFCkR0LT5jKwPmw5pzFJPEEXNWcbGJyNEgypGguk9DSm4k Treg== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-wireless-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-wireless-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 j2si10477073plx.348.2021.05.08.04.09.43; Sat, 08 May 2021 04:09:57 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-wireless-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-wireless-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-wireless-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 S230416AbhEHLKn (ORCPT + 99 others); Sat, 8 May 2021 07:10:43 -0400 Received: from szxga04-in.huawei.com ([45.249.212.190]:17602 "EHLO szxga04-in.huawei.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230326AbhEHLKn (ORCPT ); Sat, 8 May 2021 07:10:43 -0400 Received: from DGGEMS401-HUB.china.huawei.com (unknown [172.30.72.59]) by szxga04-in.huawei.com (SkyGuard) with ESMTP id 4FckzW0QjBz16PYg; Sat, 8 May 2021 19:07:03 +0800 (CST) Received: from localhost (10.174.243.60) by DGGEMS401-HUB.china.huawei.com (10.3.19.201) with Microsoft SMTP Server id 14.3.498.0; Sat, 8 May 2021 19:09:29 +0800 From: wangyunjian To: , CC: , , , , Yunjian Wang Subject: [PATCH net] iwlwifi: pnvm: fix resource leaks in iwl_pnvm_get_from_fs Date: Sat, 8 May 2021 19:09:25 +0800 Message-ID: <1620472165-7960-1-git-send-email-wangyunjian@huawei.com> X-Mailer: git-send-email 1.9.5.msysgit.1 MIME-Version: 1.0 Content-Type: text/plain X-Originating-IP: [10.174.243.60] X-CFilter-Loop: Reflected Precedence: bulk List-ID: X-Mailing-List: linux-wireless@vger.kernel.org From: Yunjian Wang Currently the error return path does not release the "pnvm" when kmemdup fails and also the "pnvm" is not relased in the normal path. These lead to a resource leak. Fix these by releasing "pnvm" before return. Addresses-Coverity: ("Resource leak") Fixes: cdda18fbbefa ("iwlwifi: pnvm: move file loading code to a separate function") Signed-off-by: Yunjian Wang --- drivers/net/wireless/intel/iwlwifi/fw/pnvm.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/drivers/net/wireless/intel/iwlwifi/fw/pnvm.c b/drivers/net/wireless/intel/iwlwifi/fw/pnvm.c index 40f2109a097f..d4ac83848926 100644 --- a/drivers/net/wireless/intel/iwlwifi/fw/pnvm.c +++ b/drivers/net/wireless/intel/iwlwifi/fw/pnvm.c @@ -322,10 +322,13 @@ static int iwl_pnvm_get_from_fs(struct iwl_trans *trans, u8 **data, size_t *len) } *data = kmemdup(pnvm->data, pnvm->size, GFP_KERNEL); - if (!*data) + if (!*data) { + release_firmware(pnvm); return -ENOMEM; + } *len = pnvm->size; + release_firmware(pnvm); return 0; } -- 2.19.1