hugetlb.c (e0ec90ee7e6f6cbaa6d59ffb48d2a7af5e80e61d) | hugetlb.c (de60f5f10c58d4f34b68622442c0e04180367f3f) |
---|---|
1/* 2 * Generic hugetlb support. 3 * (C) Nadia Yvette Chambers, April 2004 4 */ 5#include <linux/list.h> 6#include <linux/init.h> 7#include <linux/module.h> 8#include <linux/mm.h> --- 4123 unchanged lines hidden (view full) --- 4132 unsigned long addr, pgoff_t idx) 4133{ 4134 unsigned long saddr = ((idx - svma->vm_pgoff) << PAGE_SHIFT) + 4135 svma->vm_start; 4136 unsigned long sbase = saddr & PUD_MASK; 4137 unsigned long s_end = sbase + PUD_SIZE; 4138 4139 /* Allow segments to share if only one is marked locked */ | 1/* 2 * Generic hugetlb support. 3 * (C) Nadia Yvette Chambers, April 2004 4 */ 5#include <linux/list.h> 6#include <linux/init.h> 7#include <linux/module.h> 8#include <linux/mm.h> --- 4123 unchanged lines hidden (view full) --- 4132 unsigned long addr, pgoff_t idx) 4133{ 4134 unsigned long saddr = ((idx - svma->vm_pgoff) << PAGE_SHIFT) + 4135 svma->vm_start; 4136 unsigned long sbase = saddr & PUD_MASK; 4137 unsigned long s_end = sbase + PUD_SIZE; 4138 4139 /* Allow segments to share if only one is marked locked */ |
4140 unsigned long vm_flags = vma->vm_flags & ~VM_LOCKED; 4141 unsigned long svm_flags = svma->vm_flags & ~VM_LOCKED; | 4140 unsigned long vm_flags = vma->vm_flags & VM_LOCKED_CLEAR_MASK; 4141 unsigned long svm_flags = svma->vm_flags & VM_LOCKED_CLEAR_MASK; |
4142 4143 /* 4144 * match the virtual addresses, permission and the alignment of the 4145 * page table page. 4146 */ 4147 if (pmd_index(addr) != pmd_index(saddr) || 4148 vm_flags != svm_flags || 4149 sbase < svma->vm_start || svma->vm_end < s_end) --- 282 unchanged lines hidden --- | 4142 4143 /* 4144 * match the virtual addresses, permission and the alignment of the 4145 * page table page. 4146 */ 4147 if (pmd_index(addr) != pmd_index(saddr) || 4148 vm_flags != svm_flags || 4149 sbase < svma->vm_start || svma->vm_end < s_end) --- 282 unchanged lines hidden --- |