diff --git a/include/linux/page_owner.h b/include/linux/page_owner.h index 3468794f83d2..302031e9b212 100644 --- a/include/linux/page_owner.h +++ b/include/linux/page_owner.h @@ -8,6 +8,7 @@ extern struct static_key_false page_owner_inited; extern struct page_ext_operations page_owner_ops; +extern struct page_owner *get_page_owner(struct page_ext *page_ext); extern void __reset_page_owner(struct page *page, unsigned int order); extern void __set_page_owner(struct page *page, unsigned int order, gfp_t gfp_mask); diff --git a/mm/page_owner.c b/mm/page_owner.c index b735a8eafcdb..49a77e018871 100644 --- a/mm/page_owner.c +++ b/mm/page_owner.c @@ -95,10 +95,11 @@ struct page_ext_operations page_owner_ops = { .init = init_page_owner, }; -static inline struct page_owner *get_page_owner(struct page_ext *page_ext) +struct page_owner *get_page_owner(struct page_ext *page_ext) { return (void *)page_ext + page_owner_ops.offset; } +EXPORT_SYMBOL_GPL(get_page_owner); static inline bool check_recursive_alloc(unsigned long *entries, unsigned int nr_entries,