mm: move is_kernel_rodata() to asm-generic/sections.h
Export this routine so that we can use it later in devm_kstrdup_const() and devm_kfree(). Signed-off-by: Bartosz Golaszewski <brgl@bgdev.pl> Reviewed-by: Bjorn Andersson <bjorn.andersson@linaro.org> Acked-by: Mike Rapoport <rppt@linux.vnet.ibm.com> Acked-by: Rasmus Villemoes <linux@rasmusvillemoes.dk> Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be> Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
		
				
					committed by
					
						
						Greg Kroah-Hartman
					
				
			
			
				
	
			
			
			
						parent
						
							0571967dfb
						
					
				
				
					commit
					59c3f82ad1
				
			@@ -141,4 +141,18 @@ static inline bool init_section_intersects(void *virt, size_t size)
 | 
			
		||||
	return memory_intersects(__init_begin, __init_end, virt, size);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * is_kernel_rodata - checks if the pointer address is located in the
 | 
			
		||||
 *                    .rodata section
 | 
			
		||||
 *
 | 
			
		||||
 * @addr: address to check
 | 
			
		||||
 *
 | 
			
		||||
 * Returns: true if the address is located in .rodata, false otherwise.
 | 
			
		||||
 */
 | 
			
		||||
static inline bool is_kernel_rodata(unsigned long addr)
 | 
			
		||||
{
 | 
			
		||||
	return addr >= (unsigned long)__start_rodata &&
 | 
			
		||||
	       addr < (unsigned long)__end_rodata;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#endif /* _ASM_GENERIC_SECTIONS_H_ */
 | 
			
		||||
 
 | 
			
		||||
@@ -15,17 +15,10 @@
 | 
			
		||||
#include <linux/vmalloc.h>
 | 
			
		||||
#include <linux/userfaultfd_k.h>
 | 
			
		||||
 | 
			
		||||
#include <asm/sections.h>
 | 
			
		||||
#include <linux/uaccess.h>
 | 
			
		||||
 | 
			
		||||
#include "internal.h"
 | 
			
		||||
 | 
			
		||||
static inline int is_kernel_rodata(unsigned long addr)
 | 
			
		||||
{
 | 
			
		||||
	return addr >= (unsigned long)__start_rodata &&
 | 
			
		||||
		addr < (unsigned long)__end_rodata;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * kfree_const - conditionally free memory
 | 
			
		||||
 * @x: pointer to the memory
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user