| From 4559b0a71749c442d34f7cfb9e72c9e58db83948 Mon Sep 17 00:00:00 2001 |
| From: Josef Bacik <josef@toxicpanda.com> |
| Date: Thu, 19 Jul 2018 10:49:51 -0400 |
| Subject: btrfs: don't leak ret from do_chunk_alloc |
| |
| From: Josef Bacik <josef@toxicpanda.com> |
| |
| commit 4559b0a71749c442d34f7cfb9e72c9e58db83948 upstream. |
| |
| If we're trying to make a data reservation and we have to allocate a |
| data chunk we could leak ret == 1, as do_chunk_alloc() will return 1 if |
| it allocated a chunk. Since the end of the function is the success path |
| just return 0. |
| |
| CC: stable@vger.kernel.org # 4.4+ |
| Signed-off-by: Josef Bacik <josef@toxicpanda.com> |
| Reviewed-by: Nikolay Borisov <nborisov@suse.com> |
| Signed-off-by: David Sterba <dsterba@suse.com> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| |
| --- |
| fs/btrfs/extent-tree.c | 2 +- |
| 1 file changed, 1 insertion(+), 1 deletion(-) |
| |
| --- a/fs/btrfs/extent-tree.c |
| +++ b/fs/btrfs/extent-tree.c |
| @@ -4407,7 +4407,7 @@ commit_trans: |
| data_sinfo->flags, bytes, 1); |
| spin_unlock(&data_sinfo->lock); |
| |
| - return ret; |
| + return 0; |
| } |
| |
| int btrfs_check_data_free_space(struct inode *inode, |