lkml.org 
[lkml]   [2021]   [Mar]   [16]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: [PATCH v23 6/9] x86/entry: Introduce ENDBR macro
From
Date
On 3/16/2021 1:15 PM, Peter Zijlstra wrote:
> On Tue, Mar 16, 2021 at 01:05:30PM -0700, Yu, Yu-cheng wrote:
>> On 3/16/2021 12:57 PM, Peter Zijlstra wrote:
>>> On Tue, Mar 16, 2021 at 10:12:39AM -0700, Yu, Yu-cheng wrote:
>>>> Alternatively, there is another compiler-defined macro _CET_ENDBR that can
>>>> be used. We can put the following in calling.h:
>>>>
>>>> #ifdef __CET__
>>>> #include <cet.h>
>>>> #else
>>>> #define _CET_ENDBR
>>>> #endif
>>>>
>>>> and then use _CET_ENDBR in other files. How is that?
>>>>
>>>> In the future, in case we have kernel-mode IBT, ENDBR macros are also needed
>>>> for other assembly files.
>>>
>>> Can we please call it IBT_ENDBR or just ENDBR. CET is a horrible name,
>>> seeing how it is not specific.
>>>
>>
>> _CET_ENDBR is from the compiler and we cannot change it. We can do:
>>
>> #define ENDBR _CET_ENDBR
>>
>> How is that?
>
> Do we really want to include compiler headers? AFAICT it's not a
> built-in. Also what about clang?
>
> This thing seems trivial enough to build our own, it's a single damn
> instruction. That also means we don't have to worry about changes to
> header files we don't control.
>

Then, what about moving what I had earlier to vdso.h?
If we don't want __i386__ either, then make it two macros.

+.macro ENDBR
+#ifdef CONFIG_X86_CET
+#ifdef __i386__
+ endbr32
+#else
+ endbr64
+#endif
+#endif
+.endm

\
 
 \ /
  Last update: 2021-03-16 21:28    [W:0.067 / U:0.080 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site