Skip to content

Commit ee88734

Browse files
committed
Implements UVM_UNMAP_EXTERNAL ioctl for nvproxy
1 parent 6dd4ef4 commit ee88734

File tree

3 files changed

+15
-0
lines changed

3 files changed

+15
-0
lines changed

pkg/abi/nvgpu/uvm.go

+10
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@ const (
3939
UVM_TOOLS_READ_PROCESS_MEMORY = 62
4040
UVM_TOOLS_WRITE_PROCESS_MEMORY = 63
4141
UVM_MAP_DYNAMIC_PARALLELISM_REGION = 65
42+
UVM_UNMAP_EXTERNAL = 66
4243
UVM_ALLOC_SEMAPHORE_POOL = 68
4344
UVM_VALIDATE_VA_RANGE = 72
4445
UVM_CREATE_EXTERNAL_RANGE = 73
@@ -288,6 +289,15 @@ type UVM_MAP_DYNAMIC_PARALLELISM_REGION_PARAMS struct {
288289
Pad0 [4]byte
289290
}
290291

292+
// +marshal
293+
type UVM_UNMAP_EXTERNAL_PARAMS struct {
294+
Base uint64
295+
Length uint64
296+
GPUUUID NvUUID
297+
RMStatus uint32
298+
Pad0 [4]byte
299+
}
300+
291301
// +marshal
292302
type UVM_ALLOC_SEMAPHORE_POOL_PARAMS struct {
293303
Base uint64

pkg/sentry/devices/nvproxy/seccomp_filters.go

+4
Original file line numberDiff line numberDiff line change
@@ -182,6 +182,10 @@ func Filters() seccomp.SyscallRules {
182182
seccomp.NonNegativeFD{},
183183
seccomp.EqualTo(nvgpu.UVM_MAP_DYNAMIC_PARALLELISM_REGION),
184184
},
185+
seccomp.PerArg{
186+
seccomp.NonNegativeFD{},
187+
seccomp.EqualTo(nvgpu.UVM_UNMAP_EXTERNAL),
188+
},
185189
seccomp.PerArg{
186190
seccomp.NonNegativeFD{},
187191
seccomp.EqualTo(nvgpu.UVM_ALLOC_SEMAPHORE_POOL),

pkg/sentry/devices/nvproxy/version.go

+1
Original file line numberDiff line numberDiff line change
@@ -192,6 +192,7 @@ func Init() {
192192
nvgpu.UVM_DISABLE_READ_DUPLICATION: uvmIoctlSimple[nvgpu.UVM_DISABLE_READ_DUPLICATION_PARAMS],
193193
nvgpu.UVM_MIGRATE_RANGE_GROUP: uvmIoctlSimple[nvgpu.UVM_MIGRATE_RANGE_GROUP_PARAMS],
194194
nvgpu.UVM_MAP_DYNAMIC_PARALLELISM_REGION: uvmIoctlSimple[nvgpu.UVM_MAP_DYNAMIC_PARALLELISM_REGION_PARAMS],
195+
nvgpu.UVM_UNMAP_EXTERNAL: uvmIoctlSimple[nvgpu.UVM_UNMAP_EXTERNAL_PARAMS],
195196
nvgpu.UVM_ALLOC_SEMAPHORE_POOL: uvmIoctlSimple[nvgpu.UVM_ALLOC_SEMAPHORE_POOL_PARAMS],
196197
nvgpu.UVM_VALIDATE_VA_RANGE: uvmIoctlSimple[nvgpu.UVM_VALIDATE_VA_RANGE_PARAMS],
197198
nvgpu.UVM_CREATE_EXTERNAL_RANGE: uvmIoctlSimple[nvgpu.UVM_CREATE_EXTERNAL_RANGE_PARAMS],

0 commit comments

Comments
 (0)