All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Yu, Yu-cheng" <yu-cheng.yu@intel.com>
To: Dave Hansen <dave.hansen@intel.com>,
	x86@kernel.org, "H. Peter Anvin" <hpa@zytor.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	Ingo Molnar <mingo@redhat.com>,
	linux-kernel@vger.kernel.org, linux-doc@vger.kernel.org,
	linux-mm@kvack.org, linux-arch@vger.kernel.org,
	linux-api@vger.kernel.org, Arnd Bergmann <arnd@arndb.de>,
	Andy Lutomirski <luto@kernel.org>,
	Balbir Singh <bsingharora@gmail.com>,
	Borislav Petkov <bp@alien8.de>,
	Cyrill Gorcunov <gorcunov@gmail.com>,
	Dave Hansen <dave.hansen@linux.intel.com>,
	Eugene Syromiatnikov <esyr@redhat.com>,
	Florian Weimer <fweimer@redhat.com>,
	"H.J. Lu" <hjl.tools@gmail.com>, Jann Horn <jannh@google.com>,
	Jonathan Corbet <corbet@lwn.net>,
	Kees Cook <keescook@chromium.org>,
	Mike Kravetz <mike.kravetz@oracle.com>,
	Nadav Amit <nadav.amit@gmail.com>,
	Oleg Nesterov <oleg@redhat.com>, Pavel Machek <pavel@ucw.cz>,
	Peter Zijlstra <peterz@infradead.org>,
	Randy Dunlap <rdunlap@infradead.org>,
	"Ravi V. Shankar" <ravi.v.shankar@intel.com>,
	Vedvyas Shanbhogue <vedvyas.shanbhogue@intel.com>,
	Dave Martin <Dave.Martin@arm.com>,
	Weijiang Yang <weijiang.yang@intel.com>,
	Pengfei Xu <pengfei.xu@intel.com>,
	Haitao Huang <haitao.huang@intel.com>
Cc: Jarkko Sakkinen <jarkko@kernel.org>
Subject: Re: [PATCH v23 6/9] x86/entry: Introduce ENDBR macro
Date: Tue, 16 Mar 2021 10:44:46 -0700	[thread overview]
Message-ID: <1cbd8068-60e3-3fc9-9618-3262b179182d@intel.com> (raw)
In-Reply-To: <0c0b3663-3c01-c166-03fa-a3dbfb250da3@intel.com>

On 3/16/2021 10:28 AM, Dave Hansen wrote:
> On 3/16/21 10:12 AM, Yu, Yu-cheng wrote:
>> On 3/16/2021 8:49 AM, Dave Hansen wrote:
> ...
>>> Is "#ifdef __i386__" the right thing to use here?  I guess ENDBR only
>>> ends up getting used in the VDSO, but there's a lot of
>>> non-userspace-exposed stuff in calling.h.  It seems a bit weird to have
>>> the normally userspace-only __i386__ in there.
>>>
>>> I don't see any existing direct use of __i386__ in arch/x86/entry/vdso.
>>
>> Good point.  My thought was, __i386__ comes from the compiler having the
>> -m32 command-line option, and it is not dependent on anything else.
>>
>> 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.
> 
> First of all, I think putting the macro in calling.h is wrong if it will
> be used exclusively in the VDSO.  If it's VDSO-only, please put it in a
> local header in the vdso/ directory, maybe even a new cet.h.
> 
> Also, Boris asked for two *different* macros for 32 and 64-bit:
> 
> https://lore.kernel.org/linux-api/20210310231731.GK23521@zn.tnic/
> 
> Could you do that in the next version, please?
> 

Yes, we can do two macros, probably in arch/x86/include/asm/vdso.h.

  reply	other threads:[~2021-03-16 17:45 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-03-16 15:13 [PATCH v23 0/9] Control-flow Enforcement: Indirect Branch Tracking Yu-cheng Yu
2021-03-16 15:13 ` [PATCH v23 1/9] x86/cet/ibt: Update Kconfig for user-mode " Yu-cheng Yu
2021-03-16 15:13 ` [PATCH v23 2/9] x86/cet/ibt: User-mode Indirect Branch Tracking support Yu-cheng Yu
2021-03-16 15:13 ` [PATCH v23 3/9] x86/cet/ibt: Handle signals for Indirect Branch Tracking Yu-cheng Yu
2021-03-16 15:13 ` [PATCH v23 4/9] x86/cet/ibt: Update ELF header parsing " Yu-cheng Yu
2021-03-16 15:13 ` [PATCH v23 5/9] x86/cet/ibt: Update arch_prctl functions " Yu-cheng Yu
2021-03-16 15:13 ` [PATCH v23 6/9] x86/entry: Introduce ENDBR macro Yu-cheng Yu
2021-03-16 15:49   ` Dave Hansen
2021-03-16 17:12     ` Yu, Yu-cheng
2021-03-16 17:28       ` Dave Hansen
2021-03-16 17:44         ` Yu, Yu-cheng [this message]
2021-03-16 17:46           ` Dave Hansen
2021-03-16 17:30       ` Borislav Petkov
2021-03-16 17:42         ` Yu, Yu-cheng
2021-03-16 19:57       ` Peter Zijlstra
2021-03-16 20:05         ` Yu, Yu-cheng
2021-03-16 20:15           ` Peter Zijlstra
2021-03-16 20:26             ` Yu, Yu-cheng
2021-03-16 21:01               ` Yu, Yu-cheng
2021-03-16 21:01               ` Peter Zijlstra
2021-03-16 15:13 ` [PATCH v23 7/9] x86/vdso/32: Add ENDBR to __kernel_vsyscall entry point Yu-cheng Yu
2021-03-16 15:13 ` [PATCH v23 8/9] x86/vdso: Insert endbr32/endbr64 to vDSO Yu-cheng Yu
2021-03-16 15:13 ` [PATCH v23 9/9] x86/vdso: Add ENDBR to __vdso_sgx_enter_enclave Yu-cheng Yu
2021-03-16 19:22   ` Jarkko Sakkinen
2021-03-16 19:27     ` Yu, Yu-cheng
2021-03-17  1:42       ` Jarkko Sakkinen

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1cbd8068-60e3-3fc9-9618-3262b179182d@intel.com \
    --to=yu-cheng.yu@intel.com \
    --cc=Dave.Martin@arm.com \
    --cc=arnd@arndb.de \
    --cc=bp@alien8.de \
    --cc=bsingharora@gmail.com \
    --cc=corbet@lwn.net \
    --cc=dave.hansen@intel.com \
    --cc=dave.hansen@linux.intel.com \
    --cc=esyr@redhat.com \
    --cc=fweimer@redhat.com \
    --cc=gorcunov@gmail.com \
    --cc=haitao.huang@intel.com \
    --cc=hjl.tools@gmail.com \
    --cc=hpa@zytor.com \
    --cc=jannh@google.com \
    --cc=jarkko@kernel.org \
    --cc=keescook@chromium.org \
    --cc=linux-api@vger.kernel.org \
    --cc=linux-arch@vger.kernel.org \
    --cc=linux-doc@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=luto@kernel.org \
    --cc=mike.kravetz@oracle.com \
    --cc=mingo@redhat.com \
    --cc=nadav.amit@gmail.com \
    --cc=oleg@redhat.com \
    --cc=pavel@ucw.cz \
    --cc=pengfei.xu@intel.com \
    --cc=peterz@infradead.org \
    --cc=ravi.v.shankar@intel.com \
    --cc=rdunlap@infradead.org \
    --cc=tglx@linutronix.de \
    --cc=vedvyas.shanbhogue@intel.com \
    --cc=weijiang.yang@intel.com \
    --cc=x86@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.