sections: move and rename core_kernel_data() to is_kernel_core_data()
Move core_kernel_data() into sections.h and rename it to is_kernel_core_data(), also make it return bool value, then update all the callers. Link: https://lkml.kernel.org/r/20210930071143.63410-4-wangkefeng.wang@huawei.com Signed-off-by: Kefeng Wang <wangkefeng.wang@huawei.com> Reviewed-by: Sergey Senozhatsky <senozhatsky@chromium.org> Cc: Arnd Bergmann <arnd@arndb.de> Cc: Steven Rostedt <rostedt@goodmis.org> Cc: Ingo Molnar <mingo@redhat.com> Cc: "David S. Miller" <davem@davemloft.net> 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: 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: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
parent
e7d5c4b0eb
commit
a20deb3a34
@ -128,6 +128,22 @@ static inline bool init_section_intersects(void *virt, size_t size)
|
||||
return memory_intersects(__init_begin, __init_end, virt, size);
|
||||
}
|
||||
|
||||
/**
|
||||
* is_kernel_core_data - checks if the pointer address is located in the
|
||||
* .data section
|
||||
*
|
||||
* @addr: address to check
|
||||
*
|
||||
* Returns: true if the address is located in .data, false otherwise.
|
||||
* Note: On some archs it may return true for core RODATA, and false
|
||||
* for others. But will always be true for core RW data.
|
||||
*/
|
||||
static inline bool is_kernel_core_data(unsigned long addr)
|
||||
{
|
||||
return addr >= (unsigned long)_sdata &&
|
||||
addr < (unsigned long)_edata;
|
||||
}
|
||||
|
||||
/**
|
||||
* is_kernel_rodata - checks if the pointer address is located in the
|
||||
* .rodata section
|
||||
|
@ -227,7 +227,6 @@ 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);
|
||||
extern int func_ptr_is_kernel_text(void *ptr);
|
||||
|
@ -82,24 +82,6 @@ int notrace core_kernel_text(unsigned long addr)
|
||||
return 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* core_kernel_data - tell if addr points to kernel data
|
||||
* @addr: address to test
|
||||
*
|
||||
* Returns true if @addr passed in is from the core kernel data
|
||||
* section.
|
||||
*
|
||||
* Note: On some archs it may return true for core RODATA, and false
|
||||
* for others. But will always be true for core RW data.
|
||||
*/
|
||||
int core_kernel_data(unsigned long addr)
|
||||
{
|
||||
if (addr >= (unsigned long)_sdata &&
|
||||
addr < (unsigned long)_edata)
|
||||
return 1;
|
||||
return 0;
|
||||
}
|
||||
|
||||
int __kernel_text_address(unsigned long addr)
|
||||
{
|
||||
if (kernel_text_address(addr))
|
||||
|
@ -323,7 +323,7 @@ int __register_ftrace_function(struct ftrace_ops *ops)
|
||||
if (!ftrace_enabled && (ops->flags & FTRACE_OPS_FL_PERMANENT))
|
||||
return -EBUSY;
|
||||
|
||||
if (!core_kernel_data((unsigned long)ops))
|
||||
if (!is_kernel_core_data((unsigned long)ops))
|
||||
ops->flags |= FTRACE_OPS_FL_DYNAMIC;
|
||||
|
||||
add_ftrace_ops(&ftrace_ops_list, ops);
|
||||
|
@ -144,7 +144,7 @@ static void ensure_safe_net_sysctl(struct net *net, const char *path,
|
||||
addr = (unsigned long)ent->data;
|
||||
if (is_module_address(addr))
|
||||
where = "module";
|
||||
else if (core_kernel_data(addr))
|
||||
else if (is_kernel_core_data(addr))
|
||||
where = "kernel";
|
||||
else
|
||||
continue;
|
||||
|
Loading…
Reference in New Issue
Block a user