From: Jarkko Sakkinen <jarkko.sakkinen@linux.intel.com>
To: Russell King - ARM Linux admin <linux@armlinux.org.uk>
Cc: Catalin Marinas <catalin.marinas@arm.com>,
Kefeng Wang <wangkefeng.wang@huawei.com>,
Paul Mackerras <paulus@samba.org>, Zong Li <zong.li@sifive.com>,
Andi Kleen <ak@linux.intel.com>,
Paul Burton <paulburton@kernel.org>,
Michael Ellerman <mpe@ellerman.id.au>,
Vincent Whitchurch <vincent.whitchurch@axis.com>,
Benjamin Herrenschmidt <benh@kernel.crashing.org>,
Petr Mladek <pmladek@suse.com>, Brian Gerst <brgerst@gmail.com>,
Andy Lutomirski <luto@kernel.org>, Yonghong Song <yhs@fb.com>,
Thomas Gleixner <tglx@linutronix.de>,
Jiri Kosina <jkosina@suse.cz>, Anup Patel <anup.patel@wdc.com>,
linux-kernel@vger.kernel.org, Philipp Rudo <prudo@linux.ibm.com>,
Torsten Duwe <duwe@lst.de>,
Masami Hiramatsu <mhiramat@kernel.org>,
Andrew Morton <akpm@linux-foundation.org>,
Mark Rutland <mark.rutland@arm.com>,
"James E.J. Bottomley" <James.Bottomley@HansenPartnership.com>,
Vincent Chen <deanbo422@gmail.com>,
"open list:S390" <linux-s390@vger.kernel.org>,
Joe Lawrence <joe.lawrence@redhat.com>,
Helge Deller <deller@gmx.de>,
John Fastabend <john.fastabend@gmail.com>,
Anil S Keshavamurthy <anil.s.keshavamurthy@intel.com>,
Andrey Ryabinin <aryabinin@virtuozzo.com>,
Iurii Zaikin <yzaikin@google.com>,
Andrii Nakryiko <andriin@fb.com>,
Vasily Gorbik <gor@linux.ibm.com>,
"moderated list:ARM PORT" <linux-arm-kernel@lists.infradead.org>,
Daniel Axtens <dja@axtens.net>,
Damien Le Moal <damien.lemoal@wdc.com>,
Peter Oberparleiter <oberpar@linux.ibm.com>,
Sean Christopherson <sean.j.christopherson@intel.com>,
Martin KaFai Lau <kafai@fb.com>, Song Liu <songliubraving@fb.com>,
Paul Walmsley <paul.walmsley@sifive.com>,
Heiko Carstens <heiko.carstens@de.ibm.com>,
Alexei Starovoitov <ast@kernel.org>,
Atish Patra <atish.patra@wdc.com>, Will Deacon <will@kernel.org>,
Daniel Borkmann <daniel@iogearbox.net>,
Masahiro Yamada <masahiroy@kernel.org>,
Nayna Jain <nayna@linux.ibm.com>,
Ley Foon Tan <ley.foon.tan@intel.com>,
Christian Borntraeger <borntraeger@de.ibm.com>,
Dmitry Vyukov <dvyukov@google.com>,
Sami Tolvanen <samitolvanen@google.com>,
"Naveen N. Rao" <naveen.n.rao@linux.ibm.com>,
Mao Han <han_mao@c-sky.com>, Marco Elver <elver@google.com>,
Steven Rostedt <rostedt@goodmis.org>,
Babu Moger <Babu.Moger@amd.com>, Borislav Petkov <bp@alien8.de>,
Greentime Hu <green.hu@gmail.com>,
Ben Dooks <ben-linux@fluff.org>, Guan Xuetao <gxt@pku.edu.cn>,
Thomas Bogendoerfer <tsbogend@alpha.franken.de>,
"open list:PARISC ARCHITECTURE" <linux-parisc@vger.kernel.org>,
Jessica Yu <jeyu@kernel.org>,
"open list:BPF JIT for MIPS \(32-BIT AND 64-BIT\)"
<bpf@vger.kernel.org>, "David S. Miller" <davem@davemloft.net>,
Thiago Jung Bauermann <bauerman@linux.ibm.com>,
Peter Zijlstra <peterz@infradead.org>,
"open list:SPARC + UltraSPARC \(sparc/sparc64\)"
<sparclinux@vger.kernel.org>,
Sandipan Das <sandipan@linux.ibm.com>,
"H. Peter Anvin" <hpa@zytor.com>,
Amit Daniel Kachhap <amit.kachhap@arm.com>,
Tiezhu Yang <yangtiezhu@loongson.cn>,
Miroslav Benes <mbenes@suse.cz>, Jiri Olsa <jolsa@redhat.com>,
Ard Biesheuvel <ardb@kernel.org>,
Vincenzo Frascino <vincenzo.frascino@arm.com>,
Anders Roxell <anders.roxell@linaro.org>,
Sven Schnelle <svens@stackframe.org>,
"maintainer:X86 ARCHITECTURE \(32-BIT AND 64-BIT\)"
<x86@kernel.org>,
"open list:RISC-V ARCHITECTURE" <linux-riscv@lists.infradead.org>,
Mike Rapoport <rppt@linux.ibm.com>,
Ingo Molnar <mingo@redhat.com>, Albert Ou <aou@eecs.berkeley.edu>,
"Paul E. McKenney" <paulmck@kernel.org>,
Josh Poimboeuf <jpoimboe@redhat.com>,
KP Singh <kpsingh@chromium.org>,
Gerald Schaefer <gerald.schaefer@de.ibm.com>,
Nick Hu <nickhu@andestech.com>,
"open list:BPF JIT for MIPS \(32-BIT AND 64-BIT\)"
<netdev@vger.kernel.org>,
"open list:MIPS" <linux-mips@vger.kernel.org>,
Sergey Senozhatsky <sergey.senozhatsky@gmail.com>,
Palmer Dabbelt <palmer@dabbelt.com>,
"open list:LINUX FOR POWERPC \(32-BIT AND 64-BIT\)"
<linuxppc-dev@lists.ozlabs.org>
Subject: Re: [PATCH 1/3] module: Rename module_alloc() to text_alloc() and move to kernel proper
Date: Tue, 14 Jul 2020 14:43:09 +0300 [thread overview]
Message-ID: <20200714114309.GB1463346@linux.intel.com> (raw)
In-Reply-To: <20200714095346.GA1551@shell.armlinux.org.uk>
On Tue, Jul 14, 2020 at 10:53:46AM +0100, Russell King - ARM Linux admin wrote:
> On Tue, Jul 14, 2020 at 12:49:28PM +0300, Jarkko Sakkinen wrote:
> > On Mon, Jul 13, 2020 at 07:34:10PM +0100, Russell King - ARM Linux admin wrote:
> > > On Mon, Jul 13, 2020 at 09:19:37PM +0300, Jarkko Sakkinen wrote:
> > > > Rename module_alloc() to text_alloc() and module_memfree() to
> > > > text_memfree(), and move them to kernel/text.c, which is unconditionally
> > > > compiled to the kernel proper. This allows kprobes, ftrace and bpf to
> > > > allocate space for executable code without requiring to compile the modules
> > > > support (CONFIG_MODULES=y) in.
> > >
> > > I'm not sure this is a good idea for 32-bit ARM. The code you are
> > > moving for 32-bit ARM is quite specific to module use in that it also
> > > supports allocating from the vmalloc area, where the module code
> > > knows to add PLT entries.
> > >
> > > If the other proposed users of this text_alloc() do not have the logic
> > > to add PLT entries when branches between kernel code and this
> > > allocation are not reachable by, e.g. a 26-bit signed offset for 32-bit
> > > ARM code, then this code is not suitable for that use.
> >
> > My intention is to use this in kprobes code in the place of
> > module_alloc(). I'm not sure why moving this code out of the module
> > subsystem could possibly break anything. Unfortunately I forgot to add
> > covere letter to my series. Sending v2 with that to explain my use case
> > for this.
>
> Ah, so you're merely renaming module_alloc() to text_alloc() everywhere?
> It sounded from the initial patch like you were also converting other
> users to use module_alloc().
Yes, exactly. I'm making the allocators unconditionally part of the
kernel proper.
My application for this is test kernels. I never compile anything as
modules when I test a release.
Also, I could imagine that especially in small scale embedded devices,
it could be sometimes useful to be able to have tracing support w/o
module support.
/Jarkko
_______________________________________________
linux-riscv mailing list
linux-riscv@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-riscv
WARNING: multiple messages have this Message-ID (diff)
From: Jarkko Sakkinen <jarkko.sakkinen@linux.intel.com>
To: Russell King - ARM Linux admin <linux@armlinux.org.uk>
Cc: Catalin Marinas <catalin.marinas@arm.com>,
Kefeng Wang <wangkefeng.wang@huawei.com>,
Paul Mackerras <paulus@samba.org>, Zong Li <zong.li@sifive.com>,
Andi Kleen <ak@linux.intel.com>,
Paul Burton <paulburton@kernel.org>,
Vincent Whitchurch <vincent.whitchurch@axis.com>,
Petr Mladek <pmladek@suse.com>, Brian Gerst <brgerst@gmail.com>,
Andy Lutomirski <luto@kernel.org>, Yonghong Song <yhs@fb.com>,
Thomas Gleixner <tglx@linutronix.de>,
Jiri Kosina <jkosina@suse.cz>, Anup Patel <anup.patel@wdc.com>,
linux-kernel@vger.kernel.org, Philipp Rudo <prudo@linux.ibm.com>,
Torsten Duwe <duwe@lst.de>,
Masami Hiramatsu <mhiramat@kernel.org>,
Andrew Morton <akpm@linux-foundation.org>,
Mark Rutland <mark.rutland@arm.com>,
"James E.J. Bottomley" <James.Bottomley@HansenPartnership.com>,
Vincent Chen <deanbo422@gmail.com>,
"open list:S390" <linux-s390@vger.kernel.org>,
Joe Lawrence <joe.lawrence@redhat.com>,
Helge Deller <deller@gmx.de>,
John Fastabend <john.fastabend@gmail.com>,
Anil S Keshavamurthy <anil.s.keshavamurthy@intel.com>,
Andrey Ryabinin <aryabinin@virtuozzo.com>,
Iurii Zaikin <yzaikin@google.com>,
Andrii Nakryiko <andriin@fb.com>,
Vasily Gorbik <gor@linux.ibm.com>,
"moderated list:ARM PORT" <linux-arm-kernel@lists.infradead.org>,
Daniel Axtens <dja@axtens.net>,
Damien Le Moal <damien.lemoal@wdc.com>,
Peter Oberparleiter <oberpar@linux.ibm.com>,
Sean Christopherson <sean.j.christopherson@intel.com>,
Martin KaFai Lau <kafai@fb.com>, Song Liu <songliubraving@fb.com>,
Paul Walmsley <paul.walmsley@sifive.com>,
Heiko Carstens <heiko.carstens@de.ibm.com>,
Alexei Starovoitov <ast@kernel.org>,
Atish Patra <atish.patra@wdc.com>, Will Deacon <will@kernel.org>,
Daniel Borkmann <daniel@iogearbox.net>,
Masahiro Yamada <masahiroy@kernel.org>,
Nayna Jain <nayna@linux.ibm.com>,
Ley Foon Tan <ley.foon.tan@intel.com>,
Christian Borntraeger <borntraeger@de.ibm.com>,
Dmitry Vyukov <dvyukov@google.com>,
Sami Tolvanen <samitolvanen@google.com>,
"Naveen N. Rao" <naveen.n.rao@linux.ibm.com>,
Mao Han <han_mao@c-sky.com>, Marco Elver <elver@google.com>,
Steven Rostedt <rostedt@goodmis.org>,
Babu Moger <Babu.Moger@amd.com>, Borislav Petkov <bp@alien8.de>,
Greentime Hu <green.hu@gmail.com>,
Ben Dooks <ben-linux@fluff.org>, Guan Xuetao <gxt@pku.edu.cn>,
Thomas Bogendoerfer <tsbogend@alpha.franken.de>,
"open list:PARISC ARCHITECTURE" <linux-parisc@vger.kernel.org>,
Jessica Yu <jeyu@kernel.org>,
"open list:BPF JIT for MIPS \(32-BIT AND 64-BIT\)"
<bpf@vger.kernel.org>, "David S. Miller" <davem@davemloft.net>,
Thiago Jung Bauermann <bauerman@linux.ibm.com>,
Peter Zijlstra <peterz@infradead.org>,
"open list:SPARC + UltraSPARC \(sparc/sparc64\)"
<sparclinux@vger.kernel.org>,
Sandipan Das <sandipan@linux.ibm.com>,
"H. Peter Anvin" <hpa@zytor.com>,
Amit Daniel Kachhap <amit.kachhap@arm.com>,
Tiezhu Yang <yangtiezhu@loongson.cn>,
Miroslav Benes <mbenes@suse.cz>, Jiri Olsa <jolsa@redhat.com>,
Ard Biesheuvel <ardb@kernel.org>,
Vincenzo Frascino <vincenzo.frascino@arm.com>,
Anders Roxell <anders.roxell@linaro.org>,
Sven Schnelle <svens@stackframe.org>,
"maintainer:X86 ARCHITECTURE \(32-BIT AND 64-BIT\)"
<x86@kernel.org>,
"open list:RISC-V ARCHITECTURE" <linux-riscv@lists.infradead.org>,
Mike Rapoport <rppt@linux.ibm.com>,
Ingo Molnar <mingo@redhat.com>, Albert Ou <aou@eecs.berkeley.edu>,
"Paul E. McKenney" <paulmck@kernel.org>,
Josh Poimboeuf <jpoimboe@redhat.com>,
KP Singh <kpsingh@chromium.org>,
Gerald Schaefer <gerald.schaefer@de.ibm.com>,
Nick Hu <nickhu@andestech.com>,
"open list:BPF JIT for MIPS \(32-BIT AND 64-BIT\)"
<netdev@vger.kernel.org>,
"open list:MIPS" <linux-mips@vger.kernel.org>,
Sergey Senozhatsky <sergey.senozhatsky@gmail.com>,
Palmer Dabbelt <palmer@dabbelt.com>,
"open list:LINUX FOR POWERPC \(32-BIT AND 64-BIT\)"
<linuxppc-dev@lists.ozlabs.org>
Subject: Re: [PATCH 1/3] module: Rename module_alloc() to text_alloc() and move to kernel proper
Date: Tue, 14 Jul 2020 14:43:09 +0300 [thread overview]
Message-ID: <20200714114309.GB1463346@linux.intel.com> (raw)
In-Reply-To: <20200714095346.GA1551@shell.armlinux.org.uk>
On Tue, Jul 14, 2020 at 10:53:46AM +0100, Russell King - ARM Linux admin wrote:
> On Tue, Jul 14, 2020 at 12:49:28PM +0300, Jarkko Sakkinen wrote:
> > On Mon, Jul 13, 2020 at 07:34:10PM +0100, Russell King - ARM Linux admin wrote:
> > > On Mon, Jul 13, 2020 at 09:19:37PM +0300, Jarkko Sakkinen wrote:
> > > > Rename module_alloc() to text_alloc() and module_memfree() to
> > > > text_memfree(), and move them to kernel/text.c, which is unconditionally
> > > > compiled to the kernel proper. This allows kprobes, ftrace and bpf to
> > > > allocate space for executable code without requiring to compile the modules
> > > > support (CONFIG_MODULES=y) in.
> > >
> > > I'm not sure this is a good idea for 32-bit ARM. The code you are
> > > moving for 32-bit ARM is quite specific to module use in that it also
> > > supports allocating from the vmalloc area, where the module code
> > > knows to add PLT entries.
> > >
> > > If the other proposed users of this text_alloc() do not have the logic
> > > to add PLT entries when branches between kernel code and this
> > > allocation are not reachable by, e.g. a 26-bit signed offset for 32-bit
> > > ARM code, then this code is not suitable for that use.
> >
> > My intention is to use this in kprobes code in the place of
> > module_alloc(). I'm not sure why moving this code out of the module
> > subsystem could possibly break anything. Unfortunately I forgot to add
> > covere letter to my series. Sending v2 with that to explain my use case
> > for this.
>
> Ah, so you're merely renaming module_alloc() to text_alloc() everywhere?
> It sounded from the initial patch like you were also converting other
> users to use module_alloc().
Yes, exactly. I'm making the allocators unconditionally part of the
kernel proper.
My application for this is test kernels. I never compile anything as
modules when I test a release.
Also, I could imagine that especially in small scale embedded devices,
it could be sometimes useful to be able to have tracing support w/o
module support.
/Jarkko
next prev parent reply other threads:[~2020-07-14 11:43 UTC|newest]
Thread overview: 30+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-07-13 18:19 [PATCH 1/3] module: Rename module_alloc() to text_alloc() and move to kernel proper Jarkko Sakkinen
2020-07-13 18:19 ` Jarkko Sakkinen
2020-07-13 18:19 ` [PATCH 2/3] module: Add lock_modules() and unlock_modules() Jarkko Sakkinen
2020-07-13 18:19 ` [PATCH 3/3] kprobes: Flag out CONFIG_MODULES dependent code Jarkko Sakkinen
2020-07-13 18:34 ` [PATCH 1/3] module: Rename module_alloc() to text_alloc() and move to kernel proper Russell King - ARM Linux admin
2020-07-13 18:34 ` Russell King - ARM Linux admin
2020-07-14 9:49 ` Jarkko Sakkinen
2020-07-14 9:49 ` Jarkko Sakkinen
2020-07-14 9:53 ` Russell King - ARM Linux admin
2020-07-14 9:53 ` Russell King - ARM Linux admin
2020-07-14 11:43 ` Jarkko Sakkinen [this message]
2020-07-14 11:43 ` Jarkko Sakkinen
2020-07-13 19:49 ` Ard Biesheuvel
2020-07-13 19:49 ` Ard Biesheuvel
2020-07-14 2:04 ` Steven Rostedt
2020-07-14 2:04 ` Steven Rostedt
2020-07-14 6:35 ` Ard Biesheuvel
2020-07-14 6:35 ` Ard Biesheuvel
2020-07-14 9:52 ` Jarkko Sakkinen
2020-07-14 9:52 ` Jarkko Sakkinen
2020-07-14 10:17 ` Ard Biesheuvel
2020-07-14 10:17 ` Ard Biesheuvel
2020-07-14 10:33 ` Russell King - ARM Linux admin
2020-07-14 10:33 ` Russell King - ARM Linux admin
2020-07-14 11:45 ` Peter Zijlstra
2020-07-14 11:45 ` Peter Zijlstra
2020-07-14 12:11 ` Jarkko Sakkinen
2020-07-14 12:11 ` Jarkko Sakkinen
2020-07-14 11:55 ` Jarkko Sakkinen
2020-07-14 11:55 ` 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=20200714114309.GB1463346@linux.intel.com \
--to=jarkko.sakkinen@linux.intel.com \
--cc=Babu.Moger@amd.com \
--cc=James.Bottomley@HansenPartnership.com \
--cc=ak@linux.intel.com \
--cc=akpm@linux-foundation.org \
--cc=amit.kachhap@arm.com \
--cc=anders.roxell@linaro.org \
--cc=andriin@fb.com \
--cc=anil.s.keshavamurthy@intel.com \
--cc=anup.patel@wdc.com \
--cc=aou@eecs.berkeley.edu \
--cc=ardb@kernel.org \
--cc=aryabinin@virtuozzo.com \
--cc=ast@kernel.org \
--cc=atish.patra@wdc.com \
--cc=bauerman@linux.ibm.com \
--cc=ben-linux@fluff.org \
--cc=benh@kernel.crashing.org \
--cc=borntraeger@de.ibm.com \
--cc=bp@alien8.de \
--cc=bpf@vger.kernel.org \
--cc=brgerst@gmail.com \
--cc=catalin.marinas@arm.com \
--cc=damien.lemoal@wdc.com \
--cc=daniel@iogearbox.net \
--cc=davem@davemloft.net \
--cc=deanbo422@gmail.com \
--cc=deller@gmx.de \
--cc=dja@axtens.net \
--cc=duwe@lst.de \
--cc=dvyukov@google.com \
--cc=elver@google.com \
--cc=gerald.schaefer@de.ibm.com \
--cc=gor@linux.ibm.com \
--cc=green.hu@gmail.com \
--cc=gxt@pku.edu.cn \
--cc=han_mao@c-sky.com \
--cc=heiko.carstens@de.ibm.com \
--cc=hpa@zytor.com \
--cc=jeyu@kernel.org \
--cc=jkosina@suse.cz \
--cc=joe.lawrence@redhat.com \
--cc=john.fastabend@gmail.com \
--cc=jolsa@redhat.com \
--cc=jpoimboe@redhat.com \
--cc=kafai@fb.com \
--cc=kpsingh@chromium.org \
--cc=ley.foon.tan@intel.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mips@vger.kernel.org \
--cc=linux-parisc@vger.kernel.org \
--cc=linux-riscv@lists.infradead.org \
--cc=linux-s390@vger.kernel.org \
--cc=linux@armlinux.org.uk \
--cc=linuxppc-dev@lists.ozlabs.org \
--cc=luto@kernel.org \
--cc=mark.rutland@arm.com \
--cc=masahiroy@kernel.org \
--cc=mbenes@suse.cz \
--cc=mhiramat@kernel.org \
--cc=mingo@redhat.com \
--cc=mpe@ellerman.id.au \
--cc=naveen.n.rao@linux.ibm.com \
--cc=nayna@linux.ibm.com \
--cc=netdev@vger.kernel.org \
--cc=nickhu@andestech.com \
--cc=oberpar@linux.ibm.com \
--cc=palmer@dabbelt.com \
--cc=paul.walmsley@sifive.com \
--cc=paulburton@kernel.org \
--cc=paulmck@kernel.org \
--cc=paulus@samba.org \
--cc=peterz@infradead.org \
--cc=pmladek@suse.com \
--cc=prudo@linux.ibm.com \
--cc=rostedt@goodmis.org \
--cc=rppt@linux.ibm.com \
--cc=samitolvanen@google.com \
--cc=sandipan@linux.ibm.com \
--cc=sean.j.christopherson@intel.com \
--cc=sergey.senozhatsky@gmail.com \
--cc=songliubraving@fb.com \
--cc=sparclinux@vger.kernel.org \
--cc=svens@stackframe.org \
--cc=tglx@linutronix.de \
--cc=tsbogend@alpha.franken.de \
--cc=vincent.whitchurch@axis.com \
--cc=vincenzo.frascino@arm.com \
--cc=wangkefeng.wang@huawei.com \
--cc=will@kernel.org \
--cc=x86@kernel.org \
--cc=yangtiezhu@loongson.cn \
--cc=yhs@fb.com \
--cc=yzaikin@google.com \
--cc=zong.li@sifive.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.