mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2025-01-04 04:06:26 +00:00
sections: move is_kernel_inittext() into sections.h
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. Link: https://lkml.kernel.org/r/20210930071143.63410-5-wangkefeng.wang@huawei.com Signed-off-by: Kefeng Wang <wangkefeng.wang@huawei.com> Reviewed-by: Sergey Senozhatsky <senozhatsky@chromium.org> Cc: Ingo Molnar <mingo@redhat.com> Cc: Thomas Gleixner <tglx@linutronix.de> Cc: Arnd Bergmann <arnd@arndb.de> Cc: Alexander Potapenko <glider@google.com> Cc: Alexei Starovoitov <ast@kernel.org> Cc: Andrey Konovalov <andreyknvl@gmail.com> Cc: Andrey Ryabinin <ryabinin.a.a@gmail.com> Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org> Cc: Borislav Petkov <bp@alien8.de> Cc: Christophe Leroy <christophe.leroy@csgroup.eu> Cc: "David S. Miller" <davem@davemloft.net> Cc: Dmitry Vyukov <dvyukov@google.com> Cc: Ivan Kokshaysky <ink@jurassic.park.msu.ru> Cc: Matt Turner <mattst88@gmail.com> Cc: Michael Ellerman <mpe@ellerman.id.au> Cc: Michal Simek <monstr@monstr.eu> Cc: Paul Mackerras <paulus@samba.org> Cc: Petr Mladek <pmladek@suse.com> Cc: Richard Henderson <rth@twiddle.net> Cc: Steven Rostedt <rostedt@goodmis.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
parent
a20deb3a34
commit
b9ad8fe7b8
@ -175,7 +175,7 @@ static struct orc_entry *orc_find(unsigned long ip)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* vmlinux .init slow lookup: */
|
/* vmlinux .init slow lookup: */
|
||||||
if (init_kernel_text(ip))
|
if (is_kernel_inittext(ip))
|
||||||
return __orc_find(__start_orc_unwind_ip, __start_orc_unwind,
|
return __orc_find(__start_orc_unwind_ip, __start_orc_unwind,
|
||||||
__stop_orc_unwind_ip - __start_orc_unwind_ip, ip);
|
__stop_orc_unwind_ip - __start_orc_unwind_ip, ip);
|
||||||
|
|
||||||
|
@ -158,4 +158,18 @@ static inline bool is_kernel_rodata(unsigned long addr)
|
|||||||
addr < (unsigned long)__end_rodata;
|
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_ */
|
#endif /* _ASM_GENERIC_SECTIONS_H_ */
|
||||||
|
@ -24,14 +24,6 @@
|
|||||||
struct cred;
|
struct cred;
|
||||||
struct module;
|
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)
|
static inline int is_kernel_text(unsigned long addr)
|
||||||
{
|
{
|
||||||
if ((addr >= (unsigned long)_stext && addr < (unsigned long)_etext))
|
if ((addr >= (unsigned long)_stext && addr < (unsigned long)_etext))
|
||||||
|
@ -226,7 +226,6 @@ extern bool parse_option_str(const char *str, const char *option);
|
|||||||
extern char *next_arg(char *args, char **param, char **val);
|
extern char *next_arg(char *args, char **param, char **val);
|
||||||
|
|
||||||
extern int core_kernel_text(unsigned long addr);
|
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 kernel_text_address(unsigned long addr);
|
extern int kernel_text_address(unsigned long addr);
|
||||||
extern int func_ptr_is_kernel_text(void *ptr);
|
extern int func_ptr_is_kernel_text(void *ptr);
|
||||||
|
@ -62,14 +62,6 @@ const struct exception_table_entry *search_exception_tables(unsigned long addr)
|
|||||||
return e;
|
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)
|
int notrace core_kernel_text(unsigned long addr)
|
||||||
{
|
{
|
||||||
if (addr >= (unsigned long)_stext &&
|
if (addr >= (unsigned long)_stext &&
|
||||||
@ -77,7 +69,7 @@ int notrace core_kernel_text(unsigned long addr)
|
|||||||
return 1;
|
return 1;
|
||||||
|
|
||||||
if (system_state < SYSTEM_FREEING_INITMEM &&
|
if (system_state < SYSTEM_FREEING_INITMEM &&
|
||||||
init_kernel_text(addr))
|
is_kernel_inittext(addr))
|
||||||
return 1;
|
return 1;
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
@ -94,7 +86,7 @@ int __kernel_text_address(unsigned long addr)
|
|||||||
* Since we are after the module-symbols check, there's
|
* Since we are after the module-symbols check, there's
|
||||||
* no danger of address overlap:
|
* no danger of address overlap:
|
||||||
*/
|
*/
|
||||||
if (init_kernel_text(addr))
|
if (is_kernel_inittext(addr))
|
||||||
return 1;
|
return 1;
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user