Message ID | 1386574131-3417-1-git-send-email-thellstrom@vmware.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Looks good to me. Cheers, Jakob. ----- Thomas Hellstrom <thellstrom@vmware.com> wrote: > VMAs covering a bo but that didn't start at the same address space offset as > the bo they were mapping were incorrectly generating SEGFAULT errors in > the fault handler. > > Reported-by: Joseph Dolinak <kanilo2@yahoo.com> > Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com> > Cc: stable@vger.kernel.org > --- > drivers/gpu/drm/ttm/ttm_bo_vm.c | 6 +++--- > 1 file changed, 3 insertions(+), 3 deletions(-) > > diff --git a/drivers/gpu/drm/ttm/ttm_bo_vm.c b/drivers/gpu/drm/ttm/ttm_bo_vm.c > index b249ab9..6440eea 100644 > --- a/drivers/gpu/drm/ttm/ttm_bo_vm.c > +++ b/drivers/gpu/drm/ttm/ttm_bo_vm.c > @@ -169,9 +169,9 @@ static int ttm_bo_vm_fault(struct vm_area_struct *vma, struct vm_fault *vmf) > } > > page_offset = ((address - vma->vm_start) >> PAGE_SHIFT) + > - drm_vma_node_start(&bo->vma_node) - vma->vm_pgoff; > - page_last = vma_pages(vma) + > - drm_vma_node_start(&bo->vma_node) - vma->vm_pgoff; > + vma->vm_pgoff - drm_vma_node_start(&bo->vma_node); > + page_last = vma_pages(vma) + vma->vm_pgoff - > + drm_vma_node_start(&bo->vma_node); > > if (unlikely(page_offset >= bo->num_pages)) { > retval = VM_FAULT_SIGBUS; > -- > 1.7.10.4
diff --git a/drivers/gpu/drm/ttm/ttm_bo_vm.c b/drivers/gpu/drm/ttm/ttm_bo_vm.c index b249ab9..6440eea 100644 --- a/drivers/gpu/drm/ttm/ttm_bo_vm.c +++ b/drivers/gpu/drm/ttm/ttm_bo_vm.c @@ -169,9 +169,9 @@ static int ttm_bo_vm_fault(struct vm_area_struct *vma, struct vm_fault *vmf) } page_offset = ((address - vma->vm_start) >> PAGE_SHIFT) + - drm_vma_node_start(&bo->vma_node) - vma->vm_pgoff; - page_last = vma_pages(vma) + - drm_vma_node_start(&bo->vma_node) - vma->vm_pgoff; + vma->vm_pgoff - drm_vma_node_start(&bo->vma_node); + page_last = vma_pages(vma) + vma->vm_pgoff - + drm_vma_node_start(&bo->vma_node); if (unlikely(page_offset >= bo->num_pages)) { retval = VM_FAULT_SIGBUS;
VMAs covering a bo but that didn't start at the same address space offset as the bo they were mapping were incorrectly generating SEGFAULT errors in the fault handler. Reported-by: Joseph Dolinak <kanilo2@yahoo.com> Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com> Cc: stable@vger.kernel.org --- drivers/gpu/drm/ttm/ttm_bo_vm.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-)