diff options
-rw-r--r-- | mm/swap_state.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/mm/swap_state.c b/mm/swap_state.c index 0d457e7db8d6..c99463ac02fb 100644 --- a/mm/swap_state.c +++ b/mm/swap_state.c | |||
@@ -252,7 +252,10 @@ static inline void free_swap_cache(struct page *page) | |||
252 | void free_page_and_swap_cache(struct page *page) | 252 | void free_page_and_swap_cache(struct page *page) |
253 | { | 253 | { |
254 | free_swap_cache(page); | 254 | free_swap_cache(page); |
255 | put_page(page); | 255 | if (is_huge_zero_page(page)) |
256 | put_huge_zero_page(); | ||
257 | else | ||
258 | put_page(page); | ||
256 | } | 259 | } |
257 | 260 | ||
258 | /* | 261 | /* |