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 cd10a520f2a8..d3f283c72214 100644 --- a/mm/memory-failure.c +++ b/mm/memory-failure.c @@ -1302,6 +1302,12 @@ static int memory_failure_dev_pagemap(unsigned long pfn, int flags, loff_t start; dax_entry_t cookie; + if (flags & MF_COUNT_INCREASED) + /* + * Drop the extra refcount in case we come from madvise(). + */ + put_page(page); + /* * Prevent the inode from being freed while we are interrogating * the address_space, typically this would be handled by |