On Mon, 12 Apr 2021, Axel Rasmussen wrote: > Minimizing header file inclusion is desirable. In this case, we can do > so just by forward declaring the enumeration our signature relies upon. > > Reviewed-by: Peter Xu <peterx@xxxxxxxxxx> > Signed-off-by: Axel Rasmussen <axelrasmussen@xxxxxxxxxx> > --- > include/linux/hugetlb.h | 4 +++- > mm/hugetlb.c | 1 + > 2 files changed, 4 insertions(+), 1 deletion(-) > > diff --git a/include/linux/hugetlb.h b/include/linux/hugetlb.h > index 09f1fd12a6fa..3f47650ab79b 100644 > --- a/include/linux/hugetlb.h > +++ b/include/linux/hugetlb.h > @@ -11,7 +11,6 @@ > #include <linux/kref.h> > #include <linux/pgtable.h> > #include <linux/gfp.h> > -#include <linux/userfaultfd_k.h> > > struct ctl_table; > struct user_struct; > @@ -135,6 +134,8 @@ void hugetlb_show_meminfo(void); > unsigned long hugetlb_total_pages(void); > vm_fault_t hugetlb_fault(struct mm_struct *mm, struct vm_area_struct *vma, > unsigned long address, unsigned int flags); > + > +enum mcopy_atomic_mode; Wrongly placed: the CONFIG_USERFAULTFD=y CONFIG_HUGETLB_PAGE=n build fails. Better place it up above with struct ctl_table etc. > #ifdef CONFIG_USERFAULTFD > int hugetlb_mcopy_atomic_pte(struct mm_struct *dst_mm, pte_t *dst_pte, > struct vm_area_struct *dst_vma, > @@ -143,6 +144,7 @@ int hugetlb_mcopy_atomic_pte(struct mm_struct *dst_mm, pte_t *dst_pte, > enum mcopy_atomic_mode mode, > struct page **pagep); > #endif /* CONFIG_USERFAULTFD */ > + > bool hugetlb_reserve_pages(struct inode *inode, long from, long to, > struct vm_area_struct *vma, > vm_flags_t vm_flags); > diff --git a/mm/hugetlb.c b/mm/hugetlb.c > index 54d81d5947ed..b1652e747318 100644 > --- a/mm/hugetlb.c > +++ b/mm/hugetlb.c > @@ -40,6 +40,7 @@ > #include <linux/hugetlb_cgroup.h> > #include <linux/node.h> > #include <linux/page_owner.h> > +#include <linux/userfaultfd_k.h> > #include "internal.h" > > int hugetlb_max_hstate __read_mostly; > -- > 2.31.1.295.g9ea45b61b8-goog > >