mm: numa: clear numa hinting information on mprotect
On a protection change it is no longer clear if the page should be still accessible. This patch clears the NUMA hinting fault bits on a protection change. Signed-off-by: Mel Gorman <mgorman@suse.de> Reviewed-by: Rik van Riel <riel@redhat.com> Cc: Alex Thorlton <athorlton@sgi.com> Cc: <stable@vger.kernel.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
		
					parent
					
						
							
								3c67f47455
							
						
					
				
			
			
				commit
				
					
						1667918b64
					
				
			
		
					 2 changed files with 4 additions and 0 deletions
				
			
		| 
						 | 
				
			
			@ -1532,6 +1532,8 @@ int change_huge_pmd(struct vm_area_struct *vma, pmd_t *pmd,
 | 
			
		|||
		ret = 1;
 | 
			
		||||
		if (!prot_numa) {
 | 
			
		||||
			entry = pmdp_get_and_clear(mm, addr, pmd);
 | 
			
		||||
			if (pmd_numa(entry))
 | 
			
		||||
				entry = pmd_mknonnuma(entry);
 | 
			
		||||
			entry = pmd_modify(entry, newprot);
 | 
			
		||||
			ret = HPAGE_PMD_NR;
 | 
			
		||||
			BUG_ON(pmd_write(entry));
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -54,6 +54,8 @@ static unsigned long change_pte_range(struct vm_area_struct *vma, pmd_t *pmd,
 | 
			
		|||
 | 
			
		||||
			if (!prot_numa) {
 | 
			
		||||
				ptent = ptep_modify_prot_start(mm, addr, pte);
 | 
			
		||||
				if (pte_numa(ptent))
 | 
			
		||||
					ptent = pte_mknonnuma(ptent);
 | 
			
		||||
				ptent = pte_modify(ptent, newprot);
 | 
			
		||||
				updated = true;
 | 
			
		||||
			} else {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue