btrfs-progs: call endmntent in btrfs_scan_kernel

btrfs_scan_kernel() does a getmntent() but never releases the
filedescriptor it gets back from that.

Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=64711

Reported-by: Arjan van de Ven <arjan@linux.intel.com>
Signed-off-by: David Sterba <dsterba@suse.cz>
Signed-off-by: Chris Mason <clm@fb.com>
master
David Sterba 2013-11-27 18:14:58 +01:00 committed by Chris Mason
parent 53ee1bccf9
commit 37cd29521a
1 changed files with 9 additions and 5 deletions

View File

@ -449,11 +449,12 @@ static int btrfs_scan_kernel(void *search)
ret = get_fs_info(mnt->mnt_dir, &fs_info_arg,
&dev_info_arg);
if (ret)
return ret;
goto out;
if (get_label_mounted(mnt->mnt_dir, label)) {
kfree(dev_info_arg);
return 1;
ret = 1;
goto out;
}
if (search && !match_search_item_kernel(fs_info_arg.fsid,
mnt->mnt_dir, label, search)) {
@ -472,11 +473,14 @@ static int btrfs_scan_kernel(void *search)
close(fd);
kfree(dev_info_arg);
if (search)
return 0;
ret = 0;
}
if (search)
return 1;
return 0;
ret = 1;
out:
endmntent(f);
return ret;
}
static const char * const cmd_show_usage[] = {