]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/commit
Introduce cpu_icache_sync_range_checked(), that does the same thing as
authorcognet <cognet@FreeBSD.org>
Sun, 13 Jan 2019 23:29:46 +0000 (23:29 +0000)
committercognet <cognet@FreeBSD.org>
Sun, 13 Jan 2019 23:29:46 +0000 (23:29 +0000)
commitf68e64c61223b429e018adb7fb33cfc0a0443052
treeac9388303262b565ef744b6d193b00a1a7e245b8
parent23cce14a7d2ac57871dfaff43ab59612a75cd778
Introduce cpu_icache_sync_range_checked(), that does the same thing as
cpu_icache_sync_range(), except that it sets pcb_onfault to catch any page
fault, as doing cache maintenance operations for non-mapped generates a
data abort, and use it in freebsd32_sysarch(), so that a userland program
attempting to sync the icache with unmapped addresses doesn't crash the
kernel.

Spotted out by: andrew
sys/arm64/arm64/cpufunc_asm.S
sys/arm64/arm64/freebsd32_machdep.c
sys/arm64/include/cpufunc.h