mirror of
				https://github.com/torvalds/linux.git
				synced 2025-10-31 16:48:26 +02:00 
			
		
		
		
	mm: migrate: hugetlb: putback destination hugepage to active list
Since commitbcc5422230("mm: hugetlb: introduce page_huge_active") each hugetlb page maintains its active flag to avoid a race condition betwe= en multiple calls of isolate_huge_page(), but current kernel doesn't set the f= lag on a hugepage allocated by migration because the proper putback routine isn= 't called. This means that users could still encounter the race referred to bybcc5422230in this special case, so this patch fixes it. Fixes:bcc5422230("mm: hugetlb: introduce page_huge_active") Signed-off-by: Naoya Horiguchi <n-horiguchi@ah.jp.nec.com> Cc: Michal Hocko <mhocko@suse.cz> Cc: Andi Kleen <andi@firstfloor.org> Cc: Hugh Dickins <hughd@google.com> Cc: <stable@vger.kernel.org> [4.1.x] Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
		
							parent
							
								
									8a04446ab0
								
							
						
					
					
						commit
						3aaa76e125
					
				
					 1 changed files with 1 additions and 1 deletions
				
			
		|  | @ -1075,7 +1075,7 @@ static int unmap_and_move_huge_page(new_page_t get_new_page, | ||||||
| 	if (rc != MIGRATEPAGE_SUCCESS && put_new_page) | 	if (rc != MIGRATEPAGE_SUCCESS && put_new_page) | ||||||
| 		put_new_page(new_hpage, private); | 		put_new_page(new_hpage, private); | ||||||
| 	else | 	else | ||||||
| 		put_page(new_hpage); | 		putback_active_hugepage(new_hpage); | ||||||
| 
 | 
 | ||||||
| 	if (result) { | 	if (result) { | ||||||
| 		if (rc) | 		if (rc) | ||||||
|  |  | ||||||
		Loading…
	
		Reference in a new issue
	
	 Naoya Horiguchi
						Naoya Horiguchi