[Bug 271333] kernel panic 13.2-RELEASE
- In reply to: bugzilla-noreply_a_freebsd.org: "[Bug 271333] kernel panic 13.2-RELEASE"
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Tue, 09 May 2023 19:05:02 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=271333
Mark Johnston <markj@FreeBSD.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |markj@FreeBSD.org
Status|New |Open
--- Comment #1 from Mark Johnston <markj@FreeBSD.org> ---
Looks like a LinuxKPI bug:
- i915_vma_coredump contains an array of pages, freed in
__i915_gpu_coredump_free() -> cleanup_gt() -> i915_vma_coredump_free() with
for (page = 0; page < vma->page_count; page++)
free_page((unsigned long)vma->pages[page]);
- free_page() just calls FreeBSD's kmem_free(). That is, it expects to receive
a page mapped into the kernel map.
- Looks like those pages are allocated by pool_alloc() in i915_gpu_error.c. It
uses alloc_page() in the LinuxKPI, which just allocates and returns an unmapped
page. pool_alloc() extracts the direct map address.
So, i915kms is passing a direct map address to free_page(), which doesn't
handle that. Probably free_page() should handle direct-mapped addresses by
resolving them to a page and freeing that with linux_free_pages(page, 0).
--
You are receiving this mail because:
You are the assignee for the bug.