mirror of
https://github.com/torvalds/linux.git
synced 2024-11-22 04:38:03 +00:00
0a6b58c5cd
On the parisc architecture, lockdep reports for all static objects which are in the __initdata section (e.g. "setup_done" in devtmpfs, "kthreadd_done" in init/main.c) this warning: INFO: trying to register non-static key. The warning itself is wrong, because those objects are in the __initdata section, but the section itself is on parisc outside of range from _stext to _end, which is why the static_obj() functions returns a wrong answer. While fixing this issue, I noticed that the whole existing check can be simplified a lot. Instead of checking against the _stext and _end symbols (which include code areas too) just check for the .data and .bss segments (since we check a data object). This can be done with the existing is_kernel_core_data() macro. In addition objects in the __initdata section can be checked with init_section_contains(), and is_kernel_rodata() allows keys to be in the _ro_after_init section. This partly reverts and simplifies commitbac59d18c7
("x86/setup: Fix static memory detection"). Link: https://lkml.kernel.org/r/ZNqrLRaOi/3wPAdp@p100 Fixes:bac59d18c7
("x86/setup: Fix static memory detection") Signed-off-by: Helge Deller <deller@gmx.de> Cc: Borislav Petkov <bp@suse.de> Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Cc: Guenter Roeck <linux@roeck-us.net> Cc: Peter Zijlstra <peterz@infradead.org> Cc: "Rafael J. Wysocki" <rafael@kernel.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
20 lines
426 B
C
20 lines
426 B
C
/* SPDX-License-Identifier: GPL-2.0 */
|
|
#ifndef _ASM_X86_SECTIONS_H
|
|
#define _ASM_X86_SECTIONS_H
|
|
|
|
#include <asm-generic/sections.h>
|
|
#include <asm/extable.h>
|
|
|
|
extern char __brk_base[], __brk_limit[];
|
|
extern char __end_rodata_aligned[];
|
|
|
|
#if defined(CONFIG_X86_64)
|
|
extern char __end_rodata_hpage_align[];
|
|
#endif
|
|
|
|
extern char __end_of_kernel_reserve[];
|
|
|
|
extern unsigned long _brk_start, _brk_end;
|
|
|
|
#endif /* _ASM_X86_SECTIONS_H */
|