From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1756132AbbKRPao (ORCPT ); Wed, 18 Nov 2015 10:30:44 -0500 Received: from mail-bl2on0053.outbound.protection.outlook.com ([65.55.169.53]:34080 "EHLO na01-bl2-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1754017AbbKRPal (ORCPT ); Wed, 18 Nov 2015 10:30:41 -0500 Authentication-Results: spf=fail (sender IP is 66.35.236.227) smtp.mailfrom=opensource.altera.com; ettus.com; dkim=none (message not signed) header.d=none;ettus.com; dmarc=none action=none header.from=opensource.altera.com; Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=atull@opensource.altera.com; Date: Wed, 18 Nov 2015 09:23:18 -0600 From: atull X-X-Sender: atull@linuxheads99 To: Tobias Klauser CC: Greg Kroah-Hartman , Moritz Fischer , Subject: Re: [PATCH] fpga manager: Fix firmware resource leak on error In-Reply-To: <1447840096-23236-1-git-send-email-tklauser@distanz.ch> Message-ID: References: <1447840096-23236-1-git-send-email-tklauser@distanz.ch> User-Agent: Alpine 2.02 (DEB 1266 2009-07-14) MIME-Version: 1.0 Content-Type: text/plain; charset="US-ASCII" X-Originating-IP: [64.129.157.38] X-ClientProxiedBy: BY2PR21CA0006.namprd21.prod.outlook.com (25.162.74.144) To BN3PR03MB1511.namprd03.prod.outlook.com (25.163.35.15) X-Microsoft-Exchange-Diagnostics-untrusted: 1;BN3PR03MB1511;2:oscp1PSXNLSFnRTwFSzUw8StV82OLBnXwFPtVdbnxNVpHf8Zn79VPg9stjkZwC80rtOcP8rs9zcAZFx3zdS20bf1U9YRddBk8dRWyykbwro6LP3ayCtqjE48XTLvvLD+sZg6lPIPWqYanL4z/+cyiSAwfepra7ub9B2GBUJWfgw=;3:RxXyMmW8IS2bFUAr/GXfVkrvmYSgVctVsyNxVQSLKPpow7xRRvvei89QK+4hY21DmvBfKjeDAfG3FPWr008hGyWFNwa9iW5cvz8yRbi808imqrSRVsv/Vpp015r2b1XIlBqZmcGCFplXP/+XKU/N8A==;25:OqWE8MgQwkBqtZg++aeZw1oGW+MExD9HaxAeq501Tbiy/a2ThVvowEbtQOxuFvS5P92gXFBzyNs0HoTEzZxViAzDZeLsE4AA/ddFAuqejnmUJZMT+qJsUF1zd7sn5aSqNcjP8fvXY85xIGE7wGYMaS4AkvDBgF3SsUNXRCHX5t6HlavVk526B7MjuM/YulV1O2zBt3APQVcwz1Np1SFrN/+3FWwM13gO2sC05yXg8zOw2W1EsOYVMxJnLbj1zDnFyP7swtbkycaEf0dRJ/6lzQ==;20:1k9/v3EiJIMsCzDM9n2tRlhOc6H5Unrh0vgeVfTlbg3nqZyueXzBiD35DhlbkoWvpZy8FSiH79r1KfoR4xaV0QV7wGlHTZIiZsigjfi6xyov+zM7SxFUO+7F+ZB8J/4EwWqZCwd5G+eNSFEoO1FAEXuFAOgnUbcL6TnjprvMF+s= X-Microsoft-Antispam-Untrusted: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:BN3PR03MB1511; X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(80048183373757)(204874498639787);UriScan:(80048183373757)(204874498639787); X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(601004)(2401047)(520078)(5005006)(8121501046)(10201501046)(3002001);SRVR:BN3PR03MB1511;BCL:0;PCL:0;RULEID:;SRVR:BN3PR03MB1511;BCL:0;PCL:0;RULEID:(601004)(2401047)(520078)(5005006)(8121501046)(10201501046)(3002001);SRVR:BLUPR03MB199;BCL:0;PCL:0;RULEID:;SRVR:BLUPR03MB199; X-Microsoft-Exchange-Diagnostics-untrusted: 1;BN3PR03MB1511;4:2moruNYTwAc7mJnlFNtYMhX+ae9tDacsWBZ3sPEgxWOR3Y6WvNJCAO33A2ze5ADRAMfph5/PIOvUR96xkBy3vSFMB5GvhiwpexVLYd6BM5nbFfkslhFjp/RCuK4NLPTuaUgwSrI0BWf/25mqW1cxXHRxCaAutVvahEpymoAeWA57W0mvKMgFCnfgfXn4mCaBw2Y6QBPuhsjmP8X3Zw6yz3pbvSCEGRcDJGYc76RoDlsKjbGK7l9i7YfkIH4kjegemUGz5arMDQZVYP9f83BXbxFlXVoSsR0QpgMNOzrqSBazFD6jDIjWB0voEhscazqg251c/1KAEZWl4am8STIbGGvOM9xB6VayfV/NoQA1n2RXbezH/+ZfmptQYP4XdOzK X-Forefront-PRVS: 0764C4A8CD X-Forefront-Antispam-Report-Untrusted: SFV:NSPM;SFS:(10009020)(6009001)(199003)(24454002)(189002)(42186005)(69596002)(53416004)(5008740100001)(86152002)(40100003)(92566002)(19580395003)(19580405001)(106356001)(76176999)(54356999)(101416001)(50986999)(23726002)(66066001)(110136002)(2950100001)(77096005)(5001920100001)(5001960100002)(189998001)(47776003)(105586002)(5004730100002)(86362001)(46406003)(87976001)(5007970100001)(81156007)(50466002)(586003)(4001350100001)(97736004)(122386002)(83506001)(33716001);DIR:OUT;SFP:1101;SCL:1;SRVR:BN3PR03MB1511;H:linuxheads99.altera.com;FPR:;SPF:None;PTR:InfoNoRecords;A:0;MX:1;LANG:en; X-Microsoft-Exchange-Diagnostics-untrusted: =?us-ascii?Q?1;BN3PR03MB1511;23:sJJdYHhH9NwV0fHqJeUwMNeyzG1viafsy7uTFqt+W?= =?us-ascii?Q?39KeZFZVbahRoqMWPyR2/ftG7n9pQFI/7lqCTgxkRT+sSRRUxxIvZmB7p6ZF?= =?us-ascii?Q?S/olV/01c+99sKjveRKsHIs0D2GVAOW39cZNRKjcFAwwRLK9btc2UdrqrpZs?= =?us-ascii?Q?KdCZiuynw+HEcBR5XiKYck225dZZZ9NatnGbEa7byBmnVwwmm1wSV6/WQzV5?= =?us-ascii?Q?Id/jt/766SuGvJsvcU8GD49d0AUAU5Gcpz4l9X7fp87U2UgESsydJGkAEFV5?= =?us-ascii?Q?3np1r32FA/B7hUdvlbcRnJfW63fP0slgtdfLjb+Nr8EHpZyF7dvXMWPEc5jk?= =?us-ascii?Q?gL0WSUhc/Qvw+YKjxAKmA9KCxZ1gcUbZLiWVfKhAqO4F1iNZ3cnvNle/sZif?= =?us-ascii?Q?yShVyomV4wzZEmaL9dgcpSwr4sjnGZhbDhPfToGH//6l3j0eG0lUqKgaW3iC?= =?us-ascii?Q?LCNki0RwwF9iiqBNaRvdmhFOeEznZeOrXNpcg+XYOz6t2LNLBo4jVGj9jf0B?= =?us-ascii?Q?Q4pby2u7tlY6VnI5jKabvPfGz5gxTtKpnfvbIlcxwSQZ/GEZJL9Z0VYNn4QU?= =?us-ascii?Q?8ll+U/2IHkANCkze1sK+ml1HvOCrRSDz1O+cwgRA3Bj3T1/rDnJP1RxNk24U?= =?us-ascii?Q?uFsNFgHMwdhGZeYe4er4CBobhuLyvl3b5XnLOE/W3d/tjjiGwkqM7wUrh0gS?= =?us-ascii?Q?XC3f29wNA2c0PnzMjXVu/VC12YccvJFjx0u5O7XnmmAO/hzS0QY+TJXANVdX?= =?us-ascii?Q?y3LNAzSES5jRg+r3n1I9SQTYD15GGMXlyIa/QEB4UkeLeeW0VFJf//0hZGax?= =?us-ascii?Q?wBNC6dXapFIxs97lJDBoW5UF8gL/kEdAZa4mgPMuAsgmYgOASwfOje+oepIv?= =?us-ascii?Q?BDgfsxzqnbtK4MVAKNmGQlZw6C4/oZkqvQFGp4QCRpRaWJdSHBrrw2u6qZLd?= =?us-ascii?Q?snWha+o8hEnyKg+WXRW3GxgMlKIoYimx94x1H1vtT2mjy4WGXKDpuPgu/eir?= =?us-ascii?Q?Kb8jC/5HRQ7mAwOhFlJ+r9mCHh9bnmY9ckPNuPtcr+uFt/ho4PprI4+7Qo0K?= =?us-ascii?Q?ZoBJ2LW6Gld6blU+vLq96+BvGUyHfYlP5ftEkKGCi1skWPnv7ZRuzdoJYR11?= =?us-ascii?Q?C7CZmAgtnw=3D?= X-Microsoft-Exchange-Diagnostics-untrusted: 1;BN3PR03MB1511;5:TmAD7eYmsWE+da4Xbl+VpuXV4cQtWwX7CKObZWOyFXMyrEJYvH9/IC7t8meiB4KmEG++EUYp/0kW/nmOqyThFt+JJAtdQNbrvqphS0/wrhoSJQQfGI5TRo6L1QMbkt6KdhD2c1kCWipInnjpyHR9Hg==;24:q4yp4OT2hl5U+zFMwQM9mEaK7ZQjQjiSeMzOyMS2ColX09db0T2UL9m/ltVZO/QtmjLIOxYC28G1vfJEBjpJDYywOfYItTjGHPmvu6ZUnWE=;20:d7PG4htHr9QE37cjhEd2MLrPq2ACTipz8pWiZyQShnRsrlJwF7ps6yHzPIzWltZFlhdBw9pI+uWBhLTmYS3dkldsE0I4r2/qXkBy4ivI6fmly8rjKMYDzitI64D/6vtEp4qqAn4V5ER9kXRoLj4gwyfEFrgXEHHqTzPbKhqwheI= SpamDiagnosticOutput: 1:23 SpamDiagnosticMetadata: NSPM X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN3PR03MB1511 X-EOPAttributedMessage: 0 X-MS-Exchange-Transport-CrossTenantHeadersStripped: BN1AFFO11FD055.protection.gbl X-Microsoft-Exchange-Diagnostics: 1;BN1AFFO11FD055;1:de3F7GObnLaOITh3N1QnC0RLzgTY0w9vRxCrXEbyIxfF03wauYxtM9mBFVPP8iv60ffU8YdfUDdSlOUuvuHlCc4+AbVsjMB1HoNLVS7gJ6JfAdeFArbfYxDrdqKpdPn96pEB2pwcKzHHr/FwXPqu84pFl/xOb/9g+J+UR4ghygD4gJcBIyws0pD+3fPBKFAlYmf/jGS0J+O1hBklswNDALmYbrWIqCpcNvza5xbLsKO2MrwghuWXxrL6YuTw0fgFA/smL0N/JgLoR6edwOlJ2nhH1YF44jiEzvtdQ+I2sr2rQ80EjSK0/RvwWP57KR/ixHuZoZKW+YqIkYaCHop1YWlNVm96feGprHTGsSP7WzeHJozd2iM5p05YVCFlsuEt28KlZb48EjILx3QoO/MO5A== X-Forefront-Antispam-Report: CIP:66.35.236.227;CTRY:US;IPV:NLI;EFV:NLI;SFV:NSPM;SFS:(10009020)(6009001)(2980300002)(1109001)(1110001)(339900001)(189002)(199003)(24454002)(77096005)(86152002)(21840400001)(47776003)(586003)(19580395003)(5001960100002)(16796002)(87936001)(105606002)(50466002)(5004730100002)(122386002)(23726002)(50986999)(2950100001)(97736004)(81156007)(46406003)(4001350100001)(5007970100001)(110136002)(76176999)(83506001)(5001920100001)(92566002)(189998001)(85426001)(5008740100001)(33716001)(54356999)(6070500001)(53416004)(106466001)(66066001)(19580405001)(40100003)(86362001)(6806005)(7099028);DIR:OUT;SFP:1101;SCL:1;SRVR:BLUPR03MB199;H:sj-itexedge03.altera.priv.altera.com;FPR:;SPF:Fail;PTR:InfoDomainNonexistent;MX:1;A:0;LANG:en; X-Microsoft-Exchange-Diagnostics: 1;BLUPR03MB199;2:qQSlX4flWahIuUZKXv0A4eo1Wqdt/9YVMDpCrq7cqCb7F8DWXSXoE+HwoxpJ1O4hJ5pX7YWDS7DwP0xre+lJm8kx5rn10SmPuOOWdiBBr9uzQobdyReKC9TMuldO+LHH7eVeSUz9CH/Rt/axLHLI05cgziCsbuf/oASR2gbPx/U=;3:Haz0lKxqgovhl6i9ccoetNxZCU+wxn9EkTOyrUI5GGjZysE81VPJ0AesJQoufwyst6WkkEOqULHmZja+ioveU6tgrzFAySpCdQRS6D+P5UXfxi7g+TyJPxHSjMc3LzuyyawL8QmL1N55Vk0UAOe4TrAOb1K0S8CIVAE98FzaNHyeufoDLqswinElq7y2xU74ENfKldsCTEi9YehZY3w9fRVxQ+sCQTCm8HJAxho5BUw=;25:QuM5MYQo5Qh3jkn2E64gLTLe65KE65lvE/54SPEtocFc9UTWNhXtYd0whK4GO9vyV20HlBgeF8NDUj6ILKWRXAfSo7EPyerSkQkZrF1KSWFbaXdU+CNz/Cqp+VrW+jC4nzbzUQjcXDfKL14bCGJAEqgN1/Rezew5l7BoyOodbBoLzMC5dsLXXvV1vm39XoqrTzOnX4n2iIbLOi12d2iImbinaD2hOx+RkQj3bp0ROApT1oQoVZPzVH7zf3HxO5MU5y3AhBw7N5a+z3n+ksj8Pw==;20:Vk3TzRXQFyKTR6If72wKkfi3H0SFDs6WwJYGGAg5x5OrPOqSZqTciHq0NRNNhWBqZTMuIgjcBoMjkn+oc/aV2SRPVO0ycmB/IPBhTTRMDkc2dBkWoGBLdJvxxb7vKX4K40gnfoGgI1jVnocjiox6D2t5huyfWa2Y7lNWxazTH0c= X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:BLUPR03MB199; X-Microsoft-Exchange-Diagnostics: 1;BLUPR03MB199;4:u/FIxeKOC2gXXramPkFLqcnUZA37oXjPGEdyOa47hm1PMlQS1a5b/ZhtZJyWob+gFXsZmkURZrC4S3b5ObUsNJuxSSOXmGoOP/Xu8CCYiN6Mmj17uEilXXvD4olX4uT0iQ6ZgONpQ0hIer0KCedvseZM++rORKJIiHmMjhtMRgSxOURd9/xHi6JfqlmqBFIZJoO+0XHdHwEQdLasWVNthxuQlMPROIeLCdjyGTjGixFo8BzYXLbSyYSmHDzxKeoCdlRmVQxbYluxV/sIwHLt9378YQaXaUkHbC5hvW18FVAk3s60UbrpdSXi/On3G5NDv/vY/TOt6zf/leoAzeNWZKnMT+1+uAvQoTcNxXuqkSVeYqs7qOJk7Yj8uHxUXpW6 X-Forefront-PRVS: 0764C4A8CD X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;BLUPR03MB199;23:jjj58NiBXwkQwQaT7hVwg+J11TlH5QNhi0uHPgeyii?= =?us-ascii?Q?WOmGB73y6eORHDPZvP9s4cnMAtT37cLVXljY9tIWt9VQlYWIvoHuRBfS9suL?= =?us-ascii?Q?eeM4FHxeyqpPkxw29IdS2C/N72sxlpfJN+zQhbhKX3ItL1ishFmvgDI9gRdr?= =?us-ascii?Q?0/MXCpB6MsZP+/IgeQ1x3/A2Q0Kiy6H6VLj6mCAiicnkK1g1TH/DSRfw+sVD?= =?us-ascii?Q?+0yo8MR5/q2OJt0cLG0FhFypv4dq36nJBH4gw00HwcOSezW+S8xNmpCihA32?= =?us-ascii?Q?MVIM8uNu1Q7PXMMOjXpsevbvDf/X9J0Todt1maNVbNsy2c7Mc6qYOiTt/NBC?= =?us-ascii?Q?U00BYIG66sWGKjGkMtiVJHbz1HcNxO9lGsXFOz0oc7yJ34PtlG3iOcOhjbuH?= =?us-ascii?Q?NojCjIk3j//3s481yP5Id2T/n9wXGPGgl3cYecWx6qgWMcJ3JmJz6p5Lvzqj?= =?us-ascii?Q?ukmUyseIpCxUpLKLjy77nbdLPm7fIRyGGdqn/nNJf48artL7Bc3Hr/JB4ZuV?= =?us-ascii?Q?oDh7F9OWUrcpN0lYUeL1/VfH2aWW0or7wLNRcfbwHpPyT1Rw3/e2cfLRB0gP?= =?us-ascii?Q?70Ka04BvBzsg1VFbPr54GEcskj8DMWdYmbLz/APJ2ELBqqJ9LX6hFuz7iKC4?= =?us-ascii?Q?1bhabJBcJyHnt2SwPRDovDsEfUayGSuoeTkTHtLNOHTRYZOWgPu9CIvjIDkU?= =?us-ascii?Q?FXojHcK0TkxFJWpImbSBSD/fEnc0aBSX5ilXIgmgzzqQNF499w38Uii98xz7?= =?us-ascii?Q?palHbXDGB5IrZnSUOA88cA3T0uba8wxPXajj9+j7U9xCSY60Gd3PBRPPBwMN?= =?us-ascii?Q?8FmHnWjrYMhZBbwSKrr6C0FsgsCoCWCPEqzIJogKNzbn6RQRS2aEkgX9XPjs?= =?us-ascii?Q?FscE3YHwBiqwBndhc0mv2wjOQZ8T8Yq4vkpUZv8M7Rw80pbPO3SiHr0NjUgW?= =?us-ascii?Q?aI0SNnjGKgM67tSxX1UMPrKAhyrGjDbwP6ChU4uCCbT7rsQCy9pPgv/vlhQa?= =?us-ascii?Q?PySbcZFSKJ2q9FLk6/y2achuoGk8vdlEKpidUR/BvsUUAf1UUSKp/ecDi/2m?= =?us-ascii?Q?R08ZQfAuNXf2OXvAyNBpUhc+d1CXAZRzqa5LigX/76TKLTRm0lnMBewe7d+A?= =?us-ascii?Q?JjHPC5TIC9h9CIgo6OUJRRYfl4e5mnqxRlboE9hjmixj8LK40X4Gjcj3nZXe?= =?us-ascii?Q?yBC/ZJBL0AVCwJbdxEI18kJGGiQgSbA5cAz7t8fw8jtPsI/AQdNwhyKc5rer?= =?us-ascii?Q?if9466SndD7Veh1wOxyF/SoV3zc9NswMlovIUo?= X-Microsoft-Exchange-Diagnostics: 1;BLUPR03MB199;5:Gq3u/H1yxzC1x1xMonewEpjBU+kfVSMYNoA4YFVa9Nu9ZlaNKmWwENnlb+Irp43Esx5uIpCauEQttJEaZZgdXhRY7SzOy0dkygdMMoneEtmkJ+sLTHNYaP6UhuPP5FgAchOe/7vk/Elqymuo4+AA4Q==;24:bAYFdhkKrp00U0LOop5Z1v1yXCh3WxBz1EkJguehEGAlRWYPXvJpVqRgISWqOspQKQVWU0XSMdpEc0N6LAFcsZNAVc7U5aig4/NKhvdSRnU=;20:KYiCzmhDx/joC1M/sW08l/Sz52gpBFcaHpbgfEf9lOQcS7iFhN6YnIt0Q5A/FkkwIo85aydAESZ3a2i9v7exFhB0oJPhonhTObIozchn2LCaoFzM/F3RKFO1qlKxbYYuYlTkd7TOXbGgJ+oa3YsBxXR5fbnSxeZuP9LtWX/HgNw= X-OriginatorOrg: opensource.altera.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 Nov 2015 15:30:37.9348 (UTC) X-MS-Exchange-CrossTenant-Id: fbd72e03-d4a5-4110-adce-614d51f2077a X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=fbd72e03-d4a5-4110-adce-614d51f2077a;Ip=[66.35.236.227];Helo=[sj-itexedge03.altera.priv.altera.com] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: BLUPR03MB199 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Wed, 18 Nov 2015, Tobias Klauser wrote: > 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 > > > Thanks Tobias! Acked-by: Alan Tull Alan