x86/mm: Rename is_kernel_text to __is_kernel_text
The kbuild test robot reported compile issue on x86 in one of the following patches that adds <linux/kallsyms.h> include into <linux/bpf.h>, which is picked up by init_32.c object. The problem is that <linux/kallsyms.h> defines global function is_kernel_text which colides with the static function of the same name defined in init_32.c: $ make ARCH=i386 ... >> arch/x86/mm/init_32.c:241:19: error: redefinition of 'is_kernel_text' static inline int is_kernel_text(unsigned long addr) ^~~~~~~~~~~~~~ In file included from include/linux/bpf.h:21:0, from include/linux/bpf-cgroup.h:5, from include/linux/cgroup-defs.h:22, from include/linux/cgroup.h:28, from include/linux/hugetlb.h:9, from arch/x86/mm/init_32.c:18: include/linux/kallsyms.h:31:19: note: previous definition of 'is_kernel_text' was here static inline int is_kernel_text(unsigned long addr) Renaming the init_32.c is_kernel_text function to __is_kernel_text. Reported-by: kbuild test robot <lkp@intel.com> Signed-off-by: Jiri Olsa <jolsa@kernel.org> Signed-off-by: Alexei Starovoitov <ast@kernel.org> Acked-by: Song Liu <songliubraving@fb.com> Link: https://lore.kernel.org/bpf/20200312195610.346362-2-jolsa@kernel.org Signed-off-by: Alexei Starovoitov <ast@kernel.org>
This commit is contained in:
Родитель
9886866836
Коммит
b56cd05c55
|
@ -238,7 +238,11 @@ page_table_range_init(unsigned long start, unsigned long end, pgd_t *pgd_base)
|
|||
}
|
||||
}
|
||||
|
||||
static inline int is_kernel_text(unsigned long addr)
|
||||
/*
|
||||
* The <linux/kallsyms.h> already defines is_kernel_text,
|
||||
* using '__' prefix not to get in conflict.
|
||||
*/
|
||||
static inline int __is_kernel_text(unsigned long addr)
|
||||
{
|
||||
if (addr >= (unsigned long)_text && addr <= (unsigned long)__init_end)
|
||||
return 1;
|
||||
|
@ -328,8 +332,8 @@ repeat:
|
|||
addr2 = (pfn + PTRS_PER_PTE-1) * PAGE_SIZE +
|
||||
PAGE_OFFSET + PAGE_SIZE-1;
|
||||
|
||||
if (is_kernel_text(addr) ||
|
||||
is_kernel_text(addr2))
|
||||
if (__is_kernel_text(addr) ||
|
||||
__is_kernel_text(addr2))
|
||||
prot = PAGE_KERNEL_LARGE_EXEC;
|
||||
|
||||
pages_2m++;
|
||||
|
@ -354,7 +358,7 @@ repeat:
|
|||
*/
|
||||
pgprot_t init_prot = __pgprot(PTE_IDENT_ATTR);
|
||||
|
||||
if (is_kernel_text(addr))
|
||||
if (__is_kernel_text(addr))
|
||||
prot = PAGE_KERNEL_EXEC;
|
||||
|
||||
pages_4k++;
|
||||
|
@ -881,7 +885,7 @@ static void mark_nxdata_nx(void)
|
|||
*/
|
||||
unsigned long start = PFN_ALIGN(_etext);
|
||||
/*
|
||||
* This comes from is_kernel_text upper limit. Also HPAGE where used:
|
||||
* This comes from __is_kernel_text upper limit. Also HPAGE where used:
|
||||
*/
|
||||
unsigned long size = (((unsigned long)__init_end + HPAGE_SIZE) & HPAGE_MASK) - start;
|
||||
|
||||
|
|
Загрузка…
Ссылка в новой задаче