udmabuf: add back sanity check
[ Upstream commit05b252cccb] Check vm_fault->pgoff before using it. When we removed the warning, we also removed the check. Fixes:7b26e4e211("udmabuf: drop WARN_ON() check.") Reported-by: zdi-disclosures@trendmicro.com Suggested-by: Linus Torvalds <torvalds@linuxfoundation.org> Signed-off-by: Gerd Hoffmann <kraxel@redhat.com> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
e82376b632
commit
20119c1e0f
@@ -26,8 +26,11 @@ static vm_fault_t udmabuf_vm_fault(struct vm_fault *vmf)
|
|||||||
{
|
{
|
||||||
struct vm_area_struct *vma = vmf->vma;
|
struct vm_area_struct *vma = vmf->vma;
|
||||||
struct udmabuf *ubuf = vma->vm_private_data;
|
struct udmabuf *ubuf = vma->vm_private_data;
|
||||||
|
pgoff_t pgoff = vmf->pgoff;
|
||||||
|
|
||||||
vmf->page = ubuf->pages[vmf->pgoff];
|
if (pgoff >= ubuf->pagecount)
|
||||||
|
return VM_FAULT_SIGBUS;
|
||||||
|
vmf->page = ubuf->pages[pgoff];
|
||||||
get_page(vmf->page);
|
get_page(vmf->page);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user