diff options
author | Keith Whitwell <keith@tungstengraphics.com> | 2002-12-12 16:45:31 +0000 |
---|---|---|
committer | Keith Whitwell <keith@tungstengraphics.com> | 2002-12-12 16:45:31 +0000 |
commit | 786228bd26d56c13fc2655431ee5ca2d4d0c9863 (patch) | |
tree | aca4bc295550c9740a43ec763881986e0b55a553 /linux-core | |
parent | fd621fd4a0c0033365353b6d33f132c7ef49b359 (diff) |
bring in jantorial changes from 2.5.51
Diffstat (limited to 'linux-core')
-rw-r--r-- | linux-core/drm_proc.c | 5 | ||||
-rw-r--r-- | linux-core/i810_dma.c | 4 |
2 files changed, 7 insertions, 2 deletions
diff --git a/linux-core/drm_proc.c b/linux-core/drm_proc.c index 24e8556fc..d29db7b7b 100644 --- a/linux-core/drm_proc.c +++ b/linux-core/drm_proc.c @@ -449,7 +449,8 @@ static int DRM(_vma_info)(char *buf, char **start, off_t offset, int request, for (i = vma->vm_start; i < vma->vm_end; i += PAGE_SIZE) { pgd = pgd_offset(vma->vm_mm, i); pmd = pmd_offset(pgd, i); - pte = pte_offset(pmd, i); + preempt_disable(); + pte = pte_offset_map(pmd, i); if (pte_present(*pte)) { address = __pa(pte_page(*pte)) + (i & (PAGE_SIZE-1)); @@ -465,6 +466,8 @@ static int DRM(_vma_info)(char *buf, char **start, off_t offset, int request, } else { DRM_PROC_PRINT(" 0x%08lx\n", i); } + pte_unmap(pte); + preempt_enable(); } #endif } diff --git a/linux-core/i810_dma.c b/linux-core/i810_dma.c index 13f5f64fb..ffb7c7086 100644 --- a/linux-core/i810_dma.c +++ b/linux-core/i810_dma.c @@ -38,6 +38,7 @@ #include "i810_drv.h" #include <linux/interrupt.h> /* For task queue support */ #include <linux/delay.h> +#include <linux/pagemap.h> #ifdef DO_MUNMAP_4_ARGS #define DO_MUNMAP(m, a, l) do_munmap(m, a, l, 1) @@ -1184,7 +1185,8 @@ int i810_ov0_info(struct inode *inode, struct file *filp, data.offset = dev_priv->overlay_offset; data.physical = dev_priv->overlay_physical; - copy_to_user((drm_i810_overlay_t *)arg,&data,sizeof(data)); + if (copy_to_user((drm_i810_overlay_t *)arg,&data,sizeof(data))) + return -EFAULT; return 0; } |