| From: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| Subject: mm: remove PageMovable export |
| Date: Fri, 6 Jan 2023 14:59:00 +0100 |
| |
| The only in-kernel users that need PageMovable() to be exported are z3fold |
| and zsmalloc and they are only using it for dubious debugging |
| functionality. So remove those usages and the export so that no driver |
| code accidentally thinks that they are allowed to use this symbol. |
| |
| Link: https://lkml.kernel.org/r/20230106135900.3763622-1-gregkh@linuxfoundation.org |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| Reviewed-by: Sergey Senozhatsky <senozhatsky@chromium.org> |
| Reviewed-by: Miaohe Lin <linmiaohe@huawei.com> |
| Reviewed-by: David Hildenbrand <david@redhat.com> |
| Reviewed-by: Christoph Hellwig <hch@lst.de> |
| Acked-by: Minchan Kim <minchan@kernel.org> |
| Cc: Vitaly Wool <vitaly.wool@konsulko.com> |
| Signed-off-by: Andrew Morton <akpm@linux-foundation.org> |
| --- |
| |
| mm/compaction.c | 1 - |
| mm/z3fold.c | 2 -- |
| mm/zsmalloc.c | 3 --- |
| 3 files changed, 6 deletions(-) |
| |
| --- a/mm/compaction.c~mm-remove-pagemovable-export |
| +++ a/mm/compaction.c |
| @@ -122,7 +122,6 @@ bool PageMovable(struct page *page) |
| |
| return false; |
| } |
| -EXPORT_SYMBOL(PageMovable); |
| |
| void __SetPageMovable(struct page *page, const struct movable_operations *mops) |
| { |
| --- a/mm/z3fold.c~mm-remove-pagemovable-export |
| +++ a/mm/z3fold.c |
| @@ -1450,7 +1450,6 @@ static bool z3fold_page_isolate(struct p |
| struct z3fold_header *zhdr; |
| struct z3fold_pool *pool; |
| |
| - VM_BUG_ON_PAGE(!PageMovable(page), page); |
| VM_BUG_ON_PAGE(PageIsolated(page), page); |
| |
| if (test_bit(PAGE_HEADLESS, &page->private)) |
| @@ -1490,7 +1489,6 @@ static int z3fold_page_migrate(struct pa |
| struct z3fold_header *zhdr, *new_zhdr; |
| struct z3fold_pool *pool; |
| |
| - VM_BUG_ON_PAGE(!PageMovable(page), page); |
| VM_BUG_ON_PAGE(!PageIsolated(page), page); |
| VM_BUG_ON_PAGE(!test_bit(PAGE_CLAIMED, &page->private), page); |
| VM_BUG_ON_PAGE(!PageLocked(newpage), newpage); |
| --- a/mm/zsmalloc.c~mm-remove-pagemovable-export |
| +++ a/mm/zsmalloc.c |
| @@ -1973,7 +1973,6 @@ static bool zs_page_isolate(struct page |
| * Page is locked so zspage couldn't be destroyed. For detail, look at |
| * lock_zspage in free_zspage. |
| */ |
| - VM_BUG_ON_PAGE(!PageMovable(page), page); |
| VM_BUG_ON_PAGE(PageIsolated(page), page); |
| |
| zspage = get_zspage(page); |
| @@ -2005,7 +2004,6 @@ static int zs_page_migrate(struct page * |
| if (mode == MIGRATE_SYNC_NO_COPY) |
| return -EINVAL; |
| |
| - VM_BUG_ON_PAGE(!PageMovable(page), page); |
| VM_BUG_ON_PAGE(!PageIsolated(page), page); |
| |
| /* The page is locked, so this pointer must remain valid */ |
| @@ -2070,7 +2068,6 @@ static void zs_page_putback(struct page |
| { |
| struct zspage *zspage; |
| |
| - VM_BUG_ON_PAGE(!PageMovable(page), page); |
| VM_BUG_ON_PAGE(!PageIsolated(page), page); |
| |
| zspage = get_zspage(page); |
| _ |