mirror of
				git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
				synced 2025-10-31 08:44:41 +00:00 
			
		
		
		
	mm/memory: remove page fault assumption of compound page size
A compound page in the page cache will not necessarily be of PMD size, so check explicitly. [willy@infradead.org: fix remove page fault assumption of compound page size] Link: https://lkml.kernel.org/r/20201001152259.14932-1-willy@infradead.org Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Cc: Huang Ying <ying.huang@intel.com> Cc: Kirill A. Shutemov <kirill.shutemov@linux.intel.com> Link: https://lkml.kernel.org/r/20200908195539.25896-3-willy@infradead.org Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
		
							parent
							
								
									887b22c628
								
							
						
					
					
						commit
						d01ac3c352
					
				
					 1 changed files with 4 additions and 3 deletions
				
			
		|  | @ -3709,13 +3709,14 @@ static vm_fault_t do_set_pmd(struct vm_fault *vmf, struct page *page) | |||
| 	unsigned long haddr = vmf->address & HPAGE_PMD_MASK; | ||||
| 	pmd_t entry; | ||||
| 	int i; | ||||
| 	vm_fault_t ret; | ||||
| 	vm_fault_t ret = VM_FAULT_FALLBACK; | ||||
| 
 | ||||
| 	if (!transhuge_vma_suitable(vma, haddr)) | ||||
| 		return VM_FAULT_FALLBACK; | ||||
| 		return ret; | ||||
| 
 | ||||
| 	ret = VM_FAULT_FALLBACK; | ||||
| 	page = compound_head(page); | ||||
| 	if (compound_order(page) != HPAGE_PMD_ORDER) | ||||
| 		return ret; | ||||
| 
 | ||||
| 	/*
 | ||||
| 	 * Archs like ppc64 need additonal space to store information | ||||
|  |  | |||
		Loading…
	
	Add table
		
		Reference in a new issue
	
	 Matthew Wilcox (Oracle)
						Matthew Wilcox (Oracle)