From nobody Sun Feb 8 12:20:39 2026 Delivered-To: importer@patchew.org Received-SPF: none (zohomail.com: 8.43.85.245 is neither permitted nor denied by domain of lists.libvirt.org) client-ip=8.43.85.245; envelope-from=devel-bounces@lists.libvirt.org; helo=lists.libvirt.org; Authentication-Results: mx.zohomail.com; spf=none (zohomail.com: 8.43.85.245 is neither permitted nor denied by domain of lists.libvirt.org) smtp.mailfrom=devel-bounces@lists.libvirt.org; dmarc=fail(p=none dis=none) header.from=redhat.com Return-Path: Received: from lists.libvirt.org (lists.libvirt.org [8.43.85.245]) by mx.zohomail.com with SMTPS id 1699271129468332.7088862964282; Mon, 6 Nov 2023 03:45:29 -0800 (PST) Received: by lists.libvirt.org (Postfix, from userid 996) id 6382319B7; Mon, 6 Nov 2023 06:45:28 -0500 (EST) Received: from lists.libvirt.org (localhost [IPv6:::1]) by lists.libvirt.org (Postfix) with ESMTP id C3CFB198E; Mon, 6 Nov 2023 06:39:24 -0500 (EST) Received: by lists.libvirt.org (Postfix, from userid 996) id 75916197F; Mon, 6 Nov 2023 06:38:51 -0500 (EST) Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by lists.libvirt.org (Postfix) with ESMTPS id 950501970 for ; Mon, 6 Nov 2023 06:38:50 -0500 (EST) Received: from mimecast-mx02.redhat.com (mimecast-mx02.redhat.com [66.187.233.88]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-668-XyJ0qMG9MmySyRCz5OKZEw-1; Mon, 06 Nov 2023 06:38:48 -0500 Received: from smtp.corp.redhat.com (int-mx05.intmail.prod.int.rdu2.redhat.com [10.11.54.5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 3BEC8821C23 for ; Mon, 6 Nov 2023 11:38:48 +0000 (UTC) Received: from maggie.brq.redhat.com (unknown [10.43.3.102]) by smtp.corp.redhat.com (Postfix) with ESMTP id DA57710E45 for ; Mon, 6 Nov 2023 11:38:47 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on lists.libvirt.org X-Spam-Level: X-Spam-Status: No, score=-0.8 required=5.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H3, RCVD_IN_MSPIKE_WL,SPF_HELO_NONE,T_SCC_BODY_TEXT_LINE autolearn=unavailable autolearn_force=no version=3.4.4 X-MC-Unique: XyJ0qMG9MmySyRCz5OKZEw-1 From: Michal Privoznik To: devel@lists.libvirt.org Subject: [PATCH 3/5] virDomainMemoryDefCheckConflict: Check dimm & nvdimm models too Date: Mon, 6 Nov 2023 12:38:26 +0100 Message-ID: In-Reply-To: References: MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.4.1 on 10.11.54.5 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Message-ID-Hash: 4IJ76WANESF77WNAUETZI3GGAJ2YVBLW X-Message-ID-Hash: 4IJ76WANESF77WNAUETZI3GGAJ2YVBLW X-MailFrom: mprivozn@redhat.com X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-config-1; header-match-config-2; header-match-config-3; header-match-devel.lists.libvirt.org-0; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; suspicious-header X-Mailman-Version: 3.2.2 Precedence: list List-Id: Development discussions about the libvirt library & tools Archived-At: List-Archive: List-Help: List-Post: List-Subscribe: List-Unsubscribe: Content-Type: text/plain; charset="utf-8"; x-default="true" Content-Transfer-Encoding: quoted-printable X-ZM-MESSAGEID: 1699271130206100001 So far we check whether virtio-mem and/or virtio-pmem memory devices do not overlap with each other. But we allow specifying address where dimm and nvdimm memory devices are mapped too. And there are left out from this collision check. Not anymore. This leaves just sgx model out, but that's expected since it can't have any address (see virDomainMemoryDefValidate()). Resolves: https://issues.redhat.com/browse/RHEL-4452 Signed-off-by: Michal Privoznik Reviewed-by: Peter Krempa --- src/conf/domain_validate.c | 12 ++++++++++-- ...plug-virtio-mem-overlap-address.x86_64-latest.err | 2 +- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/src/conf/domain_validate.c b/src/conf/domain_validate.c index b4ffef919a..5d9602666e 100644 --- a/src/conf/domain_validate.c +++ b/src/conf/domain_validate.c @@ -2234,6 +2234,10 @@ virDomainMemoryDefCheckConflict(const virDomainMemor= yDef *mem, break; case VIR_DOMAIN_MEMORY_MODEL_DIMM: case VIR_DOMAIN_MEMORY_MODEL_NVDIMM: + if (mem->info.type =3D=3D VIR_DOMAIN_DEVICE_ADDRESS_TYPE_DIMM) { + thisStart =3D mem->info.addr.dimm.base; + } + break; case VIR_DOMAIN_MEMORY_MODEL_SGX_EPC: case VIR_DOMAIN_MEMORY_MODEL_NONE: case VIR_DOMAIN_MEMORY_MODEL_LAST: @@ -2271,13 +2275,17 @@ virDomainMemoryDefCheckConflict(const virDomainMemo= ryDef *mem, =20 switch (other->model) { case VIR_DOMAIN_MEMORY_MODEL_NONE: - case VIR_DOMAIN_MEMORY_MODEL_DIMM: - case VIR_DOMAIN_MEMORY_MODEL_NVDIMM: case VIR_DOMAIN_MEMORY_MODEL_SGX_EPC: case VIR_DOMAIN_MEMORY_MODEL_LAST: continue; break; =20 + case VIR_DOMAIN_MEMORY_MODEL_DIMM: + case VIR_DOMAIN_MEMORY_MODEL_NVDIMM: + if (other->info.type =3D=3D VIR_DOMAIN_DEVICE_ADDRESS_TYPE_DIM= M) { + otherStart =3D other->info.addr.dimm.base; + } + break; case VIR_DOMAIN_MEMORY_MODEL_VIRTIO_PMEM: otherStart =3D other->target.virtio_pmem.address; break; diff --git a/tests/qemuxml2argvdata/memory-hotplug-virtio-mem-overlap-addre= ss.x86_64-latest.err b/tests/qemuxml2argvdata/memory-hotplug-virtio-mem-ove= rlap-address.x86_64-latest.err index 36d5b8a6e6..6a1ad4556d 100644 --- a/tests/qemuxml2argvdata/memory-hotplug-virtio-mem-overlap-address.x86_= 64-latest.err +++ b/tests/qemuxml2argvdata/memory-hotplug-virtio-mem-overlap-address.x86_= 64-latest.err @@ -1 +1 @@ -unsupported configuration: memory device address [0x140000000:0x180000000]= overlaps with other memory device (0x170000000) +unsupported configuration: memory device address [0x170000000:0x178000000]= overlaps with other memory device (0x170000000) --=20 2.41.0 _______________________________________________ Devel mailing list -- devel@lists.libvirt.org To unsubscribe send an email to devel-leave@lists.libvirt.org