mirror of
https://github.com/torvalds/linux.git
synced 2026-06-08 14:42:37 +02:00
hfsplus: Fix kfree of wrong pointers in hfsplus_fill_super() error path
commitf588c960fcupstream. Commit6596528e39("hfsplus: ensure bio requests are not smaller than the hardware sectors") changed the pointers used for volume header allocations but failed to free the correct pointers in the error path path of hfsplus_fill_super() and hfsplus_read_wrapper. The second hunk came from a separate patch by Pavel Ivanov. Reported-by: Pavel Ivanov <paivanof@gmail.com> Signed-off-by: Seth Forshee <seth.forshee@canonical.com> Signed-off-by: Christoph Hellwig <hch@tuxera.com> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
This commit is contained in:
parent
818c85eb8d
commit
d2a0110b7f
|
|
@ -508,8 +508,8 @@ static int hfsplus_fill_super(struct super_block *sb, void *data, int silent)
|
|||
out_close_ext_tree:
|
||||
hfs_btree_close(sbi->ext_tree);
|
||||
out_free_vhdr:
|
||||
kfree(sbi->s_vhdr);
|
||||
kfree(sbi->s_backup_vhdr);
|
||||
kfree(sbi->s_vhdr_buf);
|
||||
kfree(sbi->s_backup_vhdr_buf);
|
||||
out_unload_nls:
|
||||
unload_nls(sbi->nls);
|
||||
unload_nls(nls);
|
||||
|
|
|
|||
|
|
@ -275,9 +275,9 @@ int hfsplus_read_wrapper(struct super_block *sb)
|
|||
return 0;
|
||||
|
||||
out_free_backup_vhdr:
|
||||
kfree(sbi->s_backup_vhdr);
|
||||
kfree(sbi->s_backup_vhdr_buf);
|
||||
out_free_vhdr:
|
||||
kfree(sbi->s_vhdr);
|
||||
kfree(sbi->s_vhdr_buf);
|
||||
out:
|
||||
return error;
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user