[PATCH 5.9 229/391] btrfs: use kvzalloc() to allocate clone_roots in btrfs_ioctl_send()

From: Greg Kroah-Hartman
Date: Tue Nov 03 2020 - 15:46:37 EST


From: Denis Efremov <efremov@xxxxxxxxx>

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@xxxxxxxxxxxxxxx # 4.14+
Signed-off-by: Denis Efremov <efremov@xxxxxxxxx>
Reviewed-by: David Sterba <dsterba@xxxxxxxx>
Signed-off-by: David Sterba <dsterba@xxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>

---
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;