[PATCH 5.15 067/846] virtio/virtio_mem: handle a possible NULL as a memcpy parameter

From: Greg Kroah-Hartman
Date: Mon Jan 24 2022 - 15:40:14 EST


From: Peng Hao <flyingpenghao@xxxxxxxxx>

commit cf4a4493ff70874f8af26d75d4346c591c298e89 upstream.

There is a check for vm->sbm.sb_states before, and it should check
it here as well.

Signed-off-by: Peng Hao <flyingpeng@xxxxxxxxxxx>
Link: https://lore.kernel.org/r/20211222011225.40573-1-flyingpeng@xxxxxxxxxxx
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Fixes: 5f1f79bbc9e2 ("virtio-mem: Paravirtualized memory hotplug")
Cc: stable@xxxxxxxxxxxxxxx # v5.8+
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
---
drivers/virtio/virtio_mem.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

--- a/drivers/virtio/virtio_mem.c
+++ b/drivers/virtio/virtio_mem.c
@@ -577,7 +577,7 @@ static int virtio_mem_sbm_sb_states_prep
return -ENOMEM;

mutex_lock(&vm->hotplug_mutex);
- if (new_bitmap)
+ if (vm->sbm.sb_states)
memcpy(new_bitmap, vm->sbm.sb_states, old_pages * PAGE_SIZE);

old_bitmap = vm->sbm.sb_states;