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>
此提交包含在:
@@ -19,8 +19,7 @@ static int alpha_core_agp_vm_fault(struct vm_area_struct *vma,
|
||||
unsigned long pa;
|
||||
struct page *page;
|
||||
|
||||
dma_addr = (unsigned long)vmf->virtual_address - vma->vm_start
|
||||
+ agp->aperture.bus_base;
|
||||
dma_addr = vmf->address - vma->vm_start + agp->aperture.bus_base;
|
||||
pa = agp->ops->translate(agp, dma_addr);
|
||||
|
||||
if (pa == (unsigned long)-EINVAL)
|
||||
|
@@ -227,7 +227,7 @@ mspec_fault(struct vm_area_struct *vma, struct vm_fault *vmf)
|
||||
* be because another thread has installed the pte first, so it
|
||||
* is no problem.
|
||||
*/
|
||||
vm_insert_pfn(vma, (unsigned long)vmf->virtual_address, pfn);
|
||||
vm_insert_pfn(vma, vmf->address, pfn);
|
||||
|
||||
return VM_FAULT_NOPAGE;
|
||||
}
|
||||
|
新增問題並參考
封鎖使用者