From: Kefeng Wang <wangkefeng.wang@huawei.com> To: <arnd@arndb.de>, <linux-arch@vger.kernel.org>, <linux-kernel@vger.kernel.org>, <linuxppc-dev@lists.ozlabs.org>, <rostedt@goodmis.org>, <mingo@redhat.com>, <davem@davemloft.net>, <ast@kernel.org>, <ryabinin.a.a@gmail.com> Cc: <mpe@ellerman.id.au>, <benh@kernel.crashing.org>, <paulus@samba.org>, Kefeng Wang <wangkefeng.wang@huawei.com>, Thomas Gleixner <tglx@linutronix.de>, <x86@kernel.org> Subject: [PATCH v2 4/7] sections: Move is_kernel_inittext() into sections.h Date: Wed, 28 Jul 2021 16:13:17 +0800 [thread overview] Message-ID: <20210728081320.20394-5-wangkefeng.wang@huawei.com> (raw) In-Reply-To: <20210728081320.20394-1-wangkefeng.wang@huawei.com> The is_kernel_inittext() and init_kernel_text() are with same functionality, let's just keep is_kernel_inittext() and move it into sections.h, then update all the callers. Cc: Ingo Molnar <mingo@redhat.com> Cc: Thomas Gleixner <tglx@linutronix.de> Cc: Arnd Bergmann <arnd@arndb.de> Cc: x86@kernel.org Signed-off-by: Kefeng Wang <wangkefeng.wang@huawei.com> --- arch/x86/kernel/unwind_orc.c | 2 +- include/asm-generic/sections.h | 14 ++++++++++++++ include/linux/kallsyms.h | 8 -------- include/linux/kernel.h | 1 - kernel/extable.c | 12 ++---------- 5 files changed, 17 insertions(+), 20 deletions(-) diff --git a/arch/x86/kernel/unwind_orc.c b/arch/x86/kernel/unwind_orc.c index a1202536fc57..d92ec2ced059 100644 --- a/arch/x86/kernel/unwind_orc.c +++ b/arch/x86/kernel/unwind_orc.c @@ -175,7 +175,7 @@ static struct orc_entry *orc_find(unsigned long ip) } /* vmlinux .init slow lookup: */ - if (init_kernel_text(ip)) + if (is_kernel_inittext(ip)) return __orc_find(__start_orc_unwind_ip, __start_orc_unwind, __stop_orc_unwind_ip - __start_orc_unwind_ip, ip); diff --git a/include/asm-generic/sections.h b/include/asm-generic/sections.h index 26ed9fc9b4e3..4f2f32aa2b7a 100644 --- a/include/asm-generic/sections.h +++ b/include/asm-generic/sections.h @@ -170,4 +170,18 @@ static inline bool is_kernel_rodata(unsigned long addr) addr < (unsigned long)__end_rodata; } +/** + * is_kernel_inittext - checks if the pointer address is located in the + * .init.text section + * + * @addr: address to check + * + * Returns: true if the address is located in .init.text, false otherwise. + */ +static inline bool is_kernel_inittext(unsigned long addr) +{ + return addr >= (unsigned long)_sinittext && + addr < (unsigned long)_einittext; +} + #endif /* _ASM_GENERIC_SECTIONS_H_ */ diff --git a/include/linux/kallsyms.h b/include/linux/kallsyms.h index b016c62f30a6..8a9d329c927c 100644 --- a/include/linux/kallsyms.h +++ b/include/linux/kallsyms.h @@ -24,14 +24,6 @@ struct cred; struct module; -static inline int is_kernel_inittext(unsigned long addr) -{ - if (addr >= (unsigned long)_sinittext - && addr < (unsigned long)_einittext) - return 1; - return 0; -} - static inline int is_kernel_text(unsigned long addr) { if ((addr >= (unsigned long)_stext && addr < (unsigned long)_etext)) diff --git a/include/linux/kernel.h b/include/linux/kernel.h index 0622418bafbc..d4ba46cf4737 100644 --- a/include/linux/kernel.h +++ b/include/linux/kernel.h @@ -229,7 +229,6 @@ 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 __kernel_text_address(unsigned long addr); extern int kernel_text_address(unsigned long addr); extern int func_ptr_is_kernel_text(void *ptr); diff --git a/kernel/extable.c b/kernel/extable.c index da26203841d4..98ca627ac5ef 100644 --- a/kernel/extable.c +++ b/kernel/extable.c @@ -62,14 +62,6 @@ const struct exception_table_entry *search_exception_tables(unsigned long addr) return e; } -int init_kernel_text(unsigned long addr) -{ - if (addr >= (unsigned long)_sinittext && - addr < (unsigned long)_einittext) - return 1; - return 0; -} - int notrace core_kernel_text(unsigned long addr) { if (addr >= (unsigned long)_stext && @@ -77,7 +69,7 @@ int notrace core_kernel_text(unsigned long addr) return 1; if (system_state < SYSTEM_RUNNING && - init_kernel_text(addr)) + is_kernel_inittext(addr)) return 1; return 0; } @@ -94,7 +86,7 @@ int __kernel_text_address(unsigned long addr) * Since we are after the module-symbols check, there's * no danger of address overlap: */ - if (init_kernel_text(addr)) + if (is_kernel_inittext(addr)) return 1; return 0; } -- 2.26.2
next prev parent reply other threads:[~2021-07-28 8:07 UTC|newest] Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top 2021-07-28 8:13 [PATCH v2 0/7] sections: Unify kernel sections range check and use Kefeng Wang 2021-07-28 8:13 ` [PATCH v2 1/7] kallsyms: Remove arch specific text and data check Kefeng Wang 2021-07-28 8:13 ` [PATCH v2 2/7] kallsyms: Fix address-checks for kernel related range Kefeng Wang 2021-07-28 14:46 ` Steven Rostedt 2021-07-29 2:03 ` Kefeng Wang 2021-07-28 8:13 ` [PATCH v2 3/7] sections: Move and rename core_kernel_data() to is_kernel_core_data() Kefeng Wang 2021-07-28 8:13 ` Kefeng Wang [this message] 2021-07-28 8:13 ` [PATCH v2 5/7] kallsyms: Rename is_kernel() and is_kernel_text() Kefeng Wang 2021-07-28 15:28 ` Steven Rostedt 2021-07-29 2:00 ` Kefeng Wang 2021-07-29 4:05 ` Steven Rostedt 2021-07-29 11:06 ` Kefeng Wang 2021-07-28 8:13 ` [PATCH v2 6/7] sections: Add new " Kefeng Wang 2021-07-28 15:32 ` Steven Rostedt 2021-07-29 2:02 ` Kefeng Wang 2021-07-28 8:13 ` [PATCH v2 7/7] powerpc/mm: Use is_kernel_text() and is_kernel_inittext() helper Kefeng Wang
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=20210728081320.20394-5-wangkefeng.wang@huawei.com \ --to=wangkefeng.wang@huawei.com \ --cc=arnd@arndb.de \ --cc=ast@kernel.org \ --cc=benh@kernel.crashing.org \ --cc=davem@davemloft.net \ --cc=linux-arch@vger.kernel.org \ --cc=linux-kernel@vger.kernel.org \ --cc=linuxppc-dev@lists.ozlabs.org \ --cc=mingo@redhat.com \ --cc=mpe@ellerman.id.au \ --cc=paulus@samba.org \ --cc=rostedt@goodmis.org \ --cc=ryabinin.a.a@gmail.com \ --cc=tglx@linutronix.de \ --cc=x86@kernel.org \ --subject='Re: [PATCH v2 4/7] sections: Move is_kernel_inittext() into sections.h' \ /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
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).