From: tip-bot for Josh Poimboeuf <tipbot@zytor.com>
To: linux-tip-commits@vger.kernel.org
Cc: hpa@zytor.com, peterz@infradead.org, jpoimboe@redhat.com,
tglx@linutronix.de, rostedt@goodmis.org, jbaron@akamai.com,
torvalds@linux-foundation.org, mingo@kernel.org,
linux-kernel@vger.kernel.org, bp@suse.de
Subject: [tip:x86/pti] extable: Make init_kernel_text() global
Date: Wed, 21 Feb 2018 02:49:28 -0800 [thread overview]
Message-ID: <tip-d414f443c2baf24e104d903ae4bc07d0c401c6d0@git.kernel.org> (raw)
In-Reply-To: <4335d02be8d45ca7d265d2f174251d0b7ee6c5fd.1519051220.git.jpoimboe@redhat.com>
Commit-ID: d414f443c2baf24e104d903ae4bc07d0c401c6d0
Gitweb: https://git.kernel.org/tip/d414f443c2baf24e104d903ae4bc07d0c401c6d0
Author: Josh Poimboeuf <jpoimboe@redhat.com>
AuthorDate: Tue, 20 Feb 2018 11:37:53 -0600
Committer: Ingo Molnar <mingo@kernel.org>
CommitDate: Wed, 21 Feb 2018 10:11:39 +0100
extable: Make init_kernel_text() global
Convert init_kernel_text() to a global function and use it in a few
places instead of manually comparing _sinittext and _einittext.
Note that kallsyms.h has a very similar function called
is_kernel_inittext(), but its end check is inclusive. I'm not sure
whether that's intentional behavior, so I didn't touch it.
Suggested-by: Jason Baron <jbaron@akamai.com>
Signed-off-by: Josh Poimboeuf <jpoimboe@redhat.com>
Acked-by: Peter Zijlstra <peterz@infradead.org>
Acked-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
Cc: Borislav Petkov <bp@suse.de>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Link: http://lkml.kernel.org/r/4335d02be8d45ca7d265d2f174251d0b7ee6c5fd.1519051220.git.jpoimboe@redhat.com
Signed-off-by: Ingo Molnar <mingo@kernel.org>
---
arch/x86/kernel/unwind_orc.c | 3 +--
include/linux/kernel.h | 1 +
kernel/extable.c | 2 +-
kernel/jump_label.c | 4 +---
4 files changed, 4 insertions(+), 6 deletions(-)
diff --git a/arch/x86/kernel/unwind_orc.c b/arch/x86/kernel/unwind_orc.c
index 1f9188f..feb28fe 100644
--- a/arch/x86/kernel/unwind_orc.c
+++ b/arch/x86/kernel/unwind_orc.c
@@ -5,7 +5,6 @@
#include <asm/unwind.h>
#include <asm/orc_types.h>
#include <asm/orc_lookup.h>
-#include <asm/sections.h>
#define orc_warn(fmt, ...) \
printk_deferred_once(KERN_WARNING pr_fmt("WARNING: " fmt), ##__VA_ARGS__)
@@ -148,7 +147,7 @@ static struct orc_entry *orc_find(unsigned long ip)
}
/* vmlinux .init slow lookup: */
- if (ip >= (unsigned long)_sinittext && ip < (unsigned long)_einittext)
+ if (init_kernel_text(ip))
return __orc_find(__start_orc_unwind_ip, __start_orc_unwind,
__stop_orc_unwind_ip - __start_orc_unwind_ip, ip);
diff --git a/include/linux/kernel.h b/include/linux/kernel.h
index ce51455..3fd2915 100644
--- a/include/linux/kernel.h
+++ b/include/linux/kernel.h
@@ -472,6 +472,7 @@ extern bool parse_option_str(const char *str, const char *option);
extern char *next_arg(char *args, char **param, char **val);
extern int core_kernel_text(unsigned long addr);
+extern int init_kernel_text(unsigned long addr);
extern int core_kernel_data(unsigned long addr);
extern int __kernel_text_address(unsigned long addr);
extern int kernel_text_address(unsigned long addr);
diff --git a/kernel/extable.c b/kernel/extable.c
index a17fdb6..6a5b61e 100644
--- a/kernel/extable.c
+++ b/kernel/extable.c
@@ -64,7 +64,7 @@ const struct exception_table_entry *search_exception_tables(unsigned long addr)
return e;
}
-static inline int init_kernel_text(unsigned long addr)
+int init_kernel_text(unsigned long addr)
{
if (addr >= (unsigned long)_sinittext &&
addr < (unsigned long)_einittext)
diff --git a/kernel/jump_label.c b/kernel/jump_label.c
index b2f0b47..52a0a7a 100644
--- a/kernel/jump_label.c
+++ b/kernel/jump_label.c
@@ -16,7 +16,6 @@
#include <linux/jump_label_ratelimit.h>
#include <linux/bug.h>
#include <linux/cpu.h>
-#include <asm/sections.h>
#ifdef HAVE_JUMP_LABEL
@@ -429,8 +428,7 @@ void __init jump_label_invalidate_init(void)
struct jump_entry *iter;
for (iter = iter_start; iter < iter_stop; iter++) {
- if (iter->code >= (unsigned long)_sinittext &&
- iter->code < (unsigned long)_einittext)
+ if (init_kernel_text(iter->code))
iter->code = 0;
}
}
next prev parent reply other threads:[~2018-02-21 10:50 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-02-20 17:37 [PATCH v4 0/3] jump_label: Robustify jump label patching Josh Poimboeuf
2018-02-20 17:37 ` [PATCH v4 1/3] jump_label: Explicitly disable jump labels in __init code Josh Poimboeuf
2018-02-21 10:48 ` [tip:x86/pti] " tip-bot for Josh Poimboeuf
2018-02-21 17:01 ` tip-bot for Josh Poimboeuf
2018-02-20 17:37 ` [PATCH v4 2/3] jump_label: Warn on failed jump_label patch Josh Poimboeuf
2018-02-21 10:49 ` [tip:x86/pti] jump_label: Warn on failed jump_label patching attempt tip-bot for Josh Poimboeuf
2018-02-21 17:02 ` tip-bot for Josh Poimboeuf
2018-02-20 17:37 ` [PATCH v4 3/3] extable: Make init_kernel_text() global Josh Poimboeuf
2018-02-21 10:49 ` tip-bot for Josh Poimboeuf [this message]
2018-02-21 17:02 ` [tip:x86/pti] " tip-bot for Josh Poimboeuf
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=tip-d414f443c2baf24e104d903ae4bc07d0c401c6d0@git.kernel.org \
--to=tipbot@zytor.com \
--cc=bp@suse.de \
--cc=hpa@zytor.com \
--cc=jbaron@akamai.com \
--cc=jpoimboe@redhat.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-tip-commits@vger.kernel.org \
--cc=mingo@kernel.org \
--cc=peterz@infradead.org \
--cc=rostedt@goodmis.org \
--cc=tglx@linutronix.de \
--cc=torvalds@linux-foundation.org \
/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.