Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1337662 > unrolled thread

[PATCH] x86/ptdump: Remove paravirt_enabled()

Started byBorislav Petkov <bp@alien8.de>
First post2016-02-18 21:10 +0100
Last post2016-02-20 12:50 +0100
Articles 3 — 3 participants

Back to article view | Back to linux.kernel


Contents

  [PATCH] x86/ptdump: Remove paravirt_enabled() Borislav Petkov <bp@alien8.de> - 2016-02-18 21:10 +0100
    Re: [PATCH] x86/ptdump: Remove paravirt_enabled() Boris Ostrovsky <boris.ostrovsky@oracle.com> - 2016-02-18 22:40 +0100
    [tip:x86/mm] x86/mm/ptdump: Remove paravirt_enabled() tip-bot for Borislav Petkov <tipbot@zytor.com> - 2016-02-20 12:50 +0100

#1337662 — [PATCH] x86/ptdump: Remove paravirt_enabled()

FromBorislav Petkov <bp@alien8.de>
Date2016-02-18 21:10 +0100
Subject[PATCH] x86/ptdump: Remove paravirt_enabled()
Message-ID<r3D3J-2sr-29@gated-at.bofh.it>
From: Borislav Petkov <bp@suse.de>

is_hypervisor_range() can simply check if the PGD index is
within ffff800000000000 - ffff87ffffffffff which is the range
reserved for a hypervisor. That range is practically an ABI, see
Documentation/x86/x86_64/mm.txt.

Signed-off-by: Borislav Petkov <bp@suse.de>
Cc: Andy Lutomirski <luto@amacapital.net>
Cc: Boris Ostrovsky <boris.ostrovsky@oracle.com>
Cc: "Luis R. Rodriguez" <mcgrof@kernel.org>
---
 arch/x86/mm/dump_pagetables.c | 11 +++++------
 1 file changed, 5 insertions(+), 6 deletions(-)

diff --git a/arch/x86/mm/dump_pagetables.c b/arch/x86/mm/dump_pagetables.c
index 4a6f1d9b5106..99bfb192803f 100644
--- a/arch/x86/mm/dump_pagetables.c
+++ b/arch/x86/mm/dump_pagetables.c
@@ -358,20 +358,19 @@ static void walk_pud_level(struct seq_file *m, struct pg_state *st, pgd_t addr,
 #define pgd_none(a)  pud_none(__pud(pgd_val(a)))
 #endif
 
-#ifdef CONFIG_X86_64
 static inline bool is_hypervisor_range(int idx)
 {
+#ifdef CONFIG_X86_64
 	/*
 	 * ffff800000000000 - ffff87ffffffffff is reserved for
 	 * the hypervisor.
 	 */
-	return paravirt_enabled() &&
-		(idx >= pgd_index(__PAGE_OFFSET) - 16) &&
-		(idx < pgd_index(__PAGE_OFFSET));
-}
+	return	(idx >= pgd_index(__PAGE_OFFSET) - 16) &&
+		(idx <  pgd_index(__PAGE_OFFSET));
 #else
-static inline bool is_hypervisor_range(int idx) { return false; }
+	return false;
 #endif
+}
 
 static void ptdump_walk_pgd_level_core(struct seq_file *m, pgd_t *pgd,
 				       bool checkwx)
-- 
2.3.5

[toc] | [next] | [standalone]


#1337746

FromBoris Ostrovsky <boris.ostrovsky@oracle.com>
Date2016-02-18 22:40 +0100
Message-ID<r3EsO-3h6-13@gated-at.bofh.it>
In reply to#1337662

On 02/18/2016 03:00 PM, Borislav Petkov wrote:
> From: Borislav Petkov <bp@suse.de>
>
> is_hypervisor_range() can simply check if the PGD index is
> within ffff800000000000 - ffff87ffffffffff which is the range
> reserved for a hypervisor. That range is practically an ABI, see
> Documentation/x86/x86_64/mm.txt.
>
> Signed-off-by: Borislav Petkov <bp@suse.de>
> Cc: Andy Lutomirski <luto@amacapital.net>
> Cc: Boris Ostrovsky <boris.ostrovsky@oracle.com>
> Cc: "Luis R. Rodriguez" <mcgrof@kernel.org>

Under Xen, as PV guest:

Tested-by: Boris Ostrovsky <boris.ostrovsky@oracle.com>

[toc] | [prev] | [next] | [standalone]


#1338727 — [tip:x86/mm] x86/mm/ptdump: Remove paravirt_enabled()

Fromtip-bot for Borislav Petkov <tipbot@zytor.com>
Date2016-02-20 12:50 +0100
Subject[tip:x86/mm] x86/mm/ptdump: Remove paravirt_enabled()
Message-ID<r4ecX-4Q7-33@gated-at.bofh.it>
In reply to#1337662
Commit-ID:  b176862fca8625b0a8bee207bca9b611413e5e24
Gitweb:     http://git.kernel.org/tip/b176862fca8625b0a8bee207bca9b611413e5e24
Author:     Borislav Petkov <bp@suse.de>
AuthorDate: Thu, 18 Feb 2016 21:00:41 +0100
Committer:  Ingo Molnar <mingo@kernel.org>
CommitDate: Sat, 20 Feb 2016 12:25:45 +0100

x86/mm/ptdump: Remove paravirt_enabled()

is_hypervisor_range() can simply check if the PGD index is
within ffff800000000000 - ffff87ffffffffff which is the range
reserved for a hypervisor. That range is practically an ABI, see
Documentation/x86/x86_64/mm.txt.

Tested-by: Boris Ostrovsky <boris.ostrovsky@oracle.com> # Under Xen, as PV guest
Signed-off-by: Borislav Petkov <bp@suse.de>
Cc: Andy Lutomirski <luto@amacapital.net>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Luis R. Rodriguez <mcgrof@kernel.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Link: http://lkml.kernel.org/r/1455825641-19585-1-git-send-email-bp@alien8.de
Signed-off-by: Ingo Molnar <mingo@kernel.org>
---
 arch/x86/mm/dump_pagetables.c | 11 +++++------
 1 file changed, 5 insertions(+), 6 deletions(-)

diff --git a/arch/x86/mm/dump_pagetables.c b/arch/x86/mm/dump_pagetables.c
index 4a6f1d9..99bfb19 100644
--- a/arch/x86/mm/dump_pagetables.c
+++ b/arch/x86/mm/dump_pagetables.c
@@ -358,20 +358,19 @@ static void walk_pud_level(struct seq_file *m, struct pg_state *st, pgd_t addr,
 #define pgd_none(a)  pud_none(__pud(pgd_val(a)))
 #endif
 
-#ifdef CONFIG_X86_64
 static inline bool is_hypervisor_range(int idx)
 {
+#ifdef CONFIG_X86_64
 	/*
 	 * ffff800000000000 - ffff87ffffffffff is reserved for
 	 * the hypervisor.
 	 */
-	return paravirt_enabled() &&
-		(idx >= pgd_index(__PAGE_OFFSET) - 16) &&
-		(idx < pgd_index(__PAGE_OFFSET));
-}
+	return	(idx >= pgd_index(__PAGE_OFFSET) - 16) &&
+		(idx <  pgd_index(__PAGE_OFFSET));
 #else
-static inline bool is_hypervisor_range(int idx) { return false; }
+	return false;
 #endif
+}
 
 static void ptdump_walk_pgd_level_core(struct seq_file *m, pgd_t *pgd,
 				       bool checkwx)

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web