quarks/x11-drivers/nvidia-drivers/files/nvidia-drivers-331.17-pax-const.patch

42 lines
2.6 KiB
Diff
Raw Normal View History

--- 1/kernel/nv_uvm_interface.c
+++ 1/kernel/nv_uvm_interface.c
@@ -384,21 +384,23 @@
return UVM_ERR_INVALID_ARGUMENT;
}
- g_nvKernelProvider.sessionCreate = nvUvmInterfaceSessionCreate;
- g_nvKernelProvider.sessionDestroy = nvUvmInterfaceSessionDestroy;
- g_nvKernelProvider.addressSpaceCreate = nvUvmInterfaceAddressSpaceCreate;
- g_nvKernelProvider.addressSpaceCreateMirrored = nvUvmInterfaceAddressSpaceCreateMirrored;
- g_nvKernelProvider.addressSpaceDestroy = nvUvmInterfaceAddressSpaceDestroy;
- g_nvKernelProvider.allocGpuMemoryFB = nvUvmInterfaceMemoryAllocFB;
- g_nvKernelProvider.allocGpuMemorySys = nvUvmInterfaceMemoryAllocSys;
- g_nvKernelProvider.freeGpuMemory = nvUvmInterfaceMemoryFree;
- g_nvKernelProvider.cpuMap = nvUvmInterfaceMemoryCpuMap;
- g_nvKernelProvider.cpuUnmap = nvUvmInterfaceMemoryCpuUnMap;
- g_nvKernelProvider.channelAllocate = nvUvmInterfaceChannelAllocate;
- g_nvKernelProvider.channelDestroy = nvUvmInterfaceChannelDestroy;
- g_nvKernelProvider.channelTranslateError = nvUvmInterfaceChannelTranslateError;
- g_nvKernelProvider.copyEngineAllocate = nvUvmInterfaceCopyEngineAllocate;
- g_nvKernelProvider.getAttachedUuids = nvUvmInterfaceGetAttachedUuids;
+ pax_open_kernel();
+ *(void **)&g_nvKernelProvider.sessionCreate = nvUvmInterfaceSessionCreate;
+ *(void **)&g_nvKernelProvider.sessionDestroy = nvUvmInterfaceSessionDestroy;
+ *(void **)&g_nvKernelProvider.addressSpaceCreate = nvUvmInterfaceAddressSpaceCreate;
+ *(void **)&g_nvKernelProvider.addressSpaceCreateMirrored = nvUvmInterfaceAddressSpaceCreateMirrored;
+ *(void **)&g_nvKernelProvider.addressSpaceDestroy = nvUvmInterfaceAddressSpaceDestroy;
+ *(void **)&g_nvKernelProvider.allocGpuMemoryFB = nvUvmInterfaceMemoryAllocFB;
+ *(void **)&g_nvKernelProvider.allocGpuMemorySys = nvUvmInterfaceMemoryAllocSys;
+ *(void **)&g_nvKernelProvider.freeGpuMemory = nvUvmInterfaceMemoryFree;
+ *(void **)&g_nvKernelProvider.cpuMap = nvUvmInterfaceMemoryCpuMap;
+ *(void **)&g_nvKernelProvider.cpuUnmap = nvUvmInterfaceMemoryCpuUnMap;
+ *(void **)&g_nvKernelProvider.channelAllocate = nvUvmInterfaceChannelAllocate;
+ *(void **)&g_nvKernelProvider.channelDestroy = nvUvmInterfaceChannelDestroy;
+ *(void **)&g_nvKernelProvider.channelTranslateError = nvUvmInterfaceChannelTranslateError;
+ *(void **)&g_nvKernelProvider.copyEngineAllocate = nvUvmInterfaceCopyEngineAllocate;
+ *(void **)&g_nvKernelProvider.getAttachedUuids = nvUvmInterfaceGetAttachedUuids;
+ pax_close_kernel();
*ppGpuProvider = &g_nvKernelProvider;
g_pNvUvmEvents = importedUvmOps;