On Sat, Feb 02, 2019 at 12:14:13AM +0800, kbuild test robot wrote: > tree: https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git master > head: 9fe36dd579c794ae5f1c236293c55fb6847e9654 > commit: a3402cb621c1b3908600d3f364e991a6c5a8c06e [5141/5361] mm/hmm: improve driver API to work and wait over a range > config: x86_64-randconfig-b0-02012138 (attached as .config) > compiler: gcc-8 (Debian 8.2.0-14) 8.2.0 > reproduce: > git checkout a3402cb621c1b3908600d3f364e991a6c5a8c06e > # save the attached .config to linux build tree > make ARCH=x86_64 > > All errors (new ones prefixed by >>): > > In file included from kernel/memremap.c:14: > >> include/linux/hmm.h:102:22: error: field 'mmu_notifier' has incomplete type > struct mmu_notifier mmu_notifier; > ^~~~~~~~~~~~ > > vim +/mmu_notifier +102 include/linux/hmm.h > > 81 > 82 > 83 /* > 84 * struct hmm - HMM per mm struct > 85 * > 86 * @mm: mm struct this HMM struct is bound to > 87 * @lock: lock protecting ranges list > 88 * @ranges: list of range being snapshotted > 89 * @mirrors: list of mirrors for this mm > 90 * @mmu_notifier: mmu notifier to track updates to CPU page table > 91 * @mirrors_sem: read/write semaphore protecting the mirrors list > 92 * @wq: wait queue for user waiting on a range invalidation > 93 * @notifiers: count of active mmu notifiers > 94 * @dead: is the mm dead ? > 95 */ > 96 struct hmm { > 97 struct mm_struct *mm; > 98 struct kref kref; > 99 struct mutex lock; > 100 struct list_head ranges; > 101 struct list_head mirrors; > > 102 struct mmu_notifier mmu_notifier; Only HMM_MIRROR depends on MMU_NOTIFIER, but mmu_notifier in the hmm struct is not conditionally dependent HMM_MIRROR. The shared config has HMM_MIRROR disabled Balbir