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 for Android: free password hash cracker in your pocket
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <86h8mla92t.wl-marc.zyngier@arm.com>
Date:   Sat, 02 Jun 2018 09:25:46 +0100
From:   Marc Zyngier <marc.zyngier@....com>
To:     Catalin Marinas <catalin.marinas@....com>
Cc:     Stefan Wahren <stefan.wahren@...e.com>,
        Stephen Rothwell <sfr@...b.auug.org.au>,
        <linux-arm-kernel@...ts.infradead.or>,
        Will Deacon <will.deacon@....com>,
        <linux-kernel@...r.kernel.org>, <kvmarm@...ts.cs.columbia.edu>
Subject: Re: linux-next-20180601: build error in arch/arm64/kvm/hyp/hyp-entry.S

On Fri, 01 Jun 2018 22:26:19 +0100,
Catalin Marinas wrote:
> 
> Hi Stefan,
> 
> On Fri, Jun 01, 2018 at 10:05:07PM +0200, Stefan Wahren wrote:
> > i can't build todays linux-next-20180601 and get the following error message:
> > 
> > arch/arm64/kvm/hyp/hyp-entry.S: Assembler messages:
> > arch/arm64/kvm/hyp/hyp-entry.S:128: Error: constant expression required at operand 3 -- `bfi x0,x1,#VCPU_WORKAROUND_2_FLAG_SHIFT,#1'
> > 
> > Related commit:
> > arm64: KVM: Handle guest's ARCH_WORKAROUND_2 requests
> > 
> > Toolchain: gcc-linaro-7.2.1-2017.11-x86_64_aarch64-linux-gnu
> > Kernel config: arm64/defconfig
> 
> Thanks for reporting this.
> 
> I can hit this as well. It looks like an #ifndef __ASSEMBLY__ in the
> wrong place in arch/arm64/include/asm/kvm_asm.h. I can't tell whether it
> was caused by a merge conflict resolution or just some unfortunate
> interaction between the security fixes going via the arm64 tree and the
> other arm64 KVM patches.

The merge between 55e3748e8902 in the arm64 tree, and both
fa89d31c5306 and 46c4a30b0b16 in the kvmarm tree has resulted in a
slight mis-merge which I didn't spot yesterday. Apologies for not
realising this myself.

Stephen, could you please add the following patchlet as a resolution
of the merge?

diff --git a/arch/arm64/include/asm/kvm_asm.h b/arch/arm64/include/asm/kvm_asm.h
index c5246d80b857..a169f3a88148 100644
--- a/arch/arm64/include/asm/kvm_asm.h
+++ b/arch/arm64/include/asm/kvm_asm.h
@@ -30,13 +30,13 @@
 /* The hyp-stub will return this for any kvm_call_hyp() call */
 #define ARM_EXCEPTION_HYP_GONE	  HVC_STUB_ERR
 
+#define	VCPU_WORKAROUND_2_FLAG_SHIFT	0
+#define	VCPU_WORKAROUND_2_FLAG		(_AC(1, UL) << VCPU_WORKAROUND_2_FLAG_SHIFT)
+
 #ifndef __ASSEMBLY__
 
 #include <linux/mm.h>
 
-#define	VCPU_WORKAROUND_2_FLAG_SHIFT	0
-#define	VCPU_WORKAROUND_2_FLAG		(_AC(1, UL) << VCPU_WORKAROUND_2_FLAG_SHIFT)
-
 /* Translate a kernel address of @sym into its equivalent linear mapping */
 #define kvm_ksym_ref(sym)						\
 	({								\

Catalin: Alternatively, you could add a patch on top of the arm64
branch, moving these two defines to the top of the file, avoiding the
conflict altogether.

Thanks,

	M.

-- 
Jazz is not dead, it just smell funny.

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ