摘要:我们在通过内核 api vm_allocate() 将一些数据复制到分配的内存时面临内核恐慌;是否有针对此问题的替代 api/方法。10.14 有什么变化?重现步骤:
我们使用以下内核 API 分配内核内存 kern_return_t krt = kern_private.vm_allocate(map, &ptr, size, VM_FLAGS_ANYWHERE );
然后我们为分配的内存提供读写权限 krt = mach_vm_protect(map, ptr, size, FALSE, VM_PROT_READ | VM_PROT_WRITE | VM_PROT_EXECUTE);
现在,当我们尝试将一些数据复制到分配的内存中时。ex memcpy(目标,数据,大小);其中 dest 是分配的内存位置。}
预期结果:数据应复制到分配的内存
实际结果:OSX 10.14 正在崩溃。对于 OSX < 10.14,代码运行良好。
版本/内部版本:10.14 Beta (18A314h)