Message ID | 20210115192947.6499-1-julien@xen.org (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | xen/arm: livepatch: Include xen/mm.h rather than asm/mm.h | expand |
On Fri, Jan 15, 2021 at 07:29:47PM +0000, Julien Grall wrote: > From: Julien Grall <jgrall@amazon.com> > > Livepatch fails to build on Arm after commit ced9795c6cb4 "mm: split > out mfn_t / gfn_t / pfn_t definitions and helpers": > > In file included from livepatch.c:13:0: > /oss/xen/xen/include/asm/mm.h:32:28: error: field ‘list’ has incomplete type > struct page_list_entry list; > ^~~~ > /oss/xen/xen/include/asm/mm.h:53:43: error: ‘MAX_ORDER’ undeclared here (not in a function); did you mean ‘PFN_ORDER’? > unsigned long first_dirty:MAX_ORDER + 1; > ^~~~~~~~~ > PFN_ORDER > /oss/xen/xen/include/asm/mm.h:53:31: error: bit-field ‘first_dirty’ width not an integer constant > unsigned long first_dirty:MAX_ORDER + 1; > ^~~~~~~~~~~ > > This is happening because asm/mm.h is included directly by livepatch.c. > Yet it depends on xen/mm.h to be included first so MAX_ORDER is defined. > > Resolve the build failure by including xen/mm.h rather than asm/mm.h. > > Fixes: ced9795c6cb4 ("mm: split out mfn_t / gfn_t / pfn_t definitions and helpers") Reviewed-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com> Thank you! > Signed-off-by: Julien Grall <jgrall@amazon.com> > --- > xen/arch/arm/livepatch.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/xen/arch/arm/livepatch.c b/xen/arch/arm/livepatch.c > index 915e9d926a11..75e8adcfd6a1 100644 > --- a/xen/arch/arm/livepatch.c > +++ b/xen/arch/arm/livepatch.c > @@ -6,11 +6,11 @@ > #include <xen/lib.h> > #include <xen/livepatch_elf.h> > #include <xen/livepatch.h> > +#include <xen/mm.h> > #include <xen/vmap.h> > > #include <asm/cpufeature.h> > #include <asm/livepatch.h> > -#include <asm/mm.h> > > /* Override macros from asm/page.h to make them work with mfn_t */ > #undef virt_to_mfn > -- > 2.17.1 >
On Fri, 15 Jan 2021, Konrad Rzeszutek Wilk wrote: > On Fri, Jan 15, 2021 at 07:29:47PM +0000, Julien Grall wrote: > > From: Julien Grall <jgrall@amazon.com> > > > > Livepatch fails to build on Arm after commit ced9795c6cb4 "mm: split > > out mfn_t / gfn_t / pfn_t definitions and helpers": > > > > In file included from livepatch.c:13:0: > > /oss/xen/xen/include/asm/mm.h:32:28: error: field ‘list’ has incomplete type > > struct page_list_entry list; > > ^~~~ > > /oss/xen/xen/include/asm/mm.h:53:43: error: ‘MAX_ORDER’ undeclared here (not in a function); did you mean ‘PFN_ORDER’? > > unsigned long first_dirty:MAX_ORDER + 1; > > ^~~~~~~~~ > > PFN_ORDER > > /oss/xen/xen/include/asm/mm.h:53:31: error: bit-field ‘first_dirty’ width not an integer constant > > unsigned long first_dirty:MAX_ORDER + 1; > > ^~~~~~~~~~~ > > > > This is happening because asm/mm.h is included directly by livepatch.c. > > Yet it depends on xen/mm.h to be included first so MAX_ORDER is defined. > > > > Resolve the build failure by including xen/mm.h rather than asm/mm.h. > > > > Fixes: ced9795c6cb4 ("mm: split out mfn_t / gfn_t / pfn_t definitions and helpers") > Reviewed-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com> Acked-by: Stefano Stabellini <sstabellini@kernel.org> > Thank you! > > Signed-off-by: Julien Grall <jgrall@amazon.com> > > --- > > xen/arch/arm/livepatch.c | 2 +- > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > diff --git a/xen/arch/arm/livepatch.c b/xen/arch/arm/livepatch.c > > index 915e9d926a11..75e8adcfd6a1 100644 > > --- a/xen/arch/arm/livepatch.c > > +++ b/xen/arch/arm/livepatch.c > > @@ -6,11 +6,11 @@ > > #include <xen/lib.h> > > #include <xen/livepatch_elf.h> > > #include <xen/livepatch.h> > > +#include <xen/mm.h> > > #include <xen/vmap.h> > > > > #include <asm/cpufeature.h> > > #include <asm/livepatch.h> > > -#include <asm/mm.h> > > > > /* Override macros from asm/page.h to make them work with mfn_t */ > > #undef virt_to_mfn > > -- > > 2.17.1 > > >
On 15.01.2021 20:29, Julien Grall wrote: > From: Julien Grall <jgrall@amazon.com> > > Livepatch fails to build on Arm after commit ced9795c6cb4 "mm: split > out mfn_t / gfn_t / pfn_t definitions and helpers": > > In file included from livepatch.c:13:0: > /oss/xen/xen/include/asm/mm.h:32:28: error: field ‘list’ has incomplete type > struct page_list_entry list; > ^~~~ > /oss/xen/xen/include/asm/mm.h:53:43: error: ‘MAX_ORDER’ undeclared here (not in a function); did you mean ‘PFN_ORDER’? > unsigned long first_dirty:MAX_ORDER + 1; > ^~~~~~~~~ > PFN_ORDER > /oss/xen/xen/include/asm/mm.h:53:31: error: bit-field ‘first_dirty’ width not an integer constant > unsigned long first_dirty:MAX_ORDER + 1; > ^~~~~~~~~~~ > > This is happening because asm/mm.h is included directly by livepatch.c. > Yet it depends on xen/mm.h to be included first so MAX_ORDER is defined. > > Resolve the build failure by including xen/mm.h rather than asm/mm.h. > > Fixes: ced9795c6cb4 ("mm: split out mfn_t / gfn_t / pfn_t definitions and helpers") > Signed-off-by: Julien Grall <jgrall@amazon.com> Thanks for the quick fix, and I'm sorry for the breakage. I'll try to make sure I'll also check building with livepatch enabled down the road. Jan
diff --git a/xen/arch/arm/livepatch.c b/xen/arch/arm/livepatch.c index 915e9d926a11..75e8adcfd6a1 100644 --- a/xen/arch/arm/livepatch.c +++ b/xen/arch/arm/livepatch.c @@ -6,11 +6,11 @@ #include <xen/lib.h> #include <xen/livepatch_elf.h> #include <xen/livepatch.h> +#include <xen/mm.h> #include <xen/vmap.h> #include <asm/cpufeature.h> #include <asm/livepatch.h> -#include <asm/mm.h> /* Override macros from asm/page.h to make them work with mfn_t */ #undef virt_to_mfn