patch-2.3.26 linux/drivers/video/sgivwfb.c
Next file: linux/drivers/video/tdfxfb.c
Previous file: linux/drivers/video/sbusfb.c
Back to the patch index
Back to the overall index
- Lines: 15
- Date:
Tue Nov 2 17:40:11 1999
- Orig file:
v2.3.25/linux/drivers/video/sgivwfb.c
- Orig date:
Thu Aug 26 13:05:40 1999
diff -u --recursive --new-file v2.3.25/linux/drivers/video/sgivwfb.c linux/drivers/video/sgivwfb.c
@@ -907,9 +907,12 @@
struct vm_area_struct *vma)
{
unsigned long size = vma->vm_end - vma->vm_start;
- unsigned long offset = sgivwfb_mem_phys + vma->vm_offset;
- if (vma->vm_offset+size > sgivwfb_mem_size)
+ unsigned long offset = vma->vm_pgoff << PAGE_SHIFT;
+ if (vma->vm_pgoff > (~0UL >> PAGE_SHIFT))
+ return -EINVAL;
+ if (offset+size > sgivwfb_mem_size)
return -EINVAL;
+ offset += sgivwfb_mem_phys;
pgprot_val(vma->vm_page_prot) = pgprot_val(vma->vm_page_prot) | _PAGE_PCD;
vma->vm_flags |= VM_IO;
if (remap_page_range(vma->vm_start, offset, size, vma->vm_page_prot))
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)