diff options
Diffstat (limited to 'mm/memory-failure.c')
| -rw-r--r-- | mm/memory-failure.c | 6 | 
1 files changed, 6 insertions, 0 deletions
| diff --git a/mm/memory-failure.c b/mm/memory-failure.c index 14ae5c18e776..97a9ed8f87a9 100644 --- a/mm/memory-failure.c +++ b/mm/memory-failure.c @@ -1596,6 +1596,12 @@ static int memory_failure_dev_pagemap(unsigned long pfn, int flags,  	}  	/* +	 * Pages instantiated by device-dax (not filesystem-dax) +	 * may be compound pages. +	 */ +	page = compound_head(page); + +	/*  	 * Prevent the inode from being freed while we are interrogating  	 * the address_space, typically this would be handled by  	 * lock_page(), but dax pages do not use the page lock. This |