Received: by 2002:a25:23cc:0:0:0:0:0 with SMTP id j195csp113375ybj; Fri, 8 May 2020 07:42:55 -0700 (PDT) X-Google-Smtp-Source: APiQypLIDnzGC8xeTDHCMml/rqzWEOCpHpk5yKkxLDaaH/5PCAD+mjuhcN3NWC56NdTrndj7fLx+ X-Received: by 2002:a17:906:3198:: with SMTP id 24mr1926891ejy.39.1588948975797; Fri, 08 May 2020 07:42:55 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1588948975; cv=none; d=google.com; s=arc-20160816; b=h9zj+V23ypR15WJAwI5MP25k6iHlQv9thHTWNI9DurOiOJ6nwKbVktoFemREdB2rgC Ms1xsRicUEfjbaD/7xdSG6hbARiP7tyaxQZ2zfmAWmoPR7GzBrl2mu609AbmQDvn7Elr p0X3LKOFHp4JXwVf8s37nRDg2GkGFaEGdCp/GprnolebaWc3mdxx1KSu0yapGcxlAVjM aqnKxKdsim+LF65i1nGB/kPBxd+ud711CPh6mnv/pnsAIgoJ0LckoJU9TJxBV5XC5Rxr ZLxe/pcbCPBie5SpzRQGwbxlO0VWYiUvFv8OmrTmP8fcePt5GebpE9kSWLa1B33iKPtw CG1Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:references:in-reply-to:message-id:date :subject:cc:to:from; bh=kjxRKRQ3NmOTST+/PnsxF/SDPP3IIBYd5+5jIfuGvBk=; b=0Ec3rn6gZee8K1Dpe1/eYnjlmfSAhIkS4msLIjlGh21tEOveGK1Ey2K2Q+Sg6+p3DW T9XiYfZkrVY/Sfd1Z6ljwuUmej0imiLDuVGq6NA3cZ0fUjTCKjPBIkR51iwugCj1KtVo 7mECIYWmD7YVNWLEOwLwzGfRvF5HdQeDHUCwhoIdS+30RQFuTSphuBSE5kOoreMRdbeu N1XAtOPGjBiBc3BwMMTWBcfLUzsnlvkDaFm1Y8CtT7zYhe8FHZzjdLxiK5xI0agdSynX HM/SkE7TrMW11wC6VDmZro7pLHShZzErB4tT8puUE9NnykLc+/9DWBNGz7BCjWST2z8V rXkw== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=8bytes.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id x23si1057143ejb.130.2020.05.08.07.42.33; Fri, 08 May 2020 07:42:55 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=8bytes.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728224AbgEHOk5 (ORCPT + 99 others); Fri, 8 May 2020 10:40:57 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:49660 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727124AbgEHOky (ORCPT ); Fri, 8 May 2020 10:40:54 -0400 Received: from theia.8bytes.org (8bytes.org [IPv6:2a01:238:4383:600:38bc:a715:4b6d:a889]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 2590BC061A0C for ; Fri, 8 May 2020 07:40:54 -0700 (PDT) Received: by theia.8bytes.org (Postfix, from userid 1000) id 0144E47C; Fri, 8 May 2020 16:40:50 +0200 (CEST) From: Joerg Roedel To: x86@kernel.org Cc: hpa@zytor.com, Dave Hansen , Andy Lutomirski , Peter Zijlstra , rjw@rjwysocki.net, Arnd Bergmann , Andrew Morton , Steven Rostedt , Vlastimil Babka , Michal Hocko , Joerg Roedel , joro@8bytes.org, linux-kernel@vger.kernel.org, linux-acpi@vger.kernel.org, linux-arch@vger.kernel.org, linux-mm@kvack.org Subject: [RFC PATCH 4/7] x86/mm/64: Implement arch_sync_kernel_mappings() Date: Fri, 8 May 2020 16:40:40 +0200 Message-Id: <20200508144043.13893-5-joro@8bytes.org> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20200508144043.13893-1-joro@8bytes.org> References: <20200508144043.13893-1-joro@8bytes.org> Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Joerg Roedel Implement the function to sync changes in vmalloc and ioremap ranges to all page-tables. Signed-off-by: Joerg Roedel --- arch/x86/include/asm/pgtable_64_types.h | 2 ++ arch/x86/mm/init_64.c | 5 +++++ 2 files changed, 7 insertions(+) diff --git a/arch/x86/include/asm/pgtable_64_types.h b/arch/x86/include/asm/pgtable_64_types.h index 52e5f5f2240d..8f63efb2a2cc 100644 --- a/arch/x86/include/asm/pgtable_64_types.h +++ b/arch/x86/include/asm/pgtable_64_types.h @@ -159,4 +159,6 @@ extern unsigned int ptrs_per_p4d; #define PGD_KERNEL_START ((PAGE_SIZE / 2) / sizeof(pgd_t)) +#define ARCH_PAGE_TABLE_SYNC_MASK (pgtable_l5_enabled() ? PGTBL_PGD_MODIFIED : PGTBL_P4D_MODIFIED) + #endif /* _ASM_X86_PGTABLE_64_DEFS_H */ diff --git a/arch/x86/mm/init_64.c b/arch/x86/mm/init_64.c index 3b289c2f75cd..541af8e5bcd4 100644 --- a/arch/x86/mm/init_64.c +++ b/arch/x86/mm/init_64.c @@ -217,6 +217,11 @@ void sync_global_pgds(unsigned long start, unsigned long end) sync_global_pgds_l4(start, end); } +void arch_sync_kernel_mappings(unsigned long start, unsigned long end) +{ + sync_global_pgds(start, end); +} + /* * NOTE: This function is marked __ref because it calls __init function * (alloc_bootmem_pages). It's safe to do it ONLY when after_bootmem == 0. -- 2.17.1