From: Jisheng Zhang <Jisheng.Zhang@synaptics.com>
To: Anup Patel <anup@brainfault.org>
Cc: "Jisheng Zhang" <jszhang3@mail.ustc.edu.cn>,
"Paul Walmsley" <paul.walmsley@sifive.com>,
"Palmer Dabbelt" <palmer@dabbelt.com>,
"Albert Ou" <aou@eecs.berkeley.edu>,
"Andrey Ryabinin" <ryabinin.a.a@gmail.com>,
"Alexander Potapenko" <glider@google.com>,
"Andrey Konovalov" <andreyknvl@gmail.com>,
"Dmitry Vyukov" <dvyukov@google.com>,
"Björn Töpel" <bjorn@kernel.org>,
"Alexei Starovoitov" <ast@kernel.org>,
"Daniel Borkmann" <daniel@iogearbox.net>,
"Andrii Nakryiko" <andrii@kernel.org>,
"Song Liu" <songliubraving@fb.com>, "Yonghong Song" <yhs@fb.com>,
"John Fastabend" <john.fastabend@gmail.com>,
"KP Singh" <kpsingh@kernel.org>,
"Luke Nelson" <luke.r.nels@gmail.com>,
"Xi Wang" <xi.wang@gmail.com>,
linux-riscv <linux-riscv@lists.infradead.org>,
"linux-kernel@vger.kernel.org List"
<linux-kernel@vger.kernel.org>,
kasan-dev@googlegroups.com, netdev@vger.kernel.org,
bpf@vger.kernel.org
Subject: Re: [PATCH v2 1/9] riscv: add __init section marker to some functions
Date: Mon, 12 Apr 2021 13:37:11 +0800 [thread overview]
Message-ID: <20210412133711.7b625842@xhacker.debian> (raw)
In-Reply-To: <CAAhSdy0CgxZj14Jx62CS=gRVzZs9c9NUysWi1iTTZ3BJvAOjPQ@mail.gmail.com>
On Fri, 2 Apr 2021 09:38:02 +0530
Anup Patel <anup@brainfault.org> wrote:
>
>
> On Wed, Mar 31, 2021 at 10:00 PM Jisheng Zhang
> <jszhang3@mail.ustc.edu.cn> wrote:
> >
> > From: Jisheng Zhang <jszhang@kernel.org>
> >
> > They are not needed after booting, so mark them as __init to move them
> > to the __init section.
> >
> > Signed-off-by: Jisheng Zhang <jszhang@kernel.org>
> > ---
> > arch/riscv/kernel/traps.c | 2 +-
> > arch/riscv/mm/init.c | 6 +++---
> > arch/riscv/mm/kasan_init.c | 6 +++---
> > arch/riscv/mm/ptdump.c | 2 +-
> > 4 files changed, 8 insertions(+), 8 deletions(-)
> >
> > diff --git a/arch/riscv/kernel/traps.c b/arch/riscv/kernel/traps.c
> > index 1357abf79570..07fdded10c21 100644
> > --- a/arch/riscv/kernel/traps.c
> > +++ b/arch/riscv/kernel/traps.c
> > @@ -197,6 +197,6 @@ int is_valid_bugaddr(unsigned long pc)
> > #endif /* CONFIG_GENERIC_BUG */
> >
> > /* stvec & scratch is already set from head.S */
> > -void trap_init(void)
> > +void __init trap_init(void)
> > {
> > }
>
> The trap_init() is unused currently so you can drop this change
> and remove trap_init() as a separate patch.
the kernel init/main.c expects a trap_init() implementation in architecture
code. Some architecture's implementation is NULL, similar as riscv, for example,
arm, powerpc and so on. However I think you are right, the trap_init() can be
removed, we need a trivial series to provide a __weak but NULL trap_init()
implementation in init/main.c then remove all NULL implementation from
all arch. I can take the task to do the clean up.
>
> > diff --git a/arch/riscv/mm/init.c b/arch/riscv/mm/init.c
> > index 067583ab1bd7..76bf2de8aa59 100644
> > --- a/arch/riscv/mm/init.c
> > +++ b/arch/riscv/mm/init.c
> > @@ -57,7 +57,7 @@ static void __init zone_sizes_init(void)
> > free_area_init(max_zone_pfns);
> > }
> >
> > -static void setup_zero_page(void)
> > +static void __init setup_zero_page(void)
> > {
> > memset((void *)empty_zero_page, 0, PAGE_SIZE);
I think the zero page is already initialized as "0" because empty_zero_page
sits in .bss section. So this setup_zero_page() function can be removed. I
will send a newer version later.
thanks
WARNING: multiple messages have this Message-ID (diff)
From: Jisheng Zhang <Jisheng.Zhang@synaptics.com>
To: Anup Patel <anup@brainfault.org>
Cc: "Jisheng Zhang" <jszhang3@mail.ustc.edu.cn>,
"Paul Walmsley" <paul.walmsley@sifive.com>,
"Palmer Dabbelt" <palmer@dabbelt.com>,
"Albert Ou" <aou@eecs.berkeley.edu>,
"Andrey Ryabinin" <ryabinin.a.a@gmail.com>,
"Alexander Potapenko" <glider@google.com>,
"Andrey Konovalov" <andreyknvl@gmail.com>,
"Dmitry Vyukov" <dvyukov@google.com>,
"Björn Töpel" <bjorn@kernel.org>,
"Alexei Starovoitov" <ast@kernel.org>,
"Daniel Borkmann" <daniel@iogearbox.net>,
"Andrii Nakryiko" <andrii@kernel.org>,
"Song Liu" <songliubraving@fb.com>, "Yonghong Song" <yhs@fb.com>,
"John Fastabend" <john.fastabend@gmail.com>,
"KP Singh" <kpsingh@kernel.org>,
"Luke Nelson" <luke.r.nels@gmail.com>,
"Xi Wang" <xi.wang@gmail.com>,
linux-riscv <linux-riscv@lists.infradead.org>,
"linux-kernel@vger.kernel.org List"
<linux-kernel@vger.kernel.org>,
kasan-dev@googlegroups.com, netdev@vger.kernel.org,
bpf@vger.kernel.org
Subject: Re: [PATCH v2 1/9] riscv: add __init section marker to some functions
Date: Mon, 12 Apr 2021 13:37:11 +0800 [thread overview]
Message-ID: <20210412133711.7b625842@xhacker.debian> (raw)
In-Reply-To: <CAAhSdy0CgxZj14Jx62CS=gRVzZs9c9NUysWi1iTTZ3BJvAOjPQ@mail.gmail.com>
On Fri, 2 Apr 2021 09:38:02 +0530
Anup Patel <anup@brainfault.org> wrote:
>
>
> On Wed, Mar 31, 2021 at 10:00 PM Jisheng Zhang
> <jszhang3@mail.ustc.edu.cn> wrote:
> >
> > From: Jisheng Zhang <jszhang@kernel.org>
> >
> > They are not needed after booting, so mark them as __init to move them
> > to the __init section.
> >
> > Signed-off-by: Jisheng Zhang <jszhang@kernel.org>
> > ---
> > arch/riscv/kernel/traps.c | 2 +-
> > arch/riscv/mm/init.c | 6 +++---
> > arch/riscv/mm/kasan_init.c | 6 +++---
> > arch/riscv/mm/ptdump.c | 2 +-
> > 4 files changed, 8 insertions(+), 8 deletions(-)
> >
> > diff --git a/arch/riscv/kernel/traps.c b/arch/riscv/kernel/traps.c
> > index 1357abf79570..07fdded10c21 100644
> > --- a/arch/riscv/kernel/traps.c
> > +++ b/arch/riscv/kernel/traps.c
> > @@ -197,6 +197,6 @@ int is_valid_bugaddr(unsigned long pc)
> > #endif /* CONFIG_GENERIC_BUG */
> >
> > /* stvec & scratch is already set from head.S */
> > -void trap_init(void)
> > +void __init trap_init(void)
> > {
> > }
>
> The trap_init() is unused currently so you can drop this change
> and remove trap_init() as a separate patch.
the kernel init/main.c expects a trap_init() implementation in architecture
code. Some architecture's implementation is NULL, similar as riscv, for example,
arm, powerpc and so on. However I think you are right, the trap_init() can be
removed, we need a trivial series to provide a __weak but NULL trap_init()
implementation in init/main.c then remove all NULL implementation from
all arch. I can take the task to do the clean up.
>
> > diff --git a/arch/riscv/mm/init.c b/arch/riscv/mm/init.c
> > index 067583ab1bd7..76bf2de8aa59 100644
> > --- a/arch/riscv/mm/init.c
> > +++ b/arch/riscv/mm/init.c
> > @@ -57,7 +57,7 @@ static void __init zone_sizes_init(void)
> > free_area_init(max_zone_pfns);
> > }
> >
> > -static void setup_zero_page(void)
> > +static void __init setup_zero_page(void)
> > {
> > memset((void *)empty_zero_page, 0, PAGE_SIZE);
I think the zero page is already initialized as "0" because empty_zero_page
sits in .bss section. So this setup_zero_page() function can be removed. I
will send a newer version later.
thanks
_______________________________________________
linux-riscv mailing list
linux-riscv@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-riscv
next prev parent reply other threads:[~2021-04-12 5:37 UTC|newest]
Thread overview: 36+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-03-31 16:24 [PATCH v2 0/9] riscv: improve self-protection Jisheng Zhang
2021-03-31 16:24 ` Jisheng Zhang
2021-03-31 16:25 ` [PATCH v2 1/9] riscv: add __init section marker to some functions Jisheng Zhang
2021-03-31 16:25 ` Jisheng Zhang
2021-04-02 4:08 ` Anup Patel
2021-04-02 4:08 ` Anup Patel
2021-04-12 5:37 ` Jisheng Zhang [this message]
2021-04-12 5:37 ` Jisheng Zhang
2021-03-31 16:25 ` [PATCH v2 2/9] riscv: Mark some global variables __ro_after_init Jisheng Zhang
2021-03-31 16:25 ` Jisheng Zhang
2021-04-02 4:09 ` Anup Patel
2021-04-02 4:09 ` Anup Patel
2021-03-31 16:26 ` [PATCH v2 3/9] riscv: Constify sys_call_table Jisheng Zhang
2021-03-31 16:26 ` Jisheng Zhang
2021-04-02 4:11 ` Anup Patel
2021-04-02 4:11 ` Anup Patel
2021-03-31 16:26 ` [PATCH v2 4/9] riscv: Constify sbi_ipi_ops Jisheng Zhang
2021-03-31 16:26 ` Jisheng Zhang
2021-04-02 4:12 ` Anup Patel
2021-04-02 4:12 ` Anup Patel
2021-03-31 16:27 ` [PATCH v2 5/9] riscv: kprobes: Implement alloc_insn_page() Jisheng Zhang
2021-03-31 16:27 ` Jisheng Zhang
2021-04-02 4:16 ` Anup Patel
2021-04-02 4:16 ` Anup Patel
2021-03-31 16:27 ` [PATCH v2 6/9] riscv: bpf: Write protect JIT code Jisheng Zhang
2021-03-31 16:27 ` Jisheng Zhang
2021-03-31 16:28 ` [PATCH v2 7/9] riscv: bpf: Avoid breaking W^X on RV64 Jisheng Zhang
2021-03-31 16:28 ` Jisheng Zhang
2021-03-31 16:29 ` [PATCH v2 8/9] riscv: module: Create module allocations without exec permissions Jisheng Zhang
2021-03-31 16:29 ` Jisheng Zhang
2021-04-02 4:18 ` Anup Patel
2021-04-02 4:18 ` Anup Patel
2021-03-31 16:29 ` [PATCH v2 9/9] riscv: Set ARCH_HAS_STRICT_MODULE_RWX if MMU Jisheng Zhang
2021-03-31 16:29 ` Jisheng Zhang
2021-04-02 4:14 ` Anup Patel
2021-04-02 4:14 ` Anup Patel
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=20210412133711.7b625842@xhacker.debian \
--to=jisheng.zhang@synaptics.com \
--cc=andreyknvl@gmail.com \
--cc=andrii@kernel.org \
--cc=anup@brainfault.org \
--cc=aou@eecs.berkeley.edu \
--cc=ast@kernel.org \
--cc=bjorn@kernel.org \
--cc=bpf@vger.kernel.org \
--cc=daniel@iogearbox.net \
--cc=dvyukov@google.com \
--cc=glider@google.com \
--cc=john.fastabend@gmail.com \
--cc=jszhang3@mail.ustc.edu.cn \
--cc=kasan-dev@googlegroups.com \
--cc=kpsingh@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-riscv@lists.infradead.org \
--cc=luke.r.nels@gmail.com \
--cc=netdev@vger.kernel.org \
--cc=palmer@dabbelt.com \
--cc=paul.walmsley@sifive.com \
--cc=ryabinin.a.a@gmail.com \
--cc=songliubraving@fb.com \
--cc=xi.wang@gmail.com \
--cc=yhs@fb.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.