3 ms·
xnu kexts are not isolated and probably never will be, although IOKit exposes some things to userspace.
by comex 13y ago
xnu kexts are not isolated and probably never will be, although IOKit exposes some things to userspace.
- Demiurge 13y agoThey're isolated enough that drivers can crash and just be reloaded, without a kernel panic.
- comex 13y agoNo, they are not. A crash in a kext causes a kernel panic.
- Demiurge 13y agoYou are right. An actual crash in kext causes kernel panic. I think I read that this is was possible, but I can't find how, and when, right now. The common thing that I'm thinking of is just voluntary error (exception) handling in kexts and reloading of kext on their own. There is some isolation and benefit to it. Edit: ok, I just figured out my source of confusion. IOKit allows userspace drivers, which can crash without resulting in panic.
- valleyer 13y agoIOKit allows communication between kexts and userland. You could call that "userland drivers", but it's not like you can write only userland code to implement a driver.