[PATCH] x86/vpmu: Fix build following vmfork addition

Andrew Cooper posted 1 patch 1 year, 8 months ago
Test gitlab-ci failed
Patches applied successfully (tree, apply log)
git fetch https://gitlab.com/xen-project/patchew/xen tags/patchew/20220726131357.13722-1-andrew.cooper3@citrix.com
xen/arch/x86/include/asm/vpmu.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
[PATCH] x86/vpmu: Fix build following vmfork addition
Posted by Andrew Cooper 1 year, 8 months ago
GCC complains:

  arch/x86/cpu/vpmu.c:351:15: error: conflicting types for 'vpmu_save_force'; have 'void(void *)' with implied 'nocf_check' attribute
    351 | void cf_check vpmu_save_force(void *arg)
        |               ^~~~~~~~~~~~~~~
  In file included from ./arch/x86/include/asm/domain.h:10,
                   from ./include/xen/domain.h:8,
                   from ./include/xen/sched.h:11,
                   from ./include/xen/event.h:12,
                   from arch/x86/cpu/vpmu.c:23:
  ./arch/x86/include/asm/vpmu.h:117:6: note: previous declaration of 'vpmu_save_force' with type 'void(void *)'
    117 | void vpmu_save_force(void *arg);
        |      ^~~~~~~~~~~~~~~

Adjust the declaraion.

Fixes: 755087eb9b10 ("xen/mem_sharing: support forks with active vPMU state")
Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
CC: Jan Beulich <JBeulich@suse.com>
CC: Roger Pau Monné <roger.pau@citrix.com>
CC: Wei Liu <wl@xen.org>
CC: Tamas K Lengyel <tamas.lengyel@intel.com>
---
 xen/arch/x86/include/asm/vpmu.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/xen/arch/x86/include/asm/vpmu.h b/xen/arch/x86/include/asm/vpmu.h
index 8a3ae115623e..05e1fbfccfcf 100644
--- a/xen/arch/x86/include/asm/vpmu.h
+++ b/xen/arch/x86/include/asm/vpmu.h
@@ -114,7 +114,7 @@ void vpmu_do_interrupt(struct cpu_user_regs *regs);
 void vpmu_initialise(struct vcpu *v);
 void vpmu_destroy(struct vcpu *v);
 void vpmu_save(struct vcpu *v);
-void vpmu_save_force(void *arg);
+void cf_check vpmu_save_force(void *arg);
 int vpmu_load(struct vcpu *v, bool_t from_guest);
 void vpmu_dump(struct vcpu *v);
 
-- 
2.11.0


Re: [PATCH] x86/vpmu: Fix build following vmfork addition
Posted by Jan Beulich 1 year, 8 months ago
On 26.07.2022 15:13, Andrew Cooper wrote:
> GCC complains:
> 
>   arch/x86/cpu/vpmu.c:351:15: error: conflicting types for 'vpmu_save_force'; have 'void(void *)' with implied 'nocf_check' attribute
>     351 | void cf_check vpmu_save_force(void *arg)
>         |               ^~~~~~~~~~~~~~~
>   In file included from ./arch/x86/include/asm/domain.h:10,
>                    from ./include/xen/domain.h:8,
>                    from ./include/xen/sched.h:11,
>                    from ./include/xen/event.h:12,
>                    from arch/x86/cpu/vpmu.c:23:
>   ./arch/x86/include/asm/vpmu.h:117:6: note: previous declaration of 'vpmu_save_force' with type 'void(void *)'
>     117 | void vpmu_save_force(void *arg);
>         |      ^~~~~~~~~~~~~~~
> 
> Adjust the declaraion.
> 
> Fixes: 755087eb9b10 ("xen/mem_sharing: support forks with active vPMU state")
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>

Reviewed-by: Jan Beulich <jbeulich@suse.com>

Maybe worth mentioning that is is a non-default gcc?

Jan