On Sat, Nov 28, 2020 at 08:23:59AM -0800, Yu, Yu-cheng wrote: > We have X86_BRANCH_TRACKING_USER too. My thought was, X86_CET means any of > kernel/user shadow stack/ibt. It is not about what it means - it is what you're going to use/need. You have ifdeffery both with X86_CET and X86_SHADOW_STACK_USER. This one +#ifdef CONFIG_X86_SHADOW_STACK_USER +#define DISABLE_SHSTK 0 +#else +#define DISABLE_SHSTK (1 << (X86_FEATURE_SHSTK & 31)) +#endif for example, is clearly wrong and wants to be #ifdef CONFIG_X86_CET, for example. Unless I'm missing something totally obvious. In any case, you need to analyze what Kconfig defines the code will need and to what they belong and add only the minimal subset needed. Our Kconfig symbols space is already nuts so adding more needs to be absolutely justified. Thx. -- Regards/Gruss, Boris. https://people.kernel.org/tglx/notes-about-netiquette