mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-29 11:11:45 -04:00
[PATCH] unpaged: VM_NONLINEAR VM_RESERVED
There's one peculiar use of VM_RESERVED which the previous patch left behind: because VM_NONLINEAR's try_to_unmap_cluster uses vm_private_data as a swapout cursor, but should never meet VM_RESERVED vmas, it was a way of extending VM_NONLINEAR to VM_RESERVED vmas using vm_private_data for some other purpose. But that's an empty set - they don't have the populate function required. So just throw away those VM_RESERVED tests. But one more interesting in rmap.c has to go too: try_to_unmap_one will want to swap out an anonymous page from VM_RESERVED or VM_UNPAGED area. Signed-off-by: Hugh Dickins <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
This commit is contained in:
parent
0b14c179a4
commit
101d2be764
2 changed files with 7 additions and 14 deletions
|
|
@ -204,12 +204,10 @@ asmlinkage long sys_remap_file_pages(unsigned long start, unsigned long size,
|
|||
* Make sure the vma is shared, that it supports prefaulting,
|
||||
* and that the remapped range is valid and fully within
|
||||
* the single existing vma. vm_private_data is used as a
|
||||
* swapout cursor in a VM_NONLINEAR vma (unless VM_RESERVED
|
||||
* or VM_LOCKED, but VM_LOCKED could be revoked later on).
|
||||
* swapout cursor in a VM_NONLINEAR vma.
|
||||
*/
|
||||
if (vma && (vma->vm_flags & VM_SHARED) &&
|
||||
(!vma->vm_private_data ||
|
||||
(vma->vm_flags & (VM_NONLINEAR|VM_RESERVED))) &&
|
||||
(!vma->vm_private_data || (vma->vm_flags & VM_NONLINEAR)) &&
|
||||
vma->vm_ops && vma->vm_ops->populate &&
|
||||
end > start && start >= vma->vm_start &&
|
||||
end <= vma->vm_end) {
|
||||
|
|
|
|||
Loading…
Reference in a new issue