From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jakob Bornecrantz Subject: Re: [PATCH] drm/ttm: Fix accesses through vmas with only partial coverage Date: Thu, 12 Dec 2013 04:22:03 -0800 (PST) Message-ID: <1600868985.4813877.1386850923859.JavaMail.root@vmware.com> References: <1386574131-3417-1-git-send-email-thellstrom@vmware.com> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <1386574131-3417-1-git-send-email-thellstrom@vmware.com> Sender: stable-owner@vger.kernel.org To: Thomas Hellstrom Cc: dri-devel@lists.freedesktop.org, stable@vger.kernel.org List-Id: dri-devel@lists.freedesktop.org Looks good to me. Cheers, Jakob. ----- Thomas Hellstrom 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 > Signed-off-by: Thomas Hellstrom > 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