Messages in this thread | | | Date | Fri, 27 Jan 2023 15:27:40 +0000 | From | Conor Dooley <> | Subject | Re: [PATCH v3 3/6] riscv: Move DTB_EARLY_BASE_VA to the kernel address space |
| |
Hey Alex,
On Wed, Jan 25, 2023 at 09:23:30AM +0100, Alexandre Ghiti wrote: > The early virtual address should lie in the kernel address space for > inline kasan instrumentation to succeed, otherwise kasan tries to > dereference an address that does not exist in the address space (since > kasan only maps *kernel* address space, not the userspace). > > Simply use the very first address of the kernel address space for the > early fdt mapping. > > It allowed an Ubuntu kernel to boot successfully with inline > instrumentation. > > Signed-off-by: Alexandre Ghiti <alexghiti@rivosinc.com>
Been poking around in this area the last few days trying to hunt down some bugs... Things look functionally the same w/ this patch and we do get rid of the odd looking pointer which is nice. Reviewed-by: Conor Dooley <conor.dooley@microchip.com>
Probably would've made the cause of 50e63dd8ed92 ("riscv: fix reserved memory setup") more difficult to find so glad I got that out of the way well before this patch!
Thanks, Conor.
> --- > arch/riscv/mm/init.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/arch/riscv/mm/init.c b/arch/riscv/mm/init.c > index 478d6763a01a..87f6a5d475a6 100644 > --- a/arch/riscv/mm/init.c > +++ b/arch/riscv/mm/init.c > @@ -57,7 +57,7 @@ unsigned long empty_zero_page[PAGE_SIZE / sizeof(unsigned long)] > EXPORT_SYMBOL(empty_zero_page); > > extern char _start[]; > -#define DTB_EARLY_BASE_VA PGDIR_SIZE > +#define DTB_EARLY_BASE_VA (ADDRESS_SPACE_END - (PTRS_PER_PGD / 2 * PGDIR_SIZE) + 1) > void *_dtb_early_va __initdata; > uintptr_t _dtb_early_pa __initdata; > > -- > 2.37.2 > > [unhandled content-type:application/pgp-signature] | |