Message ID | 152938832086.17797.4538943238207602944.stgit@dwillia2-desk3.amr.corp.intel.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
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@gmail.com> > Reported-by: John Hubbard <jhubbard@nvidia.com> > Signed-off-by: Dan Williams <dan.j.williams@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 */ > Yep, that fixes everything I was seeing. thanks,
Thank you! OpenAFS is good now as well. In terms of schedule, when do you think this will make it upsteam? Will we make the 4.18 kernel release? Cheers, Joe Gorse On Tue, Jun 19, 2018 at 2:59 AM, John Hubbard <jhubbard@nvidia.com> wrote: > 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@gmail.com> > > Reported-by: John Hubbard <jhubbard@nvidia.com> > > Signed-off-by: Dan Williams <dan.j.williams@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 */ > > > > Yep, that fixes everything I was seeing. > > thanks, > -- > John Hubbard > NVIDIA >
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 */
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@gmail.com> Reported-by: John Hubbard <jhubbard@nvidia.com> Signed-off-by: Dan Williams <dan.j.williams@intel.com> --- kernel/memremap.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)