Deleted Added
full compact
30c30
< __FBSDID("$FreeBSD: stable/10/sys/dev/drm2/i915/i915_gem_execbuffer.c 282199 2015-04-28 19:35:05Z dumbbell $");
---
> __FBSDID("$FreeBSD: stable/10/sys/dev/drm2/i915/i915_gem_execbuffer.c 290454 2015-11-06 16:48:33Z jhb $");
942c942
< vm_page_t ***map)
---
> vm_page_t ***map, int **maplen)
948a949,950
> *maplen = malloc(count * sizeof(*maplen), DRM_I915_GEM, M_WAITOK |
> M_ZERO);
970,972c972,975
< if (vm_fault_quick_hold_pages(&curproc->p_vmspace->vm_map,
< exec[i].relocs_ptr, length, VM_PROT_READ | VM_PROT_WRITE,
< ma, page_count) == -1) {
---
> (*maplen)[i] = vm_fault_quick_hold_pages(
> &curproc->p_vmspace->vm_map, exec[i].relocs_ptr, length,
> VM_PROT_READ | VM_PROT_WRITE, ma, page_count);
> if ((*maplen)[i] == -1) {
1123a1127
> int *relocs_len;
1138c1142,1143
< ret = validate_exec_list(exec, args->buffer_count, &relocs_ma);
---
> ret = validate_exec_list(exec, args->buffer_count, &relocs_ma,
> &relocs_len);
1152c1157,1158
< return -EPERM;
---
> ret = -EPERM;
> goto pre_struct_lock_err;
1160c1166,1167
< return -EPERM;
---
> ret = -EPERM;
> goto pre_struct_lock_err;
1172c1179,1180
< return -EINVAL;
---
> ret = -EINVAL;
> goto pre_struct_lock_err;
1404,1407c1412
< vm_page_unhold_pages(relocs_ma[i], howmany(
< exec[i].relocation_count *
< sizeof(struct drm_i915_gem_relocation_entry),
< PAGE_SIZE));
---
> vm_page_unhold_pages(relocs_ma[i], relocs_len[i]);
1410a1416
> free(relocs_len, DRM_I915_GEM);