mirror of
https://github.com/torvalds/linux.git
synced 2024-11-11 06:31:49 +00:00
riscv: kasan: Fix MODULES_VADDR evaluation due to local variables' name
commit2bfc6cd81b
("riscv: Move kernel mapping outside of linear mapping") makes use of MODULES_VADDR to populate kernel, BPF, modules mapping. Currently, MODULES_VADDR is defined as below for RV64: | #define MODULES_VADDR (PFN_ALIGN((unsigned long)&_end) - SZ_2G) But kasan_init() has two local variables which are also named as _start, _end, so MODULES_VADDR is evaluated with the local variable _end rather than the global "_end" as we expected. Fix this issue by renaming the two local variables. Fixes:2bfc6cd81b
("riscv: Move kernel mapping outside of linear mapping") Signed-off-by: Jisheng Zhang <jszhang@kernel.org> Signed-off-by: Palmer Dabbelt <palmerdabbelt@google.com>
This commit is contained in:
parent
01f5315dd7
commit
314b781706
@ -169,7 +169,7 @@ static void __init kasan_shallow_populate(void *start, void *end)
|
||||
|
||||
void __init kasan_init(void)
|
||||
{
|
||||
phys_addr_t _start, _end;
|
||||
phys_addr_t p_start, p_end;
|
||||
u64 i;
|
||||
|
||||
/*
|
||||
@ -189,9 +189,9 @@ void __init kasan_init(void)
|
||||
(void *)kasan_mem_to_shadow((void *)VMALLOC_END));
|
||||
|
||||
/* Populate the linear mapping */
|
||||
for_each_mem_range(i, &_start, &_end) {
|
||||
void *start = (void *)__va(_start);
|
||||
void *end = (void *)__va(_end);
|
||||
for_each_mem_range(i, &p_start, &p_end) {
|
||||
void *start = (void *)__va(p_start);
|
||||
void *end = (void *)__va(p_end);
|
||||
|
||||
if (start >= end)
|
||||
break;
|
||||
|
Loading…
Reference in New Issue
Block a user