From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755528AbbKRJsW (ORCPT ); Wed, 18 Nov 2015 04:48:22 -0500 Received: from mail.zhinst.com ([212.126.164.98]:38730 "EHLO mail.zhinst.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755375AbbKRJsU (ORCPT ); Wed, 18 Nov 2015 04:48:20 -0500 From: Tobias Klauser To: Alan Tull Cc: Greg Kroah-Hartman , Moritz Fischer , linux-kernel@vger.kernel.org Subject: [PATCH] fpga manager: Fix firmware resource leak on error Date: Wed, 18 Nov 2015 10:48:16 +0100 Message-Id: <1447840096-23236-1-git-send-email-tklauser@distanz.ch> X-Mailer: git-send-email 2.6.3.368.gf34be46.dirty Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org If fpga_mgr_buf_load() fails, the firmware resource previously allocated by request_firmware() is leaked. Fix it by calling release_firmware() regardless of the return value of fpga_mgr_buf_load(). Found by the Coverity scanner (CID 1339653). Fixes: 6a8c3be7ec8e ("add FPGA manager core") Signed-off-by: Tobias Klauser --- drivers/fpga/fpga-mgr.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/drivers/fpga/fpga-mgr.c b/drivers/fpga/fpga-mgr.c index a24f5cb877e0..aad6439c3692 100644 --- a/drivers/fpga/fpga-mgr.c +++ b/drivers/fpga/fpga-mgr.c @@ -122,12 +122,10 @@ int fpga_mgr_firmware_load(struct fpga_manager *mgr, u32 flags, } ret = fpga_mgr_buf_load(mgr, flags, fw->data, fw->size); - if (ret) - return ret; release_firmware(fw); - return 0; + return ret; } EXPORT_SYMBOL_GPL(fpga_mgr_firmware_load); -- 2.6.3.368.gf34be46.dirty