Later on, the paravirt_ops patch will deference the vm_area_struct in asm/pgtable.h. It means this define must be after the struct definition Signed-off-by: Glauber de Oliveira Costa <gcosta@xxxxxxxxxx> Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> --- include/linux/mm.h | 14 +++++++++----- 1 files changed, 9 insertions(+), 5 deletions(-) diff --git a/include/linux/mm.h b/include/linux/mm.h index 655094d..c3f8561 100644 --- a/include/linux/mm.h +++ b/include/linux/mm.h @@ -35,11 +35,6 @@ extern int sysctl_legacy_va_layout; #define sysctl_legacy_va_layout 0 #endif -#include <asm/page.h> -#include <asm/pgtable.h> -#include <asm/processor.h> - -#define nth_page(page,n) pfn_to_page(page_to_pfn((page)) + (n)) /* * Linux kernel virtual memory manager primitives. @@ -113,6 +108,15 @@ struct vm_area_struct { #endif }; +#include <asm/page.h> +/* + * pgtable.h must be included after the definition of vm_area_struct. + * x86_64 pgtable.h is one of the dereferencers of this struct + */ +#include <asm/pgtable.h> +#include <asm/processor.h> + +#define nth_page(page,n) pfn_to_page(page_to_pfn((page)) + (n)) extern struct kmem_cache *vm_area_cachep; /* -- 1.4.4.2 _______________________________________________ Virtualization mailing list Virtualization@xxxxxxxxxxxxxxxxxxxxxxxxxx https://lists.linux-foundation.org/mailman/listinfo/virtualization