On Tue, Jul 15, 2025 at 1:52 AM Kristof Provost <k...@freebsd.org> wrote: > > On 15 Jul 2025, at 0:03, Konstantin Belousov wrote: > > The branch main has been updated by kib: > > > > URL: > > https://cgit.FreeBSD.org/src/commit/?id=4dd828c80828637452a8a4e07a64e294c82e5d8b > > > > commit 4dd828c80828637452a8a4e07a64e294c82e5d8b > > Author: Konstantin Belousov <k...@freebsd.org> > > AuthorDate: 2025-06-15 21:39:10 +0000 > > Commit: Konstantin Belousov <k...@freebsd.org> > > CommitDate: 2025-07-14 22:03:28 +0000 > > > > amd64: add kva_layout > > > > Reviewed by: markj > > Tested by: pho > > Sponsored by: The FreeBSD Foundation > > Differential revision: https://reviews.freebsd.org/D51085 > > --- > .. > > diff --git a/sys/amd64/include/vmparam.h b/sys/amd64/include/vmparam.h > > index 0cd9bb4fa7a4..f12e5217a44b 100644 > > --- a/sys/amd64/include/vmparam.h > > +++ b/sys/amd64/include/vmparam.h > > @@ -181,12 +181,9 @@ > > * 0xffffffff80000000 KERNBASE > > */ > > > > -#define VM_MIN_KERNEL_ADDRESS KV4ADDR(KPML4BASE, 0, 0, 0) > > -#define VM_MAX_KERNEL_ADDRESS KV4ADDR(KPML4BASE + NKPML4E - 1, \ > > - NPDPEPG-1, NPDEPG-1, NPTEPG-1) > > - > > -#define DMAP_MIN_ADDRESS KV4ADDR(DMPML4I, 0, 0, 0) > > -#define DMAP_MAX_ADDRESS KV4ADDR(DMPML4I + NDMPML4E, 0, 0, 0) > > +#define VM_MIN_KERNEL_ADDRESS_LA48 KV4ADDR(KPML4BASE, 0, 0, 0) > > +#define VM_MIN_KERNEL_ADDRESS kva_layout.km_low > > +#define VM_MAX_KERNEL_ADDRESS kva_layout.km_high > > The removal of DMAP_MIN_ADDRESS breaks the KASAN build. > > This seems to fix it for me, but I’m not familiar enough with this code to be > confident to commit it:
Looks correct per Kib's comment on a similar issue here https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=288236 > > diff --git a/sys/kern/subr_asan.c b/sys/kern/subr_asan.c > index 0edb631d1475..31204bad8c30 100644 > --- a/sys/kern/subr_asan.c > +++ b/sys/kern/subr_asan.c > @@ -263,8 +263,8 @@ kasan_mark(const void *addr, size_t size, size_t > redzsize, uint8_t code) > if (__predict_false(!kasan_enabled)) > return; > > - if ((vm_offset_t)addr >= DMAP_MIN_ADDRESS && > - (vm_offset_t)addr < DMAP_MAX_ADDRESS) > + if ((vm_offset_t)addr >= kva_layout.dmap_low && > + (vm_offset_t)addr < kva_layout.dmap_high) > return; > > KASSERT((vm_offset_t)addr >= VM_MIN_KERNEL_ADDRESS && > > — > Kristof