From nobody Wed Nov 27 08:43:40 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass header.i=@intel.com; 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=pass(p=none dis=none) header.from=intel.com ARC-Seal: i=1; a=rsa-sha256; t=1700032609; cv=none; d=zohomail.com; s=zohoarc; b=KwKPuLxDyICn5zZDqCb+OUkg4jifvuSQQNhW57x816PJKugFFsBGf6YkyHyb3AUmDKRVGyLtcB+mM8q9V4NMVA4Hs4HlYclPn6u4w0xklXFBTwNP+OAe/TcZCClHuzdZfpE/ZiuY+l/7NaCCXRcWb+aeeHDehSDcDkTPYgi8DeQ= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1700032609; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=qKkptFzI/Yc2YaJriMf23LrtcaAnz8k12xIAGfEL5x4=; b=BfaB4vMNBqd8xFO3oGfqIVfEmffqpwm0skhEYwdPiK/1juckZ3gt6U/X1T4Ee8kM7YSmCM4sbFPlda6/2ChmIC22I2IKsBuguyTXEWfuyAGbAD34gMJtJcRdTJo5qoqIRpVJqfuC2JO/p1PGvJoKgWHsM8HBMXKYmT9yNjS8hfA= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass header.i=@intel.com; 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=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1700032609399364.0605820723016; Tue, 14 Nov 2023 23:16:49 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1r3A8i-0006R4-IN; Wed, 15 Nov 2023 02:16:45 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1r3A8Z-00060o-Jz for qemu-devel@nongnu.org; Wed, 15 Nov 2023 02:16:40 -0500 Received: from mgamail.intel.com ([192.55.52.115]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1r3A8W-0002AL-2K for qemu-devel@nongnu.org; Wed, 15 Nov 2023 02:16:33 -0500 Received: from orsmga003.jf.intel.com ([10.7.209.27]) by fmsmga103.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 14 Nov 2023 23:16:24 -0800 Received: from lxy-clx-4s.sh.intel.com ([10.239.48.52]) by orsmga003.jf.intel.com with ESMTP; 14 Nov 2023 23:16:16 -0800 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1700032592; x=1731568592; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=I+Zt4PPlUf4SBKG5BHDSP7VkS1LcDTzb79bbPWPOk4I=; b=cdm6QWEmSA8eMsfLMD1xGXCeVJlqjLjaRjpHuRhf9+4cJsP0qjeYBs9O KdtNaeVYGIEQfHXKb/drK3IjVbZb2eL8XjqobkbjqZCX40JCZ6+DZeB78 PTjFAsEb9HP1fVe3iLAhhLSn2fctaiuydS5EqKYK6RDXlGJ9Y5Dce1vRo OgGUg1u8DVAtz/VXBIY1gIotLTVoxP5w0zlb+iHw/5GdbNfmv88BTsXsb Xv3TJ0SAoq/tgBwGXUywn9Aro/XA9bgXDwzmrdJ3Wmph+DXAi+F5rOl6x 3zaUz/2eOgVx1gsOBb5kVu3BvgDG4cY4TWWBpTYRDhpqiBYNQalmgsv5I Q==; X-IronPort-AV: E=McAfee;i="6600,9927,10894"; a="390622194" X-IronPort-AV: E=Sophos;i="6.03,304,1694761200"; d="scan'208";a="390622194" X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10894"; a="714797046" X-IronPort-AV: E=Sophos;i="6.03,304,1694761200"; d="scan'208";a="714797046" From: Xiaoyao Li To: Paolo Bonzini , David Hildenbrand , Igor Mammedov , "Michael S . Tsirkin" , Marcel Apfelbaum , Richard Henderson , Peter Xu , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Cornelia Huck , =?UTF-8?q?Daniel=20P=20=2E=20Berrang=C3=A9?= , Eric Blake , Markus Armbruster , Marcelo Tosatti Cc: qemu-devel@nongnu.org, kvm@vger.kernel.org, xiaoyao.li@intel.com, Michael Roth , Sean Christopherson , Claudio Fontana , Gerd Hoffmann , Isaku Yamahata , Chenyi Qiang Subject: [PATCH v3 07/70] physmem: Relax the alignment check of host_startaddr in ram_block_discard_range() Date: Wed, 15 Nov 2023 02:14:16 -0500 Message-Id: <20231115071519.2864957-8-xiaoyao.li@intel.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20231115071519.2864957-1-xiaoyao.li@intel.com> References: <20231115071519.2864957-1-xiaoyao.li@intel.com> MIME-Version: 1.0 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=192.55.52.115; envelope-from=xiaoyao.li@intel.com; helo=mgamail.intel.com X-Spam_score_int: -23 X-Spam_score: -2.4 X-Spam_bar: -- X-Spam_report: (-2.4 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, HK_RANDOM_ENVFROM=0.999, HK_RANDOM_FROM=0.999, RCVD_IN_DNSWL_MED=-2.3, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @intel.com) X-ZM-MESSAGEID: 1700032610634100005 Content-Type: text/plain; charset="utf-8" Commit d3a5038c461 ("exec: ram_block_discard_range") introduced ram_block_discard_range() which grabs some code from ram_discard_range(). However, during code movement, it changed alignment check of host_startaddr from qemu_host_page_size to rb->page_size. When ramblock is back'ed by hugepage, it requires the startaddr to be huge page size aligned, which is a overkill. e.g., TDX's private-shared page conversion is done at 4KB granularity. Shared page is discarded when it gets converts to private and when shared page back'ed by hugepage it is going to fail on this check. So change to alignment check back to qemu_host_page_size. Signed-off-by: Xiaoyao Li --- Changes in v3: - Newly added in v3; --- system/physmem.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/system/physmem.c b/system/physmem.c index c56b17e44df6..8a4e42c7cf60 100644 --- a/system/physmem.c +++ b/system/physmem.c @@ -3532,7 +3532,7 @@ int ram_block_discard_range(RAMBlock *rb, uint64_t st= art, size_t length) =20 uint8_t *host_startaddr =3D rb->host + start; =20 - if (!QEMU_PTR_IS_ALIGNED(host_startaddr, rb->page_size)) { + if (!QEMU_PTR_IS_ALIGNED(host_startaddr, qemu_host_page_size)) { error_report("ram_block_discard_range: Unaligned start address: %p= ", host_startaddr); goto err; --=20 2.34.1