Date: Mon, 16 Dec 2024 19:17:42 +0000 From: bugzilla-noreply@freebsd.org To: bugs@FreeBSD.org Subject: [Bug 267028] kernel panics when booting with both (zfs,ko or vboxnetflt,ko or acpi_wmi.ko) and amdgpu.ko Message-ID: <bug-267028-227-IH2keZHuD3@https.bugs.freebsd.org/bugzilla/> In-Reply-To: <bug-267028-227@https.bugs.freebsd.org/bugzilla/> References: <bug-267028-227@https.bugs.freebsd.org/bugzilla/>
next in thread | previous in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D267028 --- Comment #241 from Mark Millard <marklmi26-fbsd@yahoo.com> --- One of the older ("obsolete") crash dump reports is for: /* * free: *=20 * Free a block of memory allocated by malloc. *=20 * 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) !=3D 0) return; #endif /* free(NULL, ...) does nothing */ if (addr =3D=3D 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? --=20 You are receiving this mail because: You are the assignee for the bug.=
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-267028-227-IH2keZHuD3>