nvproxy: add missing uvm peer access ioctl

This commit is contained in:
Jonathon Belotti
2024-07-02 19:30:07 +00:00
parent 6dd4ef415b
commit 1d6470e8f7
3 changed files with 26 additions and 0 deletions
+16
View File
@@ -27,6 +27,8 @@ const (
UVM_UNREGISTER_GPU_VASPACE = 26
UVM_REGISTER_CHANNEL = 27
UVM_UNREGISTER_CHANNEL = 28
UVM_ENABLE_PEER_ACCESS = 29
UVM_DISABLE_PEER_ACCESS = 30
UVM_SET_RANGE_GROUP = 31
UVM_MAP_EXTERNAL_ALLOCATION = 33
UVM_FREE = 34
@@ -127,6 +129,20 @@ type UVM_UNREGISTER_CHANNEL_PARAMS struct {
RMStatus uint32
}
// +marshal
type UVM_ENABLE_PEER_ACCESS_PARAMS struct {
GPUUUIDA NvUUID
GPUUUIDB NvUUID
RMStatus uint32
}
// +marshal
type UVM_DISABLE_PEER_ACCESS_PARAMS struct {
GPUUUIDA NvUUID
GPUUUIDB NvUUID
RMStatus uint32
}
// +marshal
type UVM_SET_RANGE_GROUP_PARAMS struct {
RangeGroupID uint64
@@ -134,6 +134,14 @@ func Filters() seccomp.SyscallRules {
seccomp.NonNegativeFD{},
seccomp.EqualTo(nvgpu.UVM_UNREGISTER_CHANNEL),
},
seccomp.PerArg{
seccomp.NonNegativeFD{},
seccomp.EqualTo(nvgpu.UVM_ENABLE_PEER_ACCESS),
},
seccomp.PerArg{
seccomp.NonNegativeFD{},
seccomp.EqualTo(nvgpu.UVM_DISABLE_PEER_ACCESS),
},
seccomp.PerArg{
seccomp.NonNegativeFD{},
seccomp.EqualTo(nvgpu.UVM_SET_RANGE_GROUP),
+2
View File
@@ -182,6 +182,8 @@ func Init() {
nvgpu.UVM_UNREGISTER_GPU_VASPACE: uvmIoctlSimple[nvgpu.UVM_UNREGISTER_GPU_VASPACE_PARAMS],
nvgpu.UVM_REGISTER_CHANNEL: uvmIoctlHasFrontendFD[nvgpu.UVM_REGISTER_CHANNEL_PARAMS],
nvgpu.UVM_UNREGISTER_CHANNEL: uvmIoctlSimple[nvgpu.UVM_UNREGISTER_CHANNEL_PARAMS],
nvgpu.UVM_ENABLE_PEER_ACCESS: uvmIoctlSimple[nvgpu.UVM_ENABLE_PEER_ACCESS_PARAMS],
nvgpu.UVM_DISABLE_PEER_ACCESS: uvmIoctlSimple[nvgpu.UVM_DISABLE_PEER_ACCESS_PARAMS],
nvgpu.UVM_SET_RANGE_GROUP: uvmIoctlSimple[nvgpu.UVM_SET_RANGE_GROUP_PARAMS],
nvgpu.UVM_MAP_EXTERNAL_ALLOCATION: uvmIoctlHasFrontendFD[nvgpu.UVM_MAP_EXTERNAL_ALLOCATION_PARAMS],
nvgpu.UVM_FREE: uvmIoctlSimple[nvgpu.UVM_FREE_PARAMS],