* Mon Oct 07 2024 Miroslav Rezanina <mrezanin@redhat.com> - 9.1.0-3
- kvm-hostmem-Apply-merge-property-after-the-memory-region.patch [RHEL-58936] - Resolves: RHEL-58936 ([RHEL-10.0] QEMU core dump on applying merge property to memory backend)
This commit is contained in:
parent
56d8e9c672
commit
ad7bebfd0a
@ -0,0 +1,61 @@
|
|||||||
|
From d0163127a47250170e01e39f48250a2725f531c0 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Gavin Shan <gshan@redhat.com>
|
||||||
|
Date: Tue, 1 Oct 2024 16:58:57 +1000
|
||||||
|
Subject: [PATCH] hostmem: Apply merge property after the memory region is
|
||||||
|
initialized
|
||||||
|
|
||||||
|
RH-Author: Gavin Shan <gshan@redhat.com>
|
||||||
|
RH-MergeRequest: 272: hostmem: Apply merge property after the memory region is initialized
|
||||||
|
RH-Jira: RHEL-58936
|
||||||
|
RH-Acked-by: Cornelia Huck <cohuck@redhat.com>
|
||||||
|
RH-Acked-by: Eric Auger <eric.auger@redhat.com>
|
||||||
|
RH-Acked-by: David Hildenbrand <david@redhat.com>
|
||||||
|
RH-Commit: [1/1] aa47bedf64698b277bb8835f4689d4f1d5eca53c (gwshan/qemu-centos)
|
||||||
|
|
||||||
|
JIRA: https://issues.redhat.com/browse/RHEL-58936
|
||||||
|
|
||||||
|
The semantic change has been introduced by commit 5becdc0ab0 ("hostmem:
|
||||||
|
simplify the code for merge and dump properties") even it clarifies that
|
||||||
|
no senmatic change has been introduced. After the commit, the merge
|
||||||
|
property can be applied even the corresponding memory region isn't
|
||||||
|
initialized yet. This leads to crash dump by the following command
|
||||||
|
lines.
|
||||||
|
|
||||||
|
# /home/gavin/sandbox/qemu.main/build/qemu-system-aarch64 \
|
||||||
|
-accel kvm -machine virt -cpu host \
|
||||||
|
-object memory-backend-ram,id=mem-memN0,size=4096M,merge=off
|
||||||
|
:
|
||||||
|
qemu-system-aarch64: ../system/memory.c:2419: memory_region_get_ram_ptr: \
|
||||||
|
Assertion `mr->ram_block' failed.
|
||||||
|
|
||||||
|
Fix it by applying the merge property only when the memory region is
|
||||||
|
initialized.
|
||||||
|
|
||||||
|
Message-ID: <20240915233117.478169-1-gshan@redhat.com>
|
||||||
|
Fixes: 5becdc0ab083 ("hostmem: simplify the code for merge and dump properties")
|
||||||
|
Reported-by: Zhenyu Zhang <zhenyzha@redhat.com>
|
||||||
|
Tested-by: Zhenyu Zhang <zhenyzha@redhat.com>
|
||||||
|
Signed-off-by: Gavin Shan <gshan@redhat.com>
|
||||||
|
Signed-off-by: David Hildenbrand <david@redhat.com>
|
||||||
|
(cherry picked from commit 78c8f780d3f0d6d17aa93d6f99ff72960080fdd7)
|
||||||
|
Signed-off-by: Gavin Shan <gshan@redhat.com>
|
||||||
|
---
|
||||||
|
backends/hostmem.c | 2 +-
|
||||||
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/backends/hostmem.c b/backends/hostmem.c
|
||||||
|
index 4e5576a4ad..181446626a 100644
|
||||||
|
--- a/backends/hostmem.c
|
||||||
|
+++ b/backends/hostmem.c
|
||||||
|
@@ -178,7 +178,7 @@ static void host_memory_backend_set_merge(Object *obj, bool value, Error **errp)
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
- if (!host_memory_backend_mr_inited(backend) &&
|
||||||
|
+ if (host_memory_backend_mr_inited(backend) &&
|
||||||
|
value != backend->merge) {
|
||||||
|
void *ptr = memory_region_get_ram_ptr(&backend->mr);
|
||||||
|
uint64_t sz = memory_region_size(&backend->mr);
|
||||||
|
--
|
||||||
|
2.39.3
|
||||||
|
|
@ -143,7 +143,7 @@ Obsoletes: %{name}-block-ssh <= %{epoch}:%{version} \
|
|||||||
Summary: QEMU is a machine emulator and virtualizer
|
Summary: QEMU is a machine emulator and virtualizer
|
||||||
Name: qemu-kvm
|
Name: qemu-kvm
|
||||||
Version: 9.1.0
|
Version: 9.1.0
|
||||||
Release: 2%{?rcrel}%{?dist}%{?cc_suffix}
|
Release: 3%{?rcrel}%{?dist}%{?cc_suffix}
|
||||||
# Epoch because we pushed a qemu-1.0 package. AIUI this can't ever be dropped
|
# Epoch because we pushed a qemu-1.0 package. AIUI this can't ever be dropped
|
||||||
# Epoch 15 used for RHEL 8
|
# Epoch 15 used for RHEL 8
|
||||||
# Epoch 17 used for RHEL 9 (due to release versioning offset in RHEL 8.5)
|
# Epoch 17 used for RHEL 9 (due to release versioning offset in RHEL 8.5)
|
||||||
@ -235,6 +235,8 @@ Patch32: kvm-remove-stale-compat-definitions.patch
|
|||||||
Patch33: kvm-RH-Author-Shaoqin-Huang-shahuang-redhat.com.patch
|
Patch33: kvm-RH-Author-Shaoqin-Huang-shahuang-redhat.com.patch
|
||||||
# For RHEL-57028 - fsfreeze hooks break on the systems first restorecon [rhel-10]
|
# For RHEL-57028 - fsfreeze hooks break on the systems first restorecon [rhel-10]
|
||||||
Patch34: kvm-qemu-guest-agent-Update-the-logfile-path-of-qga-fsfr.patch
|
Patch34: kvm-qemu-guest-agent-Update-the-logfile-path-of-qga-fsfr.patch
|
||||||
|
# For RHEL-58936 - [RHEL-10.0] QEMU core dump on applying merge property to memory backend
|
||||||
|
Patch35: kvm-hostmem-Apply-merge-property-after-the-memory-region.patch
|
||||||
|
|
||||||
%if %{have_clang}
|
%if %{have_clang}
|
||||||
BuildRequires: clang
|
BuildRequires: clang
|
||||||
@ -1302,6 +1304,11 @@ useradd -r -u 107 -g qemu -G kvm -d / -s /sbin/nologin \
|
|||||||
%endif
|
%endif
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Mon Oct 07 2024 Miroslav Rezanina <mrezanin@redhat.com> - 9.1.0-3
|
||||||
|
- kvm-hostmem-Apply-merge-property-after-the-memory-region.patch [RHEL-58936]
|
||||||
|
- Resolves: RHEL-58936
|
||||||
|
([RHEL-10.0] QEMU core dump on applying merge property to memory backend)
|
||||||
|
|
||||||
* Mon Sep 30 2024 Miroslav Rezanina <mrezanin@redhat.com> - 9.1.0-2
|
* Mon Sep 30 2024 Miroslav Rezanina <mrezanin@redhat.com> - 9.1.0-2
|
||||||
- kvm-x86-create-new-pc-q35-machine-type-for-rhel-9.6.patch [RHEL-29002 RHEL-29003 RHEL-35587 RHEL-38411 RHEL-45141]
|
- kvm-x86-create-new-pc-q35-machine-type-for-rhel-9.6.patch [RHEL-29002 RHEL-29003 RHEL-35587 RHEL-38411 RHEL-45141]
|
||||||
- kvm-arm-create-new-virt-machine-type-for-rhel-9.6.patch [RHEL-29002 RHEL-29003 RHEL-35587 RHEL-38411 RHEL-45141]
|
- kvm-arm-create-new-virt-machine-type-for-rhel-9.6.patch [RHEL-29002 RHEL-29003 RHEL-35587 RHEL-38411 RHEL-45141]
|
||||||
|
Loading…
Reference in New Issue
Block a user