From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-lf1-f52.google.com (mail-lf1-f52.google.com [209.85.167.52]) (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 2D1DE279DCC for ; Wed, 27 May 2026 14:04:17 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.167.52 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779890659; cv=none; b=E3z8jfChgVVEe/b9o9rZi2qMRAdLhE+P1lUzvmFvXvcoNVCpXX0ApckihX8/gb8gklFPH5ojL6fW+VPoYUoeAAI6lxvWpEcPVFs+y8EmdlH2F+sB820H1wlGWBdkIpnJ6sUxXFplpCYhPMYE7NZuccFvPRz1cu/mJmlEaGjltEg= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779890659; c=relaxed/simple; bh=d4m3H0JLpBo29wDt8EyIeSIZ04JquBQR/FcLbD4NxFM=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=CXKe1pBmSSc9R20lrBcVCl2+ySL/W519CSYMWKV524DZajlxC46hjWuFbS6J5QUtY+RrCpTeJe5eAoRQ4dOzFem65sfPZ+BAf1vqAnOaGqW9341jiGTCgJSAvjdyt6RpH6HXmadaCGhWtTpcdddHFu7lIqNKRcQyzWGn2vkamyY= 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=B0m6aMka; arc=none smtp.client-ip=209.85.167.52 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="B0m6aMka" Received: by mail-lf1-f52.google.com with SMTP id 2adb3069b0e04-5a884815606so12845711e87.0 for ; Wed, 27 May 2026 07:04:17 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1779890656; x=1780495456; 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=rv/V9Guf/VmqLyIW7ddquGjxWE57lh1X75zHlzPy+Ls=; b=B0m6aMkaUZpTvyq2P75P7sGNjHnRItkYcHx+yNsfoAyL7Pe+YEYrIj82RiKOAnuyZP TZc9S0hB1QwdBAYayuJ8zc9Cykp0FpVrc+mrrPCWR3tlDQeoLuf4a18iO2pjEpTSNZko hf/lNwYCW8ZTt1qHk30QSjbW/g8u0E7CvHVdq0jvArCcvwYQqmIihc9d1Jg9BHni75ku m+Shtbonly4/S/naHr8XmlIC9xc8TxLqtY4jXUhLvzB7XMNa0NGWd6bLG8GJPvPlR/2W 56mxomBFqGPDqzMa9ZsGdbcgBcBdyXunvoFif4x0J4N7LMq8tP5rEUgFrz2Tzl9Sd793 x2pw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1779890656; x=1780495456; 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=rv/V9Guf/VmqLyIW7ddquGjxWE57lh1X75zHlzPy+Ls=; b=f7kepCFVnH3KG24Aj4eCDaSzkIL1GOkoWxGrp4JDe6I7ow0Qo0wJa90l8P5Saabn9H PEtnYYtE361S/2A+TDX9Ps8Ndcx+5vx2Eqr0c2ETXDfrTvhBJ9VDM43h0Qw40pRbG+4X aFlVy5uEvNhinKsJICA8B51Joflo1n4AohnVNXS13jN2Y/6vekdeFNxg10YrY62lrRxw hI3wJKkkc5GwSytmqM78wWVyeAfGkgTNH+7TTgPBqWRIIxY1fP0nw4O8N/TsNcP/MQ6w 94Wne/YLWrkvPEftB2V8ySOERjnWBtWLuzCjlDvU+Ij03iC5Fv3f+Abjxm8JcpRcIDdk TkuA== X-Forwarded-Encrypted: i=1; AFNElJ8dOg1svT9opLyJq+OZMecr7WP4KryVRD2FTARoNWkS3JtBsR254fRlrOeGOXCoY7X7n6lKg+W7Gsfsp7k=@vger.kernel.org X-Gm-Message-State: AOJu0YxIj8RF7c5aUbkmDD6k1Z7VrCTguZ4RBa+/MceU0JXQZb6YFPdu j8YY/kjPNou0VeYYpZ1kVsfxIGYbX1A2m36kitbylTIwxmipoDv4vlD2 X-Gm-Gg: Acq92OEXGCjBM6uIp1N9z2nlMzujkTx8r1GwDCrjy615kEGhXQ7ir1C5Rwq000EdbQE b4ueE0Jp72YH1PXl3eJ5etzGQjySejM0pNCRYRXaQAyPeEoLs0qjvQZAS/KSSaG3DEUEZFht5Ki RePOrAMqsiCMOvZX0Mse7sbJePCnHUl705vONjyunN4Z6On/WgTZ0mTZk5alukyPBpoYOJ0Aqf5 WcOq72vPpEo+Po/Hd59v/i5NKYziQ4Z2nMt8R28L4QnPyEL256Oc6eQkFn9HQxynovnmcUTyQAu A6muEi/U4d0weYc+rJ04KSIPeOSz0JPXuoOc3dqiFjSzWLoqJHJq4h872Vhe0HBgTGUthRKPCF8 E+ToGnwo62nleG33HmP/LQ2MBCjq/mGXuGmYd3zfKRejBuqjoSs4bbBQMNWfdU9sU8YYZcDCuWm 7rIg7q6A2GouvCsrruGoypUwAK3xV/ar8BLsiKs1cWFusWQjVrc8H6FLsI8p8HTbAxViaeJnhPJ mqMhrdHLQuYPIk+CvRxX3aW7RqWSA3bmA== X-Received: by 2002:a05:6512:1287:b0:5a8:5ca8:7f72 with SMTP id 2adb3069b0e04-5aa3238b947mr7339783e87.4.1779890655762; Wed, 27 May 2026 07:04:15 -0700 (PDT) Received: from fedora (cpc92878-cmbg18-2-0-cust539.5-4.cable.virginm.net. [86.16.54.28]) by smtp.googlemail.com with ESMTPSA id ffacd0b85a97d-45edb558f52sm6693771f8f.14.2026.05.27.07.04.14 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 27 May 2026 07:04:15 -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 Subject: [PATCH 4/9] x86/mm: Convert arch_sync_kernel_mappings() to ptdescs Date: Wed, 27 May 2026 15:03:11 +0100 Message-ID: <20260527140316.294621-5-vishal.moola@gmail.com> X-Mailer: git-send-email 2.54.0 In-Reply-To: <20260527140316.294621-1-vishal.moola@gmail.com> References: <20260527140316.294621-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. 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 63de8e8684f2..6c72d6668416 100644 --- a/arch/x86/mm/fault.c +++ b/arch/x86/mm/fault.c @@ -269,17 +269,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