Load System Extension Error on Mac
Ever come into a situation where an application wants to load a system extension and wants you to allow it in System Preferences > Security & Privacy but there is no prompt for you to do so in the window?
Checks
-
Check
/private/var/db/KernelExtensionManagementfor the following:- Permissions should be
0755with therestrictedflag set.$ ls -ldO /private/var/db/KernelExtensionManagement drwxr-xr-x@ 4 root wheel restricted 128 Sep 30 10:52 /private/var/db/KernelExtensionManagement - The
com.apple.rootlessattribute set toKernelExtensionManagement$ xattr -l /private/var/db/KernelExtensionManagement com.apple.macl: 00000000 03 00 9A 5A D4 7E 96 5A 42 62 AB 95 F0 FE 77 5D |...Z.~.ZBb....w]| 00000010 B3 00 03 00 98 D0 E8 EA 04 50 4D 30 BE 6E 07 3D |.........PM0.n.=| 00000020 87 A8 B8 46 00 00 00 00 00 00 00 00 00 00 00 00 |...F............| 00000030 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| 00000040 00 00 00 00 00 00 00 00 |........| 00000048 com.apple.rootless: KernelExtensionManagement
- Permissions should be
-
Check
/private/var/db/KernelExtensionManagement/Stagingfor the following:- Permissions should be
0755with therestrictedflag set$ ls -ldO /private/var/db/KernelExtensionManagement/Staging drwxr-xr-x 2 root wheel restricted 64 Oct 2 12:40 /private/var/db/KernelExtensionManagement/Staging
- Permissions should be
Reason for the issue
If the restricted flag or the com.apple.rootless attribute is not set against KernelExtensionManagement, it appears to affect how SIP treats the directory.
Solutions
To fix the problem you can try either of the following in the mac recovery console:
- Delete
/private/var/db/KernelExtensionManagementDeleting/private/var/db/KernelExtensionManagementfixes it, as it is recreated when needed.# rm -rf /private/var/db/KernelExtensionManagement - Set
restrictedflag on/private/var/db/KernelExtensionManagement# chflags restricted /Volumes/Macintosh\ HD/private/var/db/KernelExtensionManagement
Note:
In case the path /private/var/db/KernelExtensionManagement does not work, you could try /Volumes/Macintosh\ HD/private/var/db/KernelExtensionManagement instead. Replace Macintosh\ HD with the name of your root volume if needed.