summaryrefslogtreecommitdiff
path: root/include/linux
diff options
context:
space:
mode:
Diffstat (limited to 'include/linux')
-rw-r--r--include/linux/mm.h9
1 files changed, 5 insertions, 4 deletions
diff --git a/include/linux/mm.h b/include/linux/mm.h
index 4d7de397481f..c4395b9fe950 100644
--- a/include/linux/mm.h
+++ b/include/linux/mm.h
@@ -199,11 +199,12 @@ struct page {
#define page_count(p) atomic_read(&(p)->count)
#define set_page_count(p,v) atomic_set(&(p)->count, v)
extern void FASTCALL(__page_cache_release(struct page *));
-#define put_page(p) \
- do { \
- if (put_page_testzero(p)) \
- __page_cache_release(p); \
+#define put_page(p) \
+ do { \
+ if (!PageReserved(p) && put_page_testzero(p)) \
+ __page_cache_release(p); \
} while (0)
+void FASTCALL(__free_pages_ok(struct page *page, unsigned int order));
/*
* Multiple processes may "see" the same page. E.g. for untouched