CVSROOT: /cvs
Module name: src
Changes by: [email protected] 2023/02/05 23:41:38
Modified files:
sys/arch/powerpc/powerpc: pmap.c
Log message:
Add missing check for pg != NULL
The code was reading pg->pg_flags, so clang assumed pg != NULL, then
optimized a later "if (pg != NULL)" to "if (1)", and allowed a call to
pmap_enter_pv(pted, NULL). Such a call can freeze bsd.mp by trying to
lock NULL's ((struct mutex *)0x3c). I froze bsd.mp this way by
starting Xorg on a macppc with nv(4) or r128(4) video, as it tried to
mmap the xf86(4) aperture.
ok miod@