Hi,
I am using function vm_kernel_unslide_or_perm_external declared in "vm/vm_kern.h" in my kernel extension.
It is in exported KPI list at /System/Library/Frameworks/Kernel.framework//Resources/SupportedKPIs-all-archs.txt
exported by dependency com.apple.kpi.mach
I have added com.apple.kpi.mach in my Kext's dependency list.
I am able use other symbols from com.apple.kpi.mach e.g. current_thread
While loading my kext I get following error
$ sudo kextutil -tcnv test.kext
Defaulting to kernel file '/System/Library/Kernels/kernel'
kxld[com.test.test]: The following symbols are unresolved for this kext:
kxld[com.test.test]: vm_kernel_addrperm_external(unsigned long, unsigned long*)
Link failed (error code 5).
Check library declarations for your kext with kextlibs(8).
Running kextlibs shows following error
$ sudo kextlibs test.kext
For all architectures:
com.apple.kpi.bsd = 16.7
com.apple.kpi.iokit = 16.7
com.apple.kpi.libkern = 16.7
com.apple.kpi.mach = 16.7
For x86_64:
1 symbol not found in any library kext.
It the function vm_kernel_unslide_or_perm_external not a supported KPI anymore?
I am testing on macOS 10.12.6.