BKL: Remove BKL from ext3 fill_super()
The BKL is protecting nothing than two memory allocations here. Signed-off-by: Jan Blunck <jblunck@infradead.org> Acked-by: Jan Kara <jack@suse.cz> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
This commit is contained in:
Родитель
b0991aa324
Коммит
d646cf82e9
|
@ -1611,19 +1611,14 @@ static int ext3_fill_super (struct super_block *sb, void *data, int silent)
|
|||
__le32 features;
|
||||
int err;
|
||||
|
||||
lock_kernel();
|
||||
|
||||
sbi = kzalloc(sizeof(*sbi), GFP_KERNEL);
|
||||
if (!sbi) {
|
||||
unlock_kernel();
|
||||
if (!sbi)
|
||||
return -ENOMEM;
|
||||
}
|
||||
|
||||
sbi->s_blockgroup_lock =
|
||||
kzalloc(sizeof(struct blockgroup_lock), GFP_KERNEL);
|
||||
if (!sbi->s_blockgroup_lock) {
|
||||
kfree(sbi);
|
||||
unlock_kernel();
|
||||
return -ENOMEM;
|
||||
}
|
||||
sb->s_fs_info = sbi;
|
||||
|
@ -1632,8 +1627,6 @@ static int ext3_fill_super (struct super_block *sb, void *data, int silent)
|
|||
sbi->s_resgid = EXT3_DEF_RESGID;
|
||||
sbi->s_sb_block = sb_block;
|
||||
|
||||
unlock_kernel();
|
||||
|
||||
blocksize = sb_min_blocksize(sb, EXT3_MIN_BLOCK_SIZE);
|
||||
if (!blocksize) {
|
||||
ext3_msg(sb, KERN_ERR, "error: unable to set blocksize");
|
||||
|
@ -2030,8 +2023,6 @@ static int ext3_fill_super (struct super_block *sb, void *data, int silent)
|
|||
test_opt(sb,DATA_FLAGS) == EXT3_MOUNT_ORDERED_DATA ? "ordered":
|
||||
"writeback");
|
||||
|
||||
lock_kernel();
|
||||
unlock_kernel();
|
||||
return 0;
|
||||
|
||||
cantfind_ext3:
|
||||
|
@ -2061,8 +2052,6 @@ out_fail:
|
|||
sb->s_fs_info = NULL;
|
||||
kfree(sbi->s_blockgroup_lock);
|
||||
kfree(sbi);
|
||||
lock_kernel();
|
||||
unlock_kernel();
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
|
Загрузка…
Ссылка в новой задаче