| .. | .. |
|---|
| 2229 | 2229 | uint64_t eaddr; |
|---|
| 2230 | 2230 | |
|---|
| 2231 | 2231 | /* validate the parameters */ |
|---|
| 2232 | | - if (saddr & ~PAGE_MASK || offset & ~PAGE_MASK || |
|---|
| 2233 | | - size == 0 || size & ~PAGE_MASK) |
|---|
| 2232 | + if (saddr & ~PAGE_MASK || offset & ~PAGE_MASK || size & ~PAGE_MASK) |
|---|
| 2233 | + return -EINVAL; |
|---|
| 2234 | + if (saddr + size <= saddr || offset + size <= offset) |
|---|
| 2234 | 2235 | return -EINVAL; |
|---|
| 2235 | 2236 | |
|---|
| 2236 | 2237 | /* make sure object fit at this offset */ |
|---|
| 2237 | 2238 | eaddr = saddr + size - 1; |
|---|
| 2238 | | - if (saddr >= eaddr || |
|---|
| 2239 | | - (bo && offset + size > amdgpu_bo_size(bo)) || |
|---|
| 2239 | + if ((bo && offset + size > amdgpu_bo_size(bo)) || |
|---|
| 2240 | 2240 | (eaddr >= adev->vm_manager.max_pfn << AMDGPU_GPU_PAGE_SHIFT)) |
|---|
| 2241 | 2241 | return -EINVAL; |
|---|
| 2242 | 2242 | |
|---|
| .. | .. |
|---|
| 2295 | 2295 | int r; |
|---|
| 2296 | 2296 | |
|---|
| 2297 | 2297 | /* validate the parameters */ |
|---|
| 2298 | | - if (saddr & ~PAGE_MASK || offset & ~PAGE_MASK || |
|---|
| 2299 | | - size == 0 || size & ~PAGE_MASK) |
|---|
| 2298 | + if (saddr & ~PAGE_MASK || offset & ~PAGE_MASK || size & ~PAGE_MASK) |
|---|
| 2299 | + return -EINVAL; |
|---|
| 2300 | + if (saddr + size <= saddr || offset + size <= offset) |
|---|
| 2300 | 2301 | return -EINVAL; |
|---|
| 2301 | 2302 | |
|---|
| 2302 | 2303 | /* make sure object fit at this offset */ |
|---|
| 2303 | 2304 | eaddr = saddr + size - 1; |
|---|
| 2304 | | - if (saddr >= eaddr || |
|---|
| 2305 | | - (bo && offset + size > amdgpu_bo_size(bo)) || |
|---|
| 2305 | + if ((bo && offset + size > amdgpu_bo_size(bo)) || |
|---|
| 2306 | 2306 | (eaddr >= adev->vm_manager.max_pfn << AMDGPU_GPU_PAGE_SHIFT)) |
|---|
| 2307 | 2307 | return -EINVAL; |
|---|
| 2308 | 2308 | |
|---|
| .. | .. |
|---|
| 3252 | 3252 | long timeout = msecs_to_jiffies(2000); |
|---|
| 3253 | 3253 | int r; |
|---|
| 3254 | 3254 | |
|---|
| 3255 | + /* No valid flags defined yet */ |
|---|
| 3256 | + if (args->in.flags) |
|---|
| 3257 | + return -EINVAL; |
|---|
| 3258 | + |
|---|
| 3255 | 3259 | switch (args->in.op) { |
|---|
| 3256 | 3260 | case AMDGPU_VM_OP_RESERVE_VMID: |
|---|
| 3257 | 3261 | /* We only have requirement to reserve vmid from gfxhub */ |
|---|