lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <1617183879-48748-1-git-send-email-tanxiaofei@huawei.com>
Date:   Wed, 31 Mar 2021 17:44:39 +0800
From:   Xiaofei Tan <tanxiaofei@...wei.com>
To:     <catalin.marinas@....com>, <will@...nel.org>,
        <julien.grall@....com>, <Dave.Martin@....com>,
        <broonie@...nel.org>, <maz@...nel.org>
CC:     Xiaofei Tan <tanxiaofei@...wei.com>,
        <linux-arm-kernel@...ts.infradead.org>,
        <linux-kernel@...r.kernel.org>, <linuxarm@...neuler.org>
Subject: [PATCH RFC for-next 1/1] arm64: sve: Fix some compile errors about sve_cond_update_zcr_vq

There are some compile errors of ARM64 KVM when ARM64_SVE is not
selected, in the locations of sve_cond_update_zcr_vq used.
One error log is as following:

  CC      arch/arm64/kvm/sys_regs.o
In file included from arch/arm64/kvm/hyp/vhe/switch.c:8:0:
./arch/arm64/kvm/hyp/include/hyp/switch.h: In function ‘__hyp_sve_restore_guest’:
./arch/arm64/kvm/hyp/include/hyp/switch.h:220:2: error: implicit declaration of
function ‘sve_cond_update_zcr_vq’; did you mean
‘kvm_pmu_update_run’? [-Werror=implicit-function-declaration]
  sve_cond_update_zcr_vq(vcpu_sve_max_vq(vcpu) - 1, SYS_ZCR_EL2);
  ^~~~~~~~~~~~~~~~~~~~~~
  kvm_pmu_update_run

The root cause is that sve_cond_update_zcr_vq is not defined when
ARM64_SVE is not selected. Fix it by adding an empty definition
when CONFIG_ARM64_SVE=n.

Signed-off-by: Xiaofei Tan <tanxiaofei@...wei.com>
---
 arch/arm64/include/asm/fpsimd.h | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/arch/arm64/include/asm/fpsimd.h b/arch/arm64/include/asm/fpsimd.h
index 05c9c55..3f93b63 100644
--- a/arch/arm64/include/asm/fpsimd.h
+++ b/arch/arm64/include/asm/fpsimd.h
@@ -168,6 +168,8 @@ static inline int sve_get_current_vl(void)
 static inline void sve_user_disable(void) { BUILD_BUG(); }
 static inline void sve_user_enable(void) { BUILD_BUG(); }
 
+#define sve_cond_update_zcr_vq(val, reg)
+
 static inline void sve_init_vq_map(void) { }
 static inline void sve_update_vq_map(void) { }
 static inline int sve_verify_vq_map(void) { return 0; }
-- 
2.8.1

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ