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