From: Mark Rutland <mark.rutland@arm.com>
To: Guo Ren <guoren@kernel.org>
Cc: Peter Zijlstra <peterz@infradead.org>,
Lai Jiangshan <laijs@linux.alibaba.com>,
arnd@arndb.de, palmer@rivosinc.com, tglx@linutronix.de,
luto@kernel.org, conor.dooley@microchip.com, heiko@sntech.de,
jszhang@kernel.org, lazyparser@gmail.com, falcon@tinylab.org,
chenhuacai@kernel.org, apatel@ventanamicro.com,
atishp@atishpatra.org, palmer@dabbelt.com,
paul.walmsley@sifive.com, zouyipeng@huawei.com,
bigeasy@linutronix.de, David.Laight@aculab.com,
chenzhongjin@huawei.com, linux-arch@vger.kernel.org,
linux-kernel@vger.kernel.org, linux-riscv@lists.infradead.org,
Borislav Petkov <bp@alien8.de>, Miguel Ojeda <ojeda@kernel.org>,
Kees Cook <keescook@chromium.org>,
Nick Desaulniers <ndesaulniers@google.com>
Subject: Re: [PATCH V6 04/11] compiler_types.h: Add __noinstr_section() for noinstr
Date: Tue, 25 Oct 2022 10:47:25 +0100 [thread overview]
Message-ID: <Y1ewrRpHBwg2wJnb@FVFF77S0Q05N> (raw)
In-Reply-To: <CAJF2gTQvmSuOP_QQ8RGfq2soLrv9XD3g=8v9pE+U0y+pzqMY4A@mail.gmail.com>
On Tue, Oct 25, 2022 at 10:51:02AM +0800, Guo Ren wrote:
> On Mon, Oct 24, 2022 at 8:14 PM Mark Rutland <mark.rutland@arm.com> wrote:
> >
> > On Mon, Oct 24, 2022 at 02:06:04PM +0200, Peter Zijlstra wrote:
> > > On Mon, Oct 24, 2022 at 12:56:03PM +0100, Mark Rutland wrote:
> > >
> > > > How about we split this like:
> > > >
> > > > | /*
> > > > | * Prevent the compiler from instrumenting this code in any way
> > > > | * This does not prevent instrumentation via KPROBES, which must be
> > > > | * prevented through other means if necessary.
> > >
> > > Perhaps point to NOINSTR_TEXT in vmlinux.lds.h
> >
> > Makes sense, will do.
> Do I need to update the comment with NOINSTR_TEXT? eg:
>
> * Prevent the compiler from instrumenting this code in any way
> * This does not prevent instrumentation via KPROBES, which must be
> * prevented through other means if necessary. See NOINSTR_TEXT
> * in vmlinux.lds.h.
I think given Peter's reply we can leave the patch as-is for now, and we can
leave commentary or other changes to a later follow up. I'm happy to propose
patches for that once the existing bits are merged.
Sorry for confusing matters!
> > > > | */
> > > > | #define __no_compiler_instrument \
> > > > | noinline notrace noinline notrace __no_kcsan \
> > > > | __no_sanitize_address __no_sanitize_coverage
> > > > |
> > > > | /*
> > > > | * Section for code which can't be instrumented at all.
> > > > | * Any code in this section cannot be instrumented with KPROBES.
> > > > | */
> > > > | #define noinstr __no_compiler_instrument section(".noinstr.text")
> > > >
> > > > ... then we don't need __noinstr_section(), and IMO the split is
> > > > clearer.
> > >
> > > Yeah, perhaps, no strong feelings. Note I have this in the sched-idle
> > > series as well (which I still need to rebase and repost :/).
> >
> > Ah; I'll sit on this for now then, and once that's all in I can send a
> > cleanup/rework patch. Sorry for the noise!
> We still keep __noinstr_section(), right?
Yes -- for now this patch can stay as-is, and __noinstr_section() will remain.
Thanks,
Mark.
WARNING: multiple messages have this Message-ID (diff)
From: Mark Rutland <mark.rutland@arm.com>
To: Guo Ren <guoren@kernel.org>
Cc: Peter Zijlstra <peterz@infradead.org>,
Lai Jiangshan <laijs@linux.alibaba.com>,
arnd@arndb.de, palmer@rivosinc.com, tglx@linutronix.de,
luto@kernel.org, conor.dooley@microchip.com, heiko@sntech.de,
jszhang@kernel.org, lazyparser@gmail.com, falcon@tinylab.org,
chenhuacai@kernel.org, apatel@ventanamicro.com,
atishp@atishpatra.org, palmer@dabbelt.com,
paul.walmsley@sifive.com, zouyipeng@huawei.com,
bigeasy@linutronix.de, David.Laight@aculab.com,
chenzhongjin@huawei.com, linux-arch@vger.kernel.org,
linux-kernel@vger.kernel.org, linux-riscv@lists.infradead.org,
Borislav Petkov <bp@alien8.de>, Miguel Ojeda <ojeda@kernel.org>,
Kees Cook <keescook@chromium.org>,
Nick Desaulniers <ndesaulniers@google.com>
Subject: Re: [PATCH V6 04/11] compiler_types.h: Add __noinstr_section() for noinstr
Date: Tue, 25 Oct 2022 10:47:25 +0100 [thread overview]
Message-ID: <Y1ewrRpHBwg2wJnb@FVFF77S0Q05N> (raw)
In-Reply-To: <CAJF2gTQvmSuOP_QQ8RGfq2soLrv9XD3g=8v9pE+U0y+pzqMY4A@mail.gmail.com>
On Tue, Oct 25, 2022 at 10:51:02AM +0800, Guo Ren wrote:
> On Mon, Oct 24, 2022 at 8:14 PM Mark Rutland <mark.rutland@arm.com> wrote:
> >
> > On Mon, Oct 24, 2022 at 02:06:04PM +0200, Peter Zijlstra wrote:
> > > On Mon, Oct 24, 2022 at 12:56:03PM +0100, Mark Rutland wrote:
> > >
> > > > How about we split this like:
> > > >
> > > > | /*
> > > > | * Prevent the compiler from instrumenting this code in any way
> > > > | * This does not prevent instrumentation via KPROBES, which must be
> > > > | * prevented through other means if necessary.
> > >
> > > Perhaps point to NOINSTR_TEXT in vmlinux.lds.h
> >
> > Makes sense, will do.
> Do I need to update the comment with NOINSTR_TEXT? eg:
>
> * Prevent the compiler from instrumenting this code in any way
> * This does not prevent instrumentation via KPROBES, which must be
> * prevented through other means if necessary. See NOINSTR_TEXT
> * in vmlinux.lds.h.
I think given Peter's reply we can leave the patch as-is for now, and we can
leave commentary or other changes to a later follow up. I'm happy to propose
patches for that once the existing bits are merged.
Sorry for confusing matters!
> > > > | */
> > > > | #define __no_compiler_instrument \
> > > > | noinline notrace noinline notrace __no_kcsan \
> > > > | __no_sanitize_address __no_sanitize_coverage
> > > > |
> > > > | /*
> > > > | * Section for code which can't be instrumented at all.
> > > > | * Any code in this section cannot be instrumented with KPROBES.
> > > > | */
> > > > | #define noinstr __no_compiler_instrument section(".noinstr.text")
> > > >
> > > > ... then we don't need __noinstr_section(), and IMO the split is
> > > > clearer.
> > >
> > > Yeah, perhaps, no strong feelings. Note I have this in the sched-idle
> > > series as well (which I still need to rebase and repost :/).
> >
> > Ah; I'll sit on this for now then, and once that's all in I can send a
> > cleanup/rework patch. Sorry for the noise!
> We still keep __noinstr_section(), right?
Yes -- for now this patch can stay as-is, and __noinstr_section() will remain.
Thanks,
Mark.
_______________________________________________
linux-riscv mailing list
linux-riscv@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-riscv
next prev parent reply other threads:[~2022-10-25 9:47 UTC|newest]
Thread overview: 58+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-10-02 1:24 [PATCH V6 00/11] riscv: Add GENERIC_ENTRY support and related features guoren
2022-10-02 1:24 ` guoren
2022-10-02 1:24 ` [PATCH V6 01/11] riscv: elf_kexec: Fixup compile warning guoren
2022-10-02 1:24 ` guoren
2022-10-25 1:20 ` liaochang (A)
2022-10-25 1:20 ` liaochang (A)
2022-10-25 2:36 ` Guo Ren
2022-10-25 2:36 ` Guo Ren
2022-10-02 1:24 ` [PATCH V6 02/11] riscv: compat_syscall_table: " guoren
2022-10-02 1:24 ` guoren
2022-10-02 1:24 ` [PATCH V6 03/11] riscv: ptrace: Remove duplicate operation guoren
2022-10-02 1:24 ` guoren
2022-10-02 1:24 ` [PATCH V6 04/11] compiler_types.h: Add __noinstr_section() for noinstr guoren
2022-10-02 1:24 ` guoren
2022-10-03 11:38 ` Mark Rutland
2022-10-03 11:38 ` Mark Rutland
2022-10-08 1:54 ` Guo Ren
2022-10-08 1:54 ` Guo Ren
2022-10-20 9:15 ` Mark Rutland
2022-10-20 9:15 ` Mark Rutland
2022-10-20 12:29 ` Guo Ren
2022-10-20 12:29 ` Guo Ren
2022-10-24 11:56 ` Mark Rutland
2022-10-24 11:56 ` Mark Rutland
2022-10-24 12:06 ` Peter Zijlstra
2022-10-24 12:06 ` Peter Zijlstra
2022-10-24 12:14 ` Mark Rutland
2022-10-24 12:14 ` Mark Rutland
2022-10-25 2:51 ` Guo Ren
2022-10-25 2:51 ` Guo Ren
2022-10-25 9:47 ` Mark Rutland [this message]
2022-10-25 9:47 ` Mark Rutland
2022-10-02 1:24 ` [PATCH V6 05/11] riscv: traps: Add noinstr to prevent instrumentation inserted guoren
2022-10-02 1:24 ` guoren
2022-10-03 11:40 ` Mark Rutland
2022-10-03 11:40 ` Mark Rutland
2022-10-08 2:16 ` Guo Ren
2022-10-08 2:16 ` Guo Ren
2022-10-02 1:24 ` [PATCH V6 06/11] riscv: convert to generic entry guoren
2022-10-02 1:24 ` guoren
2022-10-02 1:24 ` [PATCH V6 07/11] riscv: Support HAVE_IRQ_EXIT_ON_IRQ_STACK guoren
2022-10-02 1:24 ` guoren
2022-10-02 1:24 ` [PATCH V6 08/11] riscv: Support HAVE_SOFTIRQ_ON_OWN_STACK guoren
2022-10-02 1:24 ` guoren
2022-10-02 1:24 ` [PATCH V6 09/11] riscv: Add support for STACKLEAK gcc plugin guoren
2022-10-02 1:24 ` guoren
2022-10-03 11:34 ` Mark Rutland
2022-10-03 11:34 ` Mark Rutland
2022-10-08 0:16 ` Guo Ren
2022-10-08 0:16 ` Guo Ren
2022-10-08 3:26 ` Guo Ren
2022-10-08 3:26 ` Guo Ren
2022-10-08 3:44 ` Guo Ren
2022-10-08 3:44 ` Guo Ren
2022-10-02 1:24 ` [PATCH V6 10/11] riscv: Add config of thread stack size guoren
2022-10-02 1:24 ` guoren
2022-10-02 1:24 ` [PATCH V6 11/11] riscv: remove extra level wrappers of trace_hardirqs_{on,off} guoren
2022-10-02 1:24 ` guoren
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=Y1ewrRpHBwg2wJnb@FVFF77S0Q05N \
--to=mark.rutland@arm.com \
--cc=David.Laight@aculab.com \
--cc=apatel@ventanamicro.com \
--cc=arnd@arndb.de \
--cc=atishp@atishpatra.org \
--cc=bigeasy@linutronix.de \
--cc=bp@alien8.de \
--cc=chenhuacai@kernel.org \
--cc=chenzhongjin@huawei.com \
--cc=conor.dooley@microchip.com \
--cc=falcon@tinylab.org \
--cc=guoren@kernel.org \
--cc=heiko@sntech.de \
--cc=jszhang@kernel.org \
--cc=keescook@chromium.org \
--cc=laijs@linux.alibaba.com \
--cc=lazyparser@gmail.com \
--cc=linux-arch@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-riscv@lists.infradead.org \
--cc=luto@kernel.org \
--cc=ndesaulniers@google.com \
--cc=ojeda@kernel.org \
--cc=palmer@dabbelt.com \
--cc=palmer@rivosinc.com \
--cc=paul.walmsley@sifive.com \
--cc=peterz@infradead.org \
--cc=tglx@linutronix.de \
--cc=zouyipeng@huawei.com \
/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.