mirror of
https://github.com/Fishwaldo/linux-bl808.git
synced 2025-06-17 20:25:19 +00:00
mm: use vmf->address instead of of vmf->virtual_address
Every single user of vmf->virtual_address typed that entry to unsigned long before doing anything with it so the type of virtual_address does not really provide us any additional safety. Just use masked vmf->address which already has the appropriate type. Link: http://lkml.kernel.org/r/1479460644-25076-3-git-send-email-jack@suse.cz Signed-off-by: Jan Kara <jack@suse.cz> Acked-by: Kirill A. Shutemov <kirill.shutemov@linux.intel.com> Cc: Dan Williams <dan.j.williams@intel.com> Cc: Ross Zwisler <ross.zwisler@linux.intel.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
parent
82b0f8c39a
commit
1a29d85eb0
27 changed files with 57 additions and 79 deletions
|
@ -398,8 +398,7 @@ static int fault_1d(struct drm_gem_object *obj,
|
|||
pgoff_t pgoff;
|
||||
|
||||
/* We don't use vmf->pgoff since that has the fake offset: */
|
||||
pgoff = ((unsigned long)vmf->virtual_address -
|
||||
vma->vm_start) >> PAGE_SHIFT;
|
||||
pgoff = (vmf->address - vma->vm_start) >> PAGE_SHIFT;
|
||||
|
||||
if (omap_obj->pages) {
|
||||
omap_gem_cpu_sync(obj, pgoff);
|
||||
|
@ -409,11 +408,10 @@ static int fault_1d(struct drm_gem_object *obj,
|
|||
pfn = (omap_obj->paddr >> PAGE_SHIFT) + pgoff;
|
||||
}
|
||||
|
||||
VERB("Inserting %p pfn %lx, pa %lx", vmf->virtual_address,
|
||||
VERB("Inserting %p pfn %lx, pa %lx", (void *)vmf->address,
|
||||
pfn, pfn << PAGE_SHIFT);
|
||||
|
||||
return vm_insert_mixed(vma, (unsigned long)vmf->virtual_address,
|
||||
__pfn_to_pfn_t(pfn, PFN_DEV));
|
||||
return vm_insert_mixed(vma, vmf->address, __pfn_to_pfn_t(pfn, PFN_DEV));
|
||||
}
|
||||
|
||||
/* Special handling for the case of faulting in 2d tiled buffers */
|
||||
|
@ -427,7 +425,7 @@ static int fault_2d(struct drm_gem_object *obj,
|
|||
struct page *pages[64]; /* XXX is this too much to have on stack? */
|
||||
unsigned long pfn;
|
||||
pgoff_t pgoff, base_pgoff;
|
||||
void __user *vaddr;
|
||||
unsigned long vaddr;
|
||||
int i, ret, slots;
|
||||
|
||||
/*
|
||||
|
@ -447,8 +445,7 @@ static int fault_2d(struct drm_gem_object *obj,
|
|||
const int m = 1 + ((omap_obj->width << fmt) / PAGE_SIZE);
|
||||
|
||||
/* We don't use vmf->pgoff since that has the fake offset: */
|
||||
pgoff = ((unsigned long)vmf->virtual_address -
|
||||
vma->vm_start) >> PAGE_SHIFT;
|
||||
pgoff = (vmf->address - vma->vm_start) >> PAGE_SHIFT;
|
||||
|
||||
/*
|
||||
* Actual address we start mapping at is rounded down to previous slot
|
||||
|
@ -459,7 +456,7 @@ static int fault_2d(struct drm_gem_object *obj,
|
|||
/* figure out buffer width in slots */
|
||||
slots = omap_obj->width >> priv->usergart[fmt].slot_shift;
|
||||
|
||||
vaddr = vmf->virtual_address - ((pgoff - base_pgoff) << PAGE_SHIFT);
|
||||
vaddr = vmf->address - ((pgoff - base_pgoff) << PAGE_SHIFT);
|
||||
|
||||
entry = &priv->usergart[fmt].entry[priv->usergart[fmt].last];
|
||||
|
||||
|
@ -503,12 +500,11 @@ static int fault_2d(struct drm_gem_object *obj,
|
|||
|
||||
pfn = entry->paddr >> PAGE_SHIFT;
|
||||
|
||||
VERB("Inserting %p pfn %lx, pa %lx", vmf->virtual_address,
|
||||
VERB("Inserting %p pfn %lx, pa %lx", (void *)vmf->address,
|
||||
pfn, pfn << PAGE_SHIFT);
|
||||
|
||||
for (i = n; i > 0; i--) {
|
||||
vm_insert_mixed(vma, (unsigned long)vaddr,
|
||||
__pfn_to_pfn_t(pfn, PFN_DEV));
|
||||
vm_insert_mixed(vma, vaddr, __pfn_to_pfn_t(pfn, PFN_DEV));
|
||||
pfn += priv->usergart[fmt].stride_pfn;
|
||||
vaddr += PAGE_SIZE * m;
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue