Message ID | 20191031193808.15401-1-andrew.cooper3@citrix.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | x86/pv: Fix !CONFIG_PV build following XSA-296 | expand |
On Thu, Oct 31, 2019 at 07:38:08PM +0000, Andrew Cooper wrote: > PTF_* are declared within CONFIG_PV, and used outside: > > mm.c: In function ‘_put_page_type’: > mm.c:2819:32: error: ‘PTF_preemptible’ undeclared (first use in this function) > bool preemptible = flags & PTF_preemptible; > ^~~~~~~~~~~~~~~ > mm.c:2819:32: note: each undeclared identifier is reported only once for each > function it appears in > mm.c:2842:24: error: ‘PTF_partial_set’ undeclared (first use in this function) > if ( !(flags & PTF_partial_set) ) > ^~~~~~~~~~~~~~~ > mm.c: In function ‘put_page_type_preemptible’: > mm.c:3090:33: error: ‘PTF_preemptible’ undeclared (first use in this function) > return _put_page_type(page, PTF_preemptible, NULL); > ^~~~~~~~~~~~~~~ > mm.c: In function ‘put_old_guest_table’: > mm.c:3108:25: error: ‘PTF_preemptible’ undeclared (first use in this function) > PTF_preemptible | > ^~~~~~~~~~~~~~~ > mm.c:3110:27: error: ‘PTF_partial_set’ undeclared (first use in this function) > PTF_partial_set : 0 ), > ^~~~~~~~~~~~~~~ > mm.c: In function ‘put_page_type_preemptible’: > mm.c:3091:1: error: control reaches end of non-void function > [-Werror=return-type] > } > ^ > cc1: all warnings being treated as errors > > Reposition the definitions to be outside of the #ifdef CONFIG_PV > > Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com> Reviewed-by: Wei Liu <wl@xen.org>
On 31.10.19 20:38, Andrew Cooper wrote: > PTF_* are declared within CONFIG_PV, and used outside: > > mm.c: In function ‘_put_page_type’: > mm.c:2819:32: error: ‘PTF_preemptible’ undeclared (first use in this function) > bool preemptible = flags & PTF_preemptible; > ^~~~~~~~~~~~~~~ > mm.c:2819:32: note: each undeclared identifier is reported only once for each > function it appears in > mm.c:2842:24: error: ‘PTF_partial_set’ undeclared (first use in this function) > if ( !(flags & PTF_partial_set) ) > ^~~~~~~~~~~~~~~ > mm.c: In function ‘put_page_type_preemptible’: > mm.c:3090:33: error: ‘PTF_preemptible’ undeclared (first use in this function) > return _put_page_type(page, PTF_preemptible, NULL); > ^~~~~~~~~~~~~~~ > mm.c: In function ‘put_old_guest_table’: > mm.c:3108:25: error: ‘PTF_preemptible’ undeclared (first use in this function) > PTF_preemptible | > ^~~~~~~~~~~~~~~ > mm.c:3110:27: error: ‘PTF_partial_set’ undeclared (first use in this function) > PTF_partial_set : 0 ), > ^~~~~~~~~~~~~~~ > mm.c: In function ‘put_page_type_preemptible’: > mm.c:3091:1: error: control reaches end of non-void function > [-Werror=return-type] > } > ^ > cc1: all warnings being treated as errors > > Reposition the definitions to be outside of the #ifdef CONFIG_PV > > Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com> Release-acked-by: Juergen Gross <jgross@suse.com> Juergen
Does the subject should say 299 instead of 296? Cheers,
On 01/11/2019 10:27, Anthony PERARD wrote:
> Does the subject should say 299 instead of 296?
You're right - it should say 299. I'll fix up on commit.
~Andrew
diff --git a/xen/arch/x86/mm.c b/xen/arch/x86/mm.c index 79c3e4c473..57f22775ac 100644 --- a/xen/arch/x86/mm.c +++ b/xen/arch/x86/mm.c @@ -1063,8 +1063,6 @@ get_page_from_l1e( return -EBUSY; } -#ifdef CONFIG_PV - /* * The following flags are used to specify behavior of various get and * put commands. The first is also stored in page->partial_flags to @@ -1077,6 +1075,8 @@ get_page_from_l1e( #define PTF_defer (1 << 3) #define PTF_retain_ref_on_restart (1 << 4) +#ifdef CONFIG_PV + static int get_page_and_type_from_mfn( mfn_t mfn, unsigned long type, struct domain *d, unsigned int flags)
PTF_* are declared within CONFIG_PV, and used outside: mm.c: In function ‘_put_page_type’: mm.c:2819:32: error: ‘PTF_preemptible’ undeclared (first use in this function) bool preemptible = flags & PTF_preemptible; ^~~~~~~~~~~~~~~ mm.c:2819:32: note: each undeclared identifier is reported only once for each function it appears in mm.c:2842:24: error: ‘PTF_partial_set’ undeclared (first use in this function) if ( !(flags & PTF_partial_set) ) ^~~~~~~~~~~~~~~ mm.c: In function ‘put_page_type_preemptible’: mm.c:3090:33: error: ‘PTF_preemptible’ undeclared (first use in this function) return _put_page_type(page, PTF_preemptible, NULL); ^~~~~~~~~~~~~~~ mm.c: In function ‘put_old_guest_table’: mm.c:3108:25: error: ‘PTF_preemptible’ undeclared (first use in this function) PTF_preemptible | ^~~~~~~~~~~~~~~ mm.c:3110:27: error: ‘PTF_partial_set’ undeclared (first use in this function) PTF_partial_set : 0 ), ^~~~~~~~~~~~~~~ mm.c: In function ‘put_page_type_preemptible’: mm.c:3091:1: error: control reaches end of non-void function [-Werror=return-type] } ^ cc1: all warnings being treated as errors Reposition the definitions to be outside of the #ifdef CONFIG_PV Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com> --- CC: Jan Beulich <JBeulich@suse.com> CC: Wei Liu <wl@xen.org> CC: Roger Pau Monné <roger.pau@citrix.com> CC: George Dunlap <george.dunlap@eu.citrix.com> CC: Juergen Gross <jgross@suse.com> --- xen/arch/x86/mm.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)