https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=271333

--- Comment #6 from commit-h...@freebsd.org ---
A commit in branch main references this bug:

URL:
https://cgit.FreeBSD.org/src/commit/?id=6223d0b67af923f53d962a9bf594dc37004dffe8

commit 6223d0b67af923f53d962a9bf594dc37004dffe8
Author:     Mark Johnston <ma...@freebsd.org>
AuthorDate: 2023-10-17 14:26:18 +0000
Commit:     Mark Johnston <ma...@freebsd.org>
CommitDate: 2023-10-17 15:19:06 +0000

    linuxkpi: Handle direct-mapped addresses in linux_free_kmem()

    See the analysis in PR 271333.  It is possible for driver code to
    allocate a page, store its address as returned by page_address(), then
    call free_page() on that address.  On most systems that'll result in the
    LinuxKPI calling kmem_free() with a direct-mapped address, which is not
    legal.

    Fix the problem by making linux_free_kmem() check the address to see
    whether it's direct-mapped or not, and handling it appropriately.

    PR:             271333, 274515
    Reviewed by:    hselasky, bz
    Tested by:      trasz
    MFC after:      1 week
    Sponsored by:   The FreeBSD Foundation
    Differential Revision:  https://reviews.freebsd.org/D40028

 sys/compat/linuxkpi/common/src/linux_page.c | 22 +++++++++++++++++++---
 1 file changed, 19 insertions(+), 3 deletions(-)

-- 
You are receiving this mail because:
You are the assignee for the bug.

Reply via email to