Now that all producers of dev_pagemap instances in the kernel are properly converted to EXPORT_SYMBOL_GPL, fix up implicit consumers that interact with dev_pagemap owners via put_page(). To reiterate, dev_pagemap producers are EXPORT_SYMBOL_GPL because they adopt and modify core memory management interfaces such that the dev_pagemap owner can interact with all other kernel infrastructure and sub-systems (drivers, filesystems, etc...) that consume page structures.
Fixes: e76384884344 ("mm: introduce MEMORY_DEVICE_FS_DAX and CONFIG_DEV_PAGEMAP_OPS") Reported-by: Joe Gorse <jhgo...@gmail.com> Reported-by: John Hubbard <jhubb...@nvidia.com> Tested-by: Joe Gorse <jhgo...@gmail.com> Tested-by: John Hubbard <jhubb...@nvidia.com> Signed-off-by: Dan Williams <dan.j.willi...@intel.com> --- kernel/memremap.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/kernel/memremap.c b/kernel/memremap.c index 16141b608b63..ecee37b44aa1 100644 --- a/kernel/memremap.c +++ b/kernel/memremap.c @@ -330,7 +330,7 @@ EXPORT_SYMBOL_GPL(get_dev_pagemap); #ifdef CONFIG_DEV_PAGEMAP_OPS DEFINE_STATIC_KEY_FALSE(devmap_managed_key); -EXPORT_SYMBOL_GPL(devmap_managed_key); +EXPORT_SYMBOL(devmap_managed_key); static atomic_t devmap_enable; /* @@ -371,5 +371,5 @@ void __put_devmap_managed_page(struct page *page) } else if (!count) __put_page(page); } -EXPORT_SYMBOL_GPL(__put_devmap_managed_page); +EXPORT_SYMBOL(__put_devmap_managed_page); #endif /* CONFIG_DEV_PAGEMAP_OPS */