opnsense-src/sys/compat/linuxkpi
Mark Johnston 6223d0b67a 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
2023-10-17 11:19:06 -04:00
..
common linuxkpi: Handle direct-mapped addresses in linux_free_kmem() 2023-10-17 11:19:06 -04:00
dummy/include LinuxKPI: remove dummy headers with implementations 2023-10-04 10:17:21 +00:00