On exiting hfs_fill_super, the file descriptor used in hfs_find_init should be passed to hfs_find_exit to be cleaned up, and to release the lock held on the btree. The call to hfs_find_exit is missing from this error path, so we add it in to release resources. Signed-off-by: Desmond Cheong Zhi Xi <desmondcheongzx@xxxxxxxxx> --- fs/hfs/super.c | 1 + 1 file changed, 1 insertion(+) diff --git a/fs/hfs/super.c b/fs/hfs/super.c index 44d07c9e3a7f..48340b77eb36 100644 --- a/fs/hfs/super.c +++ b/fs/hfs/super.c @@ -419,6 +419,7 @@ static int hfs_fill_super(struct super_block *sb, void *data, int silent) res = hfs_cat_find_brec(sb, HFS_ROOT_CNID, &fd); if (!res) { if (fd.entrylength > sizeof(rec) || fd.entrylength < 0) { + hfs_find_exit(&fd); res = -EIO; goto bail; } -- 2.25.1