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>
---
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, 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
© 2016 - 2024 Red Hat, Inc.