Re: [PATCH v15 01/26] Documentation/x86: Add CET description

From: Yu, Yu-cheng
Date: Mon Nov 30 2020 - 14:48:18 EST


On 11/30/2020 11:38 AM, Fāng-ruì Sòng wrote:
On Mon, Nov 30, 2020 at 10:34 AM Yu, Yu-cheng <yu-cheng.yu@xxxxxxxxx> wrote:

On 11/30/2020 10:26 AM, Nick Desaulniers wrote:
(In response to https://lore.kernel.org/lkml/20201110162211.9207-2-yu-cheng.yu@xxxxxxxxx/)

These need to be enabled to build a CET-enabled kernel, and Binutils v2.31
and GCC v8.1 or later are required to build a CET kernel.

What about LLVM? Surely CrOS might be of interest to ship this on (we ship the
equivalent for aarch64 on Android).


I have not built with LLVM, but think it probably will work as well. I
will test it.

An application's CET capability is marked in its ELF header and can be
verified from the following command output, in the NT_GNU_PROPERTY_TYPE_0
field:

readelf -n <application> | grep SHSTK
properties: x86 feature: IBT, SHSTK

Same for llvm-readelf.


I will add that to the document.

Thanks,
Yu-cheng

The baseline LLVM version is 10.0.1, which is good enough for clang
-fcf-protection=full, llvm-readelf -n, LLD's .note.gnu.property
handling (the LLD option is `-z force-ibt`, though)



Thanks!

Yu-cheng