From nobody Wed May 15 04:12:45 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1600938946; cv=none; d=zohomail.com; s=zohoarc; b=FYN/ghPns+Uler75nm9j7OSszVLaQf7t9eXuLwq0rN7f5D9ZyO9mh7174TaO+Durq2Z3LYCZIbse3lAHWoG0jliQWcY0TuNoI1+rzEReI1TsYWDEqkQowswRyDm55IqFLwRCp8ivgKW57jX5vGe98PLb4OEx3x2OPmWhA8VIXnI= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1600938946; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:Sender:Subject:To; bh=xrA1xnOQI7cZoLHiSTx7dq0DORnQfVpxcHHT/gOBmIw=; b=FC133gn4aDPk/QQJWKLtrGG9xhmQnzmcmOuywOPX/Ni0IdGFVyZjIw6YluQb1qGQaY2nkn3VtJGM+eKI/jRRQvbJ0Osj7pQT1KZO0mTQSVJ62YuxTzH7aeenkGydjc6Po3V5IgtxQmZOfWYOXMMBSabAzVD30JXV19ToyevmAxs= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1600938946089385.39888014832945; Thu, 24 Sep 2020 02:15:46 -0700 (PDT) Received: from localhost ([::1]:49660 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kLNLs-0003bq-HY for importer@patchew.org; Thu, 24 Sep 2020 05:15:44 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:36520) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kLNKR-0002ld-3q for qemu-devel@nongnu.org; Thu, 24 Sep 2020 05:14:15 -0400 Received: from us-smtp-delivery-124.mimecast.com ([63.128.21.124]:42841) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1kLNKO-0004oT-Vr for qemu-devel@nongnu.org; Thu, 24 Sep 2020 05:14:14 -0400 Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-578-p1Y8jOKiPZydyimlyHfzjw-1; Thu, 24 Sep 2020 05:14:10 -0400 Received: from smtp.corp.redhat.com (int-mx06.intmail.prod.int.phx2.redhat.com [10.5.11.16]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 1DE67420EF; Thu, 24 Sep 2020 09:14:09 +0000 (UTC) Received: from dell-r430-03.lab.eng.brq.redhat.com (dell-r430-03.lab.eng.brq.redhat.com [10.37.153.18]) by smtp.corp.redhat.com (Postfix) with ESMTP id 4B9715C22B; Thu, 24 Sep 2020 09:14:08 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1600938851; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=xrA1xnOQI7cZoLHiSTx7dq0DORnQfVpxcHHT/gOBmIw=; b=WeU6qpA6q0mxGiXCQXhmCk3+QZ55ysMUdTtnUStRMD74G8Evi6dyPEIgT2c/on1vPWChxQ xp7eJGWgaoLICtYXNQUJDRDzQ8Vlt3c49T51EEzn2JHW680f/SOUeuIZ4L0o66mgU65vPZ rECP+KgAiknKCLyoV0aB5PhO3MmK6Q0= X-MC-Unique: p1Y8jOKiPZydyimlyHfzjw-1 From: Igor Mammedov To: qemu-devel@nongnu.org Subject: [PATCH] numa: hmat: require parent cache description before the next level one Date: Thu, 24 Sep 2020 05:14:06 -0400 Message-Id: <20200924091406.1321012-1-imammedo@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.16 Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=imammedo@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=63.128.21.124; envelope-from=imammedo@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-detected-operating-system: by eggs.gnu.org: First seen = 2020/09/24 01:10:00 X-ACL-Warn: Detected OS = Linux 2.2.x-3.x [generic] [fuzzy] X-Spam_score_int: -32 X-Spam_score: -3.3 X-Spam_bar: --- X-Spam_report: (-3.3 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-1.228, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: jingqi.liu@intel.com, ehabkost@redhat.com Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Type: text/plain; charset="utf-8" Spec[1] defines 0 - 3 level memory side cache, however QEMU CLI allows to specify an intermediate cache level without specifying previous level. Such option(s) silently ignored when building HMAT table, which leads to incomplete cache information. Make sure that previous level exists and error out if it hasn't been provided. 1) ACPI 6.2A 5.2.27.5 Memory Side Cache Information Structure Fixes: https://bugzilla.redhat.com/show_bug.cgi?id=3D1842877 Signed-off-by: Igor Mammedov Reviewed-by: Eduardo Habkost --- hw/core/numa.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/hw/core/numa.c b/hw/core/numa.c index f9593ec716..8282e0b2e6 100644 --- a/hw/core/numa.c +++ b/hw/core/numa.c @@ -424,7 +424,13 @@ void parse_numa_hmat_cache(MachineState *ms, NumaHmatC= acheOptions *node, } =20 if ((node->level > 1) && - ms->numa_state->hmat_cache[node->node_id][node->level - 1] && + ms->numa_state->hmat_cache[node->node_id][node->level - 1] =3D=3D = NULL) { + error_setg(errp, "Cache level=3D%" PRIu8 " shall be defined first", + node->level - 1); + return; + } + + if ((node->level > 1) && (node->size <=3D ms->numa_state->hmat_cache[node->node_id][node->level - 1]->si= ze)) { error_setg(errp, "Invalid size=3D%" PRIu64 ", the size of level=3D= %" PRIu8 --=20 2.27.0