1

摘要:我们在通过内核 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)

4

0 回答 0