Versioning Kernel Extensions
If your kernel extension is directly accessible to a user–space application, you may wish to provide a versioning system to prevent an older user–space application from accessing a newer kernel extension or vice versa. This is not necessary, for say, audio drivers or other drivers that use a system–supplied IOUserClient; however, in the case that it does not, your KEXT will essentially present an API to the application, which needs to be remain compatible. If the KEXT has been updated, an older application may break or even cause a crash. There is no standardized way to deal with this issue, and the solution is largely dependent on the nature of the KEXT and the applications that access it. One strategy is to include ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access