From: Wei Yang <richard.weiyang@gmail.com>
To: Thomas Garnier <thgarnie@google.com>
Cc: Thomas Gleixner <tglx@linutronix.de>,
Ingo Molnar <mingo@redhat.com>, "H . Peter Anvin" <hpa@zytor.com>,
Andrey Ryabinin <aryabinin@virtuozzo.com>,
Alexander Potapenko <glider@google.com>,
Dmitry Vyukov <dvyukov@google.com>,
Kees Cook <keescook@chromium.org>,
Andrew Morton <akpm@linux-foundation.org>,
Dave Hansen <dave.hansen@linux.intel.com>,
Borislav Petkov <bp@suse.de>, Hugh Dickins <hughd@google.com>,
Xiao Guangrong <guangrong.xiao@linux.intel.com>,
Matthew Wilcox <willy@linux.intel.com>,
Boris Ostrovsky <boris.ostrovsky@oracle.com>,
Andy Lutomirski <luto@kernel.org>,
Paul Gortmaker <paul.gortmaker@windriver.com>,
Michal Hocko <mhocko@suse.com>, zijun_hu <zijun_hu@htc.com>,
Chris Wilson <chris@chris-wilson.co.uk>,
x86@kernel.org, linux-kernel@vger.kernel.org,
kasan-dev@googlegroups.com, linux-mm@kvack.org,
kernel-hardening@lists.openwall.com, richard.weiyang@gmail.com
Subject: [kernel-hardening] Re: [PATCH tip v2] x86/mm: Correct fixmap header usage on adaptable MODULES_END
Date: Tue, 21 Mar 2017 09:52:54 +0800 [thread overview]
Message-ID: <20170321015254.GA12487@WeideMacBook-Pro.local> (raw)
In-Reply-To: <20170320194024.60749-1-thgarnie@google.com>
[-- Attachment #1: Type: text/plain, Size: 3466 bytes --]
On Mon, Mar 20, 2017 at 12:40:24PM -0700, Thomas Garnier wrote:
>This patch removes fixmap headers on non-x86 code introduced by the
>adaptable MODULE_END change. It is also removed in the 32-bit pgtable
>header. Instead, it is added by default in the pgtable generic header
>for both architectures.
>
>Signed-off-by: Thomas Garnier <thgarnie@google.com>
>---
> arch/x86/include/asm/pgtable.h | 1 +
> arch/x86/include/asm/pgtable_32.h | 1 -
> arch/x86/kernel/module.c | 1 -
> arch/x86/mm/dump_pagetables.c | 1 -
> arch/x86/mm/kasan_init_64.c | 1 -
> mm/vmalloc.c | 4 ----
> 6 files changed, 1 insertion(+), 8 deletions(-)
>
>diff --git a/arch/x86/include/asm/pgtable.h b/arch/x86/include/asm/pgtable.h
>index 6f6f351e0a81..78d1fc32e947 100644
>--- a/arch/x86/include/asm/pgtable.h
>+++ b/arch/x86/include/asm/pgtable.h
>@@ -598,6 +598,7 @@ pte_t *populate_extra_pte(unsigned long vaddr);
> #include <linux/mm_types.h>
> #include <linux/mmdebug.h>
> #include <linux/log2.h>
>+#include <asm/fixmap.h>
>
> static inline int pte_none(pte_t pte)
> {
>diff --git a/arch/x86/include/asm/pgtable_32.h b/arch/x86/include/asm/pgtable_32.h
>index fbc73360aea0..bfab55675c16 100644
>--- a/arch/x86/include/asm/pgtable_32.h
>+++ b/arch/x86/include/asm/pgtable_32.h
>@@ -14,7 +14,6 @@
> */
> #ifndef __ASSEMBLY__
> #include <asm/processor.h>
>-#include <asm/fixmap.h>
> #include <linux/threads.h>
> #include <asm/paravirt.h>
>
Yep, I thinks the above two is what I mean.
>diff --git a/arch/x86/kernel/module.c b/arch/x86/kernel/module.c
>index fad61caac75e..477ae806c2fa 100644
>--- a/arch/x86/kernel/module.c
>+++ b/arch/x86/kernel/module.c
>@@ -35,7 +35,6 @@
> #include <asm/page.h>
> #include <asm/pgtable.h>
> #include <asm/setup.h>
>-#include <asm/fixmap.h>
>
Hmm... your code is already merged in upstream?
When I look into current Torvalds tree, it looks not include the <asm/fixmap.h>
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/arch/x86/kernel/module.c
Which tree your change is based on? Do I miss something?
> #if 0
> #define DEBUGP(fmt, ...) \
>diff --git a/arch/x86/mm/dump_pagetables.c b/arch/x86/mm/dump_pagetables.c
>index 75efeecc85eb..58b5bee7ea27 100644
>--- a/arch/x86/mm/dump_pagetables.c
>+++ b/arch/x86/mm/dump_pagetables.c
>@@ -20,7 +20,6 @@
>
> #include <asm/kasan.h>
> #include <asm/pgtable.h>
>-#include <asm/fixmap.h>
>
The same as this one.
> /*
> * The dumper groups pagetable entries of the same type into one, and for
>diff --git a/arch/x86/mm/kasan_init_64.c b/arch/x86/mm/kasan_init_64.c
>index 1bde19ef86bd..8d63d7a104c3 100644
>--- a/arch/x86/mm/kasan_init_64.c
>+++ b/arch/x86/mm/kasan_init_64.c
>@@ -9,7 +9,6 @@
>
> #include <asm/tlbflush.h>
> #include <asm/sections.h>
>-#include <asm/fixmap.h>
>
> extern pgd_t early_level4_pgt[PTRS_PER_PGD];
> extern struct range pfn_mapped[E820_X_MAX];
>diff --git a/mm/vmalloc.c b/mm/vmalloc.c
>index b7d2a23349f4..0dd80222b20b 100644
>--- a/mm/vmalloc.c
>+++ b/mm/vmalloc.c
>@@ -36,10 +36,6 @@
> #include <asm/tlbflush.h>
> #include <asm/shmparam.h>
>
>-#ifdef CONFIG_X86
>-# include <asm/fixmap.h>
>-#endif
>-
> #include "internal.h"
>
> struct vfree_deferred {
>--
>2.12.0.367.g23dc2f6d3c-goog
At last, you have tested both on x86-32 and x86-64 platform?
--
Wei Yang
Help you, Help me
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 819 bytes --]
WARNING: multiple messages have this Message-ID (diff)
From: Wei Yang <richard.weiyang@gmail.com>
To: Thomas Garnier <thgarnie@google.com>
Cc: Thomas Gleixner <tglx@linutronix.de>,
Ingo Molnar <mingo@redhat.com>, "H . Peter Anvin" <hpa@zytor.com>,
Andrey Ryabinin <aryabinin@virtuozzo.com>,
Alexander Potapenko <glider@google.com>,
Dmitry Vyukov <dvyukov@google.com>,
Kees Cook <keescook@chromium.org>,
Andrew Morton <akpm@linux-foundation.org>,
Dave Hansen <dave.hansen@linux.intel.com>,
Borislav Petkov <bp@suse.de>, Hugh Dickins <hughd@google.com>,
Xiao Guangrong <guangrong.xiao@linux.intel.com>,
Matthew Wilcox <willy@linux.intel.com>,
Boris Ostrovsky <boris.ostrovsky@oracle.com>,
Andy Lutomirski <luto@kernel.org>,
Paul Gortmaker <paul.gortmaker@windriver.com>,
Michal Hocko <mhocko@suse.com>, zijun_hu <zijun_hu@htc.com>,
Chris Wilson <chris@chris-wilson.co.uk>,
x86@kernel.org, linux-kernel@vger.kernel.org,
kasan-dev@googlegroups.com, linux-mm@kvack.org,
kernel-hardening@lists.openwall.com, richard.weiyang@gmail.com
Subject: Re: [PATCH tip v2] x86/mm: Correct fixmap header usage on adaptable MODULES_END
Date: Tue, 21 Mar 2017 09:52:54 +0800 [thread overview]
Message-ID: <20170321015254.GA12487@WeideMacBook-Pro.local> (raw)
In-Reply-To: <20170320194024.60749-1-thgarnie@google.com>
[-- Attachment #1: Type: text/plain, Size: 3466 bytes --]
On Mon, Mar 20, 2017 at 12:40:24PM -0700, Thomas Garnier wrote:
>This patch removes fixmap headers on non-x86 code introduced by the
>adaptable MODULE_END change. It is also removed in the 32-bit pgtable
>header. Instead, it is added by default in the pgtable generic header
>for both architectures.
>
>Signed-off-by: Thomas Garnier <thgarnie@google.com>
>---
> arch/x86/include/asm/pgtable.h | 1 +
> arch/x86/include/asm/pgtable_32.h | 1 -
> arch/x86/kernel/module.c | 1 -
> arch/x86/mm/dump_pagetables.c | 1 -
> arch/x86/mm/kasan_init_64.c | 1 -
> mm/vmalloc.c | 4 ----
> 6 files changed, 1 insertion(+), 8 deletions(-)
>
>diff --git a/arch/x86/include/asm/pgtable.h b/arch/x86/include/asm/pgtable.h
>index 6f6f351e0a81..78d1fc32e947 100644
>--- a/arch/x86/include/asm/pgtable.h
>+++ b/arch/x86/include/asm/pgtable.h
>@@ -598,6 +598,7 @@ pte_t *populate_extra_pte(unsigned long vaddr);
> #include <linux/mm_types.h>
> #include <linux/mmdebug.h>
> #include <linux/log2.h>
>+#include <asm/fixmap.h>
>
> static inline int pte_none(pte_t pte)
> {
>diff --git a/arch/x86/include/asm/pgtable_32.h b/arch/x86/include/asm/pgtable_32.h
>index fbc73360aea0..bfab55675c16 100644
>--- a/arch/x86/include/asm/pgtable_32.h
>+++ b/arch/x86/include/asm/pgtable_32.h
>@@ -14,7 +14,6 @@
> */
> #ifndef __ASSEMBLY__
> #include <asm/processor.h>
>-#include <asm/fixmap.h>
> #include <linux/threads.h>
> #include <asm/paravirt.h>
>
Yep, I thinks the above two is what I mean.
>diff --git a/arch/x86/kernel/module.c b/arch/x86/kernel/module.c
>index fad61caac75e..477ae806c2fa 100644
>--- a/arch/x86/kernel/module.c
>+++ b/arch/x86/kernel/module.c
>@@ -35,7 +35,6 @@
> #include <asm/page.h>
> #include <asm/pgtable.h>
> #include <asm/setup.h>
>-#include <asm/fixmap.h>
>
Hmm... your code is already merged in upstream?
When I look into current Torvalds tree, it looks not include the <asm/fixmap.h>
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/arch/x86/kernel/module.c
Which tree your change is based on? Do I miss something?
> #if 0
> #define DEBUGP(fmt, ...) \
>diff --git a/arch/x86/mm/dump_pagetables.c b/arch/x86/mm/dump_pagetables.c
>index 75efeecc85eb..58b5bee7ea27 100644
>--- a/arch/x86/mm/dump_pagetables.c
>+++ b/arch/x86/mm/dump_pagetables.c
>@@ -20,7 +20,6 @@
>
> #include <asm/kasan.h>
> #include <asm/pgtable.h>
>-#include <asm/fixmap.h>
>
The same as this one.
> /*
> * The dumper groups pagetable entries of the same type into one, and for
>diff --git a/arch/x86/mm/kasan_init_64.c b/arch/x86/mm/kasan_init_64.c
>index 1bde19ef86bd..8d63d7a104c3 100644
>--- a/arch/x86/mm/kasan_init_64.c
>+++ b/arch/x86/mm/kasan_init_64.c
>@@ -9,7 +9,6 @@
>
> #include <asm/tlbflush.h>
> #include <asm/sections.h>
>-#include <asm/fixmap.h>
>
> extern pgd_t early_level4_pgt[PTRS_PER_PGD];
> extern struct range pfn_mapped[E820_X_MAX];
>diff --git a/mm/vmalloc.c b/mm/vmalloc.c
>index b7d2a23349f4..0dd80222b20b 100644
>--- a/mm/vmalloc.c
>+++ b/mm/vmalloc.c
>@@ -36,10 +36,6 @@
> #include <asm/tlbflush.h>
> #include <asm/shmparam.h>
>
>-#ifdef CONFIG_X86
>-# include <asm/fixmap.h>
>-#endif
>-
> #include "internal.h"
>
> struct vfree_deferred {
>--
>2.12.0.367.g23dc2f6d3c-goog
At last, you have tested both on x86-32 and x86-64 platform?
--
Wei Yang
Help you, Help me
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 819 bytes --]
next prev parent reply other threads:[~2017-03-21 1:52 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-03-20 19:40 [kernel-hardening] [PATCH tip v2] x86/mm: Correct fixmap header usage on adaptable MODULES_END Thomas Garnier
2017-03-20 19:40 ` Thomas Garnier
2017-03-20 19:40 ` Thomas Garnier
2017-03-21 1:52 ` Wei Yang [this message]
2017-03-21 1:52 ` Wei Yang
2017-03-21 16:00 ` [kernel-hardening] " Thomas Garnier
2017-03-21 16:00 ` Thomas Garnier
2017-03-21 16:00 ` Thomas Garnier
2017-03-21 7:17 ` [kernel-hardening] " Ingo Molnar
2017-03-21 7:17 ` Ingo Molnar
2017-03-21 7:17 ` Ingo Molnar
2017-03-21 7:24 ` [tip:x86/mm] x86/headers: Simplify asm/fixmap.h inclusion into asm/pgtable*.h tip-bot for Thomas Garnier
2017-03-21 16:01 ` [kernel-hardening] Re: [PATCH tip v2] x86/mm: Correct fixmap header usage on adaptable MODULES_END Thomas Garnier
2017-03-21 16:01 ` Thomas Garnier
2017-03-21 16:01 ` Thomas Garnier
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20170321015254.GA12487@WeideMacBook-Pro.local \
--to=richard.weiyang@gmail.com \
--cc=akpm@linux-foundation.org \
--cc=aryabinin@virtuozzo.com \
--cc=boris.ostrovsky@oracle.com \
--cc=bp@suse.de \
--cc=chris@chris-wilson.co.uk \
--cc=dave.hansen@linux.intel.com \
--cc=dvyukov@google.com \
--cc=glider@google.com \
--cc=guangrong.xiao@linux.intel.com \
--cc=hpa@zytor.com \
--cc=hughd@google.com \
--cc=kasan-dev@googlegroups.com \
--cc=keescook@chromium.org \
--cc=kernel-hardening@lists.openwall.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=luto@kernel.org \
--cc=mhocko@suse.com \
--cc=mingo@redhat.com \
--cc=paul.gortmaker@windriver.com \
--cc=tglx@linutronix.de \
--cc=thgarnie@google.com \
--cc=willy@linux.intel.com \
--cc=x86@kernel.org \
--cc=zijun_hu@htc.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.