| From 8eb2fd00153a3a96a19c62ac9c6d48c2efebe5e8 Mon Sep 17 00:00:00 2001 |
| From: Denis Efremov <efremov@linux.com> |
| Date: Mon, 21 Sep 2020 20:03:35 +0300 |
| Subject: btrfs: use kvzalloc() to allocate clone_roots in btrfs_ioctl_send() |
| |
| From: Denis Efremov <efremov@linux.com> |
| |
| commit 8eb2fd00153a3a96a19c62ac9c6d48c2efebe5e8 upstream. |
| |
| btrfs_ioctl_send() used open-coded kvzalloc implementation earlier. |
| The code was accidentally replaced with kzalloc() call [1]. Restore |
| the original code by using kvzalloc() to allocate sctx->clone_roots. |
| |
| [1] https://patchwork.kernel.org/patch/9757891/#20529627 |
| |
| Fixes: 818e010bf9d0 ("btrfs: replace opencoded kvzalloc with the helper") |
| CC: stable@vger.kernel.org # 4.14+ |
| Signed-off-by: Denis Efremov <efremov@linux.com> |
| Reviewed-by: David Sterba <dsterba@suse.com> |
| Signed-off-by: David Sterba <dsterba@suse.com> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| |
| --- |
| fs/btrfs/send.c | 2 +- |
| 1 file changed, 1 insertion(+), 1 deletion(-) |
| |
| --- a/fs/btrfs/send.c |
| +++ b/fs/btrfs/send.c |
| @@ -7300,7 +7300,7 @@ long btrfs_ioctl_send(struct file *mnt_f |
| |
| alloc_size = sizeof(struct clone_root) * (arg->clone_sources_count + 1); |
| |
| - sctx->clone_roots = kzalloc(alloc_size, GFP_KERNEL); |
| + sctx->clone_roots = kvzalloc(alloc_size, GFP_KERNEL); |
| if (!sctx->clone_roots) { |
| ret = -ENOMEM; |
| goto out; |