From f75ed59f40bed3ce94adad4b3ebbb7bfacfdf4ab Mon Sep 17 00:00:00 2001 From: Dmitry Frolov Date: Tue, 10 Oct 2023 13:48:53 +0300 Subject: [PATCH] migration: fix RAMBlock add NULL check qemu_ram_block_from_host() may return NULL, which will be dereferenced w/o check. Usualy return value is checked for this function. Found by Linux Verification Center (linuxtesting.org) with SVACE. Signed-off-by: Dmitry Frolov Reviewed-by: Fabiano Rosas Reviewed-by: Peter Xu Reviewed-by: Juan Quintela Signed-off-by: Juan Quintela Message-ID: <20231010104851.802947-1-frolov@swemel.ru> --- migration/ram.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/migration/ram.c b/migration/ram.c index 24d91de8b3..e8df4dc862 100644 --- a/migration/ram.c +++ b/migration/ram.c @@ -4285,6 +4285,11 @@ static void ram_mig_ram_block_resized(RAMBlockNotifier *n, void *host, RAMBlock *rb = qemu_ram_block_from_host(host, false, &offset); Error *err = NULL; + if (!rb) { + error_report("RAM block not found"); + return; + } + if (migrate_ram_is_ignored(rb)) { return; }