On Fri, 2022-05-27 at 11:56 -0700, David Gow wrote: > > The UML-specific KASAN initializer uses mmap to map the roughly 2.25TB You say 2.25TB here, and > +config KASAN_SHADOW_OFFSET > + hex > + depends on KASAN > + default 0x100000000000 > + help > + This is the offset at which the ~2.25TB of shadow memory is here too, of course. But I notice that I get ~16TB address space use when running, > +/* used in kasan_mem_to_shadow to divide by 8 */ > +#define KASAN_SHADOW_SCALE_SHIFT 3 > + > +#ifdef CONFIG_X86_64 > +#define KASAN_HOST_USER_SPACE_END_ADDR 0x00007fffffffffffUL > +/* KASAN_SHADOW_SIZE is the size of total address space divided by 8 */ > +#define KASAN_SHADOW_SIZE ((KASAN_HOST_USER_SPACE_END_ADDR + 1) >> \ > + KASAN_SHADOW_SCALE_SHIFT) because this ends up being 0x100000000000, i.e. 16 TiB. Is that intentional? Was something missed? Maybe KASAN_HOST_USER_SPACE_END_ADDR was too big? It doesn't really matter, but I guess then the documentation should be updated. johannes