Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1333981

[PATCH 4.3 012/200] dm btree: fix leak of bufio-backed block in btree_split_sibling error path

From Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Newsgroups linux.kernel
Subject [PATCH 4.3 012/200] dm btree: fix leak of bufio-backed block in btree_split_sibling error path
Date 2016-02-15 01:30 +0100
Message-ID <r2fd7-1KG-7@gated-at.bofh.it> (permalink)
References <r2duF-zw-3@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw


4.3-stable review patch.  If anyone has any objections, please let me know.

------------------

From: Mike Snitzer <snitzer@redhat.com>

commit 30ce6e1cc5a0f781d60227e9096c86e188d2c2bd upstream.

The block allocated at the start of btree_split_sibling() is never
released if later insert_at() fails.

Fix this by releasing the previously allocated bufio block using
unlock_block().

Reported-by: Mikulas Patocka <mpatocka@redhat.com>
Signed-off-by: Mike Snitzer <snitzer@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

---
 drivers/md/persistent-data/dm-btree.c |    4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

--- a/drivers/md/persistent-data/dm-btree.c
+++ b/drivers/md/persistent-data/dm-btree.c
@@ -471,8 +471,10 @@ static int btree_split_sibling(struct sh
 
 	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);

Back to linux.kernel | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

[PATCH 4.3 000/200] 4.3.6-stable review Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-02-15 01:20 +0100
  [PATCH 4.3 012/200] dm btree: fix leak of bufio-backed block in btree_split_sibling error path Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-02-15 01:30 +0100
  [PATCH 4.3 014/200] block: ensure to split after potentially bouncing a bio Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-02-15 01:30 +0100
  [PATCH 4.3 001/200] crypto: crc32c-pclmul - use .rodata instead of .rotata Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-02-15 01:30 +0100
  [PATCH 4.3 010/200] crypto: sun4i-ss - add missing statesize Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-02-15 01:30 +0100
  [PATCH 4.3 015/200] NFSv4.1/pnfs: Fixup an lo->plh_block_lgets imbalance in layoutreturn Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-02-15 01:30 +0100
  [PATCH 4.3 011/200] block: Always check queue limits for cloned requests Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-02-15 01:30 +0100
  Re: [PATCH 4.3 000/200] 4.3.6-stable review Guenter Roeck <linux@roeck-us.net> - 2016-02-15 01:50 +0100
    Re: [PATCH 4.3 000/200] 4.3.6-stable review Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-02-15 02:00 +0100
  Re: [PATCH 4.3 000/200] 4.3.6-stable review Shuah Khan <shuahkh@osg.samsung.com> - 2016-02-15 16:20 +0100
    Re: [PATCH 4.3 000/200] 4.3.6-stable review Shuah Khan <shuahkh@osg.samsung.com> - 2016-02-15 18:20 +0100
      Re: [PATCH 4.3 000/200] 4.3.6-stable review Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-02-17 21:40 +0100
        Re: [PATCH 4.3 000/200] 4.3.6-stable review Shuah Khan <shuahkh@osg.samsung.com> - 2016-02-17 21:50 +0100
          Re: [PATCH 4.3 000/200] 4.3.6-stable review Shuah Khan <shuahkh@osg.samsung.com> - 2016-02-18 04:20 +0100
            Re: [PATCH 4.3 000/200] 4.3.6-stable review Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-02-19 23:30 +0100
  Re: [PATCH 4.3 000/200] 4.3.6-stable review Guenter Roeck <linux@roeck-us.net> - 2016-02-15 16:50 +0100

csiph-web