https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=267028
--- Comment #241 from Mark Millard <marklmi26-f...@yahoo.com> --- One of the older ("obsolete") crash dump reports is for: /* * free: * * Free a block of memory allocated by malloc. * * This routine may not block. */ void free(void *addr, struct malloc_type *mtp) { uma_zone_t zone; uma_slab_t slab; u_long size; #ifdef MALLOC_DEBUG if (free_dbg(&addr, mtp) != 0) return; #endif /* free(NULL, ...) does nothing */ if (addr == NULL) return; vtozoneslab((vm_offset_t)addr & (~UMA_SLAB_MASK), &zone, &slab); . . . where addr ended up being 0xfffff80000000007 , in other words PHYS_TO_DMAP(0x7). The (vm_offset_t)addr & (~UMA_SLAB_MASK) turned it into 0xfffff80000000000 for vtozoneslab. That in turn reported a failure. The presence of a NULL check in the kernel's free suggests to me that the kernel's free may not be intended to handle DMAP addresses. Similarly for other kernel code that checks against NULL but not against PHYS_TO_DMAP(NULL). How does one tell where DMAP addresses should not appear when looking around via kgdb? -- You are receiving this mail because: You are the assignee for the bug.