ext4: fix missing ext4_unlock_group in error path
If we try to free a block which is already freed, the code was returning without first unlocking the group. Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com> Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
This commit is contained in:
Родитель
2423840ded
Коммит
ae2d9fb18e
|
@ -4441,6 +4441,7 @@ ext4_mb_free_metadata(handle_t *handle, struct ext4_buddy *e4b,
|
||||||
else if (block >= (entry->start_blk + entry->count))
|
else if (block >= (entry->start_blk + entry->count))
|
||||||
n = &(*n)->rb_right;
|
n = &(*n)->rb_right;
|
||||||
else {
|
else {
|
||||||
|
ext4_unlock_group(sb, group);
|
||||||
ext4_error(sb, __func__,
|
ext4_error(sb, __func__,
|
||||||
"Double free of blocks %d (%d %d)\n",
|
"Double free of blocks %d (%d %d)\n",
|
||||||
block, entry->start_blk, entry->count);
|
block, entry->start_blk, entry->count);
|
||||||
|
|
Загрузка…
Ссылка в новой задаче