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-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <c164b359-75a0-5244-1e9b-7a4db1f52bd3@arm.com>
Date:   Tue, 24 Sep 2019 21:42:04 +0100
From:   Vincenzo Frascino <vincenzo.frascino@....com>
To:     Nick Desaulniers <ndesaulniers@...gle.com>
Cc:     ard.biesheuvel@...aro.org, catalin.marinas@....com,
        linux-kernel@...ts.infradead.org, linux-kernel@...r.kernel.org,
        linux@...linux.org.uk, tglx@...utronix.de, will@...nel.org,
        natechancellor@...il.com
Subject: Re: Problems with arm64 compat vdso

Hi Nick,

thanks for reporting this.

On 9/24/19 7:06 PM, Nick Desaulniers wrote:
> Hi Vincenzo,
> We also are having issues building the cross vDSO with Clang:
> https://github.com/ClangBuiltLinux/linux/issues/595
> 

The initial implementation of vdso32 does not have support for Clang. I was
planning to add it with a second patch set but it seems requiring more work.

> It seems that `LINUXINCLUDE` in arch/arm64/kernel/vdso32/Makefile is including
> arm64 headers in the arm part of the vdso32 build, which causes Clang to error
> on the arm64 inline asm constraints being used in arm64.
> 
> I think if the issue Will described is fixed, it will be simpler for us to fix
> the rest to get it to build w/ Clang.
> 
> https://github.com/ClangBuiltLinux/linux/issues/595#issuecomment-509874891
> is the basis of such a patch.
> 

I agree with you this issue needs to be solved once and for all, but I feel that
the solution is not straight forward. Next week I will post a fix to the problem
Will raised and then will start investigating a more long term solution.

> Clang ships with all backends on by default, and uses a `-target <triple>` to
> cross compile; so the idea of passing two cross compiler binaries for a compat
> vDSO build doesn't really apply to Clang.
> 

My idea was to derivate the triple for clang from the compat cross compiler name
removing the final dash.

I have in my Makefile something on the lines:

CLANG_TRIPLE ?= $(CONFIG_CROSS_COMPILE_COMPAT_VDSO:"%-"=%)
...
COMPATCC := $(CC) --target=$(notdir $CLANG_TRIPLE)


-- 
Regards,
Vincenzo

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ