From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-pf1-f174.google.com (mail-pf1-f174.google.com [209.85.210.174]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id C2CAE3F1678 for ; Mon, 29 Jun 2026 18:59:01 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.210.174 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1782759545; cv=none; b=kpTORcMUGrsM3HJCsbdJgL2BIlBHVAJ8sWsnMdqGhXUQiwcbV2/bMRIrUqcqz8eprjQfDrhLJTaLBXoEoMdyJA3McVekwTyreyJ42CU7smDirpyf33EOeXQJx6AcCxBfHEGRuQBls3V/Bc58aLIbErmBxeVQycyFSCRW0ueFVvs= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1782759545; c=relaxed/simple; bh=aJwg5jdGH5F0B/Z4yutibH5ZyTJoUBqKdaj9Zem8FdA=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=EBHuwTBAPfzf9n02RswcCyWGn2RmPgS7S6VO+4XZWoBAStAOp8eids09q39aDVb8xxbQ5bBdTZi6MB8yvaC8+/TwcRIUQqClTGM1eFRV7W/hK3rt0HPKGgzTayUBYsqeStZsXbO4ZD4WMD4WHryKZKHil5HGfPEulY3i9vBEiH0= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=kWynCxH0; arc=none smtp.client-ip=209.85.210.174 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="kWynCxH0" Received: by mail-pf1-f174.google.com with SMTP id d2e1a72fcca58-845eb7b96feso943044b3a.0 for ; Mon, 29 Jun 2026 11:59:01 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1782759541; x=1783364341; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=33MwGvLoP/1miTKHGEtP2qQNmfdum0WOqxZBRNP9hxM=; b=kWynCxH0I6zacRffwWfFOnlV1o+I+lPA5zkEffktl/uNeVYGPpUvHLfTPd9dJFfs4Z tMdFizyAL5q5+0zlsUJgW8g0luw8ygwWJ3BMDfrcX1K4E2QquKUk9NowUAYKiE5JPMEK YWnwKjIEOHIdZf+3ofmeoSjryLFFxXbgyGQsMCZS1QRs4g2+tDCGOypB2/MXq+pPhGvn hwyEEDGiwDT4ueLpqqnLB5+fcmSq4pSTVwdyWz9ZjZyCHI+XVmrKdgbVdLwUkIN1N8d2 HgH5ctm3B3THTSL9wkP+ojBYqLWcAwBycTuDpxyCoeAl/IUASjEbdO1y+Q+40LujQbrY 3stA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1782759541; x=1783364341; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=33MwGvLoP/1miTKHGEtP2qQNmfdum0WOqxZBRNP9hxM=; b=kU7H93y0c4crOfQSIjr3zEDaTMtW4UVdgAUupSyiF19FJo7qPrL1wZosD1Q2lHwUe0 KOUuQGu0qhuFX2tqSaThFCTIoKdncVXUFZSrubroDgtfJVAu3iQIy1s9cG1JvMWw6ao5 KELE5fyv0D0ZIxWltVbmjBUU2I+T09H3yTO5hJ/vkmhHxqe94H2I+QG6zDmRAOhT0trH V/w02SU7Dh9nXg2L3NUrK+8j82yk387WIBszOvmEfFG+WjtSjND4um2aWLbiUo/0b0mr Z7QBb7TytahNDemQ1cpsrorJkPBqgiu+INi9D1MtvagtDUadxYz+oWpqu1V/JgVD1x1o 9Tig== X-Forwarded-Encrypted: i=1; AFNElJ/xTkRb/TQiN/mdCFtLjFfzyrO1Ma6/SvDsj9CBqIt480E71t1J3R8ErddgvGESLwyRtBd9Mr97zm2ccY4=@vger.kernel.org X-Gm-Message-State: AOJu0Yz+HhRAeu5+nFZSOCZzKQsM0o3RW1XKjekH6LnvNZIpkhytzTDC LfWAxP0DtYEXkum1XWIGCAS1QJS0PilKNYhuqQhYVW6B9ev2ats2CtpH X-Gm-Gg: AfdE7ckCMAqGKykXvPCHV7rIT/Edj4DcsvOmJeVm2dYGQHKzYWalK/vb+NfaVuUPE+H zN79oX+0AkQEGp6ZROL2ZpZMXU/xH7y+tXPW1Ttdui5X/s5pQfNVwczJQ31quRZRSe9l3uWHpr6 odZsMQtNMx8da9NTPwvjMBSV0/qsqQlEip8nmydPIiXmFriXicP+0VMaUJLpPOX+E0cJ7A0G4bQ hwWoxyNInoX9QaUWa/d7V5kGfzzeOEq/Q0O2HPhOxYR3c2dp/inLTIW0TAKkoBMSpG/MivavaVO SAx4Sw7S0VR3NycIKDdvYB0h20CeYd+LMZ99QWlJSwBZa9qL3QaOX/sjE75EWP+H0Zko4BoQ8De B2vLGpkDG1beWBTtt+3yqddJzpc0nXwMS8k43tf8wk5SzAQ+KGjFuFgp9Kk4U+ow+gENdqdQOA7 yXmk4vVe4lqYhsjDzD5RtFMeOVdP/SvzTsFnI9gosVB6X06qsylRB0XYcbwz7A0kzSMauuIoc= X-Received: by 2002:a05:6a00:3d55:b0:846:4d4c:23f8 with SMTP id d2e1a72fcca58-8479eed8099mr524689b3a.1.1782759541059; Mon, 29 Jun 2026 11:59:01 -0700 (PDT) Received: from fedora.hsd1.ca.comcast.net ([2601:644:937c:6c90:6d4e:7b2d:4a39:fb0c]) by smtp.googlemail.com with ESMTPSA id d2e1a72fcca58-8479ff8f959sm223955b3a.3.2026.06.29.11.58.59 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 29 Jun 2026 11:59:00 -0700 (PDT) From: Vishal Moola To: Dave Hansen , linux-mm@kvack.org, linux-kernel@vger.kernel.org, x86@kernel.org Cc: Mike Rapoport , Lu Baolu , xen-devel@lists.xenproject.org, Thomas Gleixner , Ingo Molnar , Borislav Petkov , "H. Peter Anvin" , Andy Lutomirski , Peter Zijlstra , Juergen Gross , Boris Ostrovsky , Vishal Moola , William Kucharski Subject: [PATCH v2 4/9] x86/mm: Convert arch_sync_kernel_mappings() to ptdescs Date: Mon, 29 Jun 2026 11:57:37 -0700 Message-ID: <20260629185742.126987-5-vishal.moola@gmail.com> X-Mailer: git-send-email 2.54.0 In-Reply-To: <20260629185742.126987-1-vishal.moola@gmail.com> References: <20260629185742.126987-1-vishal.moola@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Convert arch_sync_kernel_mappings() to ptdescs in preparation for the eventual splitting of ptdescs from struct page. Following this patch, we can successfully boot a 32-bit x86 kernel with separately allocated ptdescs. Acked-by: Mike Rapoport (Microsoft) Reviewed-by: William Kucharski Signed-off-by: Vishal Moola --- arch/x86/mm/fault.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/arch/x86/mm/fault.c b/arch/x86/mm/fault.c index 45b99c3b1442..c31ffeac0714 100644 --- a/arch/x86/mm/fault.c +++ b/arch/x86/mm/fault.c @@ -275,17 +275,17 @@ void arch_sync_kernel_mappings(unsigned long start, unsigned long end) for (addr = start & PMD_MASK; addr >= TASK_SIZE_MAX && addr < VMALLOC_END; addr += PMD_SIZE) { - struct page *page; + struct ptdesc *ptdesc; spin_lock(&pgd_lock); - list_for_each_entry(page, &pgd_list, lru) { + list_for_each_entry(ptdesc, &pgd_list, pt_list) { spinlock_t *pgt_lock; /* the pgt_lock only for Xen */ - pgt_lock = &pgd_page_get_mm(page)->page_table_lock; + pgt_lock = &pgd_page_get_mm(ptdesc_page(ptdesc))->page_table_lock; spin_lock(pgt_lock); - vmalloc_sync_one(page_address(page), addr); + vmalloc_sync_one(ptdesc_address(ptdesc), addr); spin_unlock(pgt_lock); } spin_unlock(&pgd_lock); -- 2.54.0