Re: [PATCH v3 8/8] mm: Fix exports that inadvertently make put_page() EXPORT_SYMBOL_GPL
From: John Hubbard
Date: Tue Jun 19 2018 - 02:59:36 EST
On 06/18/2018 11:05 PM, Dan Williams wrote:
> 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 <jhgorse@xxxxxxxxx>
> Reported-by: John Hubbard <jhubbard@xxxxxxxxxx>
> Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx>
> ---
> 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 */
>
Yep, that fixes everything I was seeing.
thanks,
--
John Hubbard
NVIDIA