sections: move is_kernel_inittext() into sections.h
authorKefeng Wang <wangkefeng.wang@huawei.com>
Tue, 9 Nov 2021 02:33:54 +0000 (18:33 -0800)
committerLinus Torvalds <torvalds@linux-foundation.org>
Tue, 9 Nov 2021 18:02:50 +0000 (10:02 -0800)
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>
arch/x86/kernel/unwind_orc.c
include/asm-generic/sections.h
include/linux/kallsyms.h
include/linux/kernel.h
kernel/extable.c

index a1202536fc57cc2b4af2b0bfde3f08fb6f9c034a..d92ec2ced0595adb2af7905462f9d5bc60f3c064 100644 (file)
@@ -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);
 
index 7cba8ff10d3a6d3856ccea74797e4708bac14d70..f82806ca87567da9764065bfc470841f047e98e6 100644 (file)
@@ -158,4 +158,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_ */
index 62ce22b27ea82272641e3aa50cf8160ef527c0f2..bb5d9ec78e13bf0d703b475911a3de32aae5776b 100644 (file)
 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))
index 23f57a2d5a1389838b793f0bc99b9c7886c3642d..be84ab369650f759ffc29b80606420eaeaca503d 100644 (file)
@@ -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 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);
index 0e3412b48bbafad61aacf7c84b6ab8a5fc1ed127..6505207aa7e6a082fa35d1ad60c42dd2825a776e 100644 (file)
@@ -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_FREEING_INITMEM &&
-           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;
 }