dm btree: fix leak of bufio-backed block in btree_split_sibling error path
[cascardo/linux.git] / drivers / md / persistent-data / dm-btree.c
index c573402..0918a7c 100644 (file)
@@ -473,8 +473,10 @@ static int btree_split_sibling(struct shadow_spine *s, unsigned parent_index,
 
        r = insert_at(sizeof(__le64), pn, parent_index + 1,
                      le64_to_cpu(rn->keys[0]), &location);
-       if (r)
+       if (r) {
+               unlock_block(s->info, right);
                return r;
+       }
 
        if (key < le64_to_cpu(rn->keys[0])) {
                unlock_block(s->info, right);