[dpdk-dev] net/qede: fix resource leak
Checks
Commit Message
Current code does not close 'fd' on function exit, leaking resources.
Signed-off-by: Yong Wang <wang.yong19@zte.com.cn>
---
drivers/net/qede/qede_main.c | 3 +++
1 file changed, 3 insertions(+)
Comments
On 11/30/2016 12:32 PM, Yong Wang wrote:
> Current code does not close 'fd' on function exit, leaking resources.
>
> Signed-off-by: Yong Wang <wang.yong19@zte.com.cn>
> ---
Add new mail address of the maintainer.
CC: Harish Patil <harish.patil@cavium.com>
<...>
>On 11/30/2016 12:32 PM, Yong Wang wrote:
>> Current code does not close 'fd' on function exit, leaking resources.
>>
>> Signed-off-by: Yong Wang <wang.yong19@zte.com.cn>
>> ---
>
>Add new mail address of the maintainer.
>
>CC: Harish Patil <harish.patil@cavium.com>
>
><...>
>
Acked-by: Harish Patil <harish.patil@qlogic.com>
On 12/12/2016 7:32 PM, Harish Patil wrote:
>
>> On 11/30/2016 12:32 PM, Yong Wang wrote:
>>> Current code does not close 'fd' on function exit, leaking resources.
>>>
>>> Signed-off-by: Yong Wang <wang.yong19@zte.com.cn>
>>> ---
>>
>> Add new mail address of the maintainer.
>>
>> CC: Harish Patil <harish.patil@cavium.com>
>>
>> <...>
>>
>
> Acked-by: Harish Patil <harish.patil@qlogic.com>
>
Applied to dpdk-next-net/master, thanks.
On 11/30/2016 12:32 PM, Yong Wang wrote:
> Current code does not close 'fd' on function exit, leaking resources.
>
> Signed-off-by: Yong Wang <wang.yong19@zte.com.cn>
CC: stable@dpdk.org
> ---
> drivers/net/qede/qede_main.c | 3 +++
> 1 file changed, 3 insertions(+)
>
> diff --git a/drivers/net/qede/qede_main.c b/drivers/net/qede/qede_main.c
> index ab22409..b666e1c 100644
> --- a/drivers/net/qede/qede_main.c
> +++ b/drivers/net/qede/qede_main.c
> @@ -137,6 +137,7 @@ static int qed_load_firmware_data(struct ecore_dev *edev)
>
> if (fstat(fd, &st) < 0) {
> DP_NOTICE(edev, false, "Can't stat firmware file\n");
> + close(fd);
> return -1;
> }
>
> @@ -158,9 +159,11 @@ static int qed_load_firmware_data(struct ecore_dev *edev)
> if (edev->fw_len < 104) {
> DP_NOTICE(edev, false, "Invalid fw size: %" PRIu64 "\n",
> edev->fw_len);
> + close(fd);
> return -EINVAL;
> }
>
> + close(fd);
> return 0;
> }
> #endif
>
@@ -137,6 +137,7 @@ static int qed_load_firmware_data(struct ecore_dev *edev)
if (fstat(fd, &st) < 0) {
DP_NOTICE(edev, false, "Can't stat firmware file\n");
+ close(fd);
return -1;
}
@@ -158,9 +159,11 @@ static int qed_load_firmware_data(struct ecore_dev *edev)
if (edev->fw_len < 104) {
DP_NOTICE(edev, false, "Invalid fw size: %" PRIu64 "\n",
edev->fw_len);
+ close(fd);
return -EINVAL;
}
+ close(fd);
return 0;
}
#endif