diff options
-rw-r--r-- | mm/internal.h | 19 | ||||
-rw-r--r-- | mm/page_alloc.c | 17 |
2 files changed, 17 insertions, 19 deletions
diff --git a/mm/internal.h b/mm/internal.h index 6bf134e8fb3d..85004f540e34 100644 --- a/mm/internal.h +++ b/mm/internal.h | |||
@@ -9,5 +9,20 @@ | |||
9 | * 2 of the License, or (at your option) any later version. | 9 | * 2 of the License, or (at your option) any later version. |
10 | */ | 10 | */ |
11 | 11 | ||
12 | /* page_alloc.c */ | 12 | static inline void set_page_refs(struct page *page, int order) |
13 | extern void set_page_refs(struct page *page, int order); | 13 | { |
14 | #ifdef CONFIG_MMU | ||
15 | set_page_count(page, 1); | ||
16 | #else | ||
17 | int i; | ||
18 | |||
19 | /* | ||
20 | * We need to reference all the pages for this order, otherwise if | ||
21 | * anyone accesses one of the pages with (get/put) it will be freed. | ||
22 | * - eg: access_process_vm() | ||
23 | */ | ||
24 | for (i = 0; i < (1 << order); i++) | ||
25 | set_page_count(page + i, 1); | ||
26 | #endif /* CONFIG_MMU */ | ||
27 | } | ||
28 | |||
diff --git a/mm/page_alloc.c b/mm/page_alloc.c index 680cbe5b6ba2..6d513faf050b 100644 --- a/mm/page_alloc.c +++ b/mm/page_alloc.c | |||
@@ -453,23 +453,6 @@ expand(struct zone *zone, struct page *page, | |||
453 | return page; | 453 | return page; |
454 | } | 454 | } |
455 | 455 | ||
456 | void set_page_refs(struct page *page, int order) | ||
457 | { | ||
458 | #ifdef CONFIG_MMU | ||
459 | set_page_count(page, 1); | ||
460 | #else | ||
461 | int i; | ||
462 | |||
463 | /* | ||
464 | * We need to reference all the pages for this order, otherwise if | ||
465 | * anyone accesses one of the pages with (get/put) it will be freed. | ||
466 | * - eg: access_process_vm() | ||
467 | */ | ||
468 | for (i = 0; i < (1 << order); i++) | ||
469 | set_page_count(page + i, 1); | ||
470 | #endif /* CONFIG_MMU */ | ||
471 | } | ||
472 | |||
473 | /* | 456 | /* |
474 | * This page is about to be returned from the page allocator | 457 | * This page is about to be returned from the page allocator |
475 | */ | 458 | */ |