linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Nick Alcock <nick.alcock@oracle.com>
To: Luis Chamberlain <mcgrof@kernel.org>
Cc: jeyu@kernel.org, masahiroy@kernel.org,
	linux-modules@vger.kernel.org, linux-kernel@vger.kernel.org,
	arnd@arndb.de, akpm@linux-foundation.org, eugene.loh@oracle.com,
	kris.van.hees@oracle.com
Subject: Re: [PING PATCH v7] kallsyms: new /proc/kallmodsyms with builtin modules
Date: Wed, 12 Jan 2022 16:59:45 +0000	[thread overview]
Message-ID: <878rvk7uv2.fsf@esperi.org.uk> (raw)
In-Reply-To: <Yd8CDJA0dy0VaXrB@bombadil.infradead.org> (Luis Chamberlain's message of "Wed, 12 Jan 2022 08:30:04 -0800")

On 12 Jan 2022, Luis Chamberlain stated:

> On Thu, Dec 16, 2021 at 08:19:12PM +0000, Nick Alcock wrote:
>> /proc/kallsyms is very useful for tracers and other tools that need to
>> map kernel symbols to addresses.
>> 
>> It would be useful
>
> It took me digging on archives to see to *who* this is useful to.
> The short answer seeme to be dtrace. Can you work on getting use
> of this for something (I don't know, maybe kernelshark?) that does
> not taint the kernel? Last I checked using dtrace on linux taints the
> kernel.

It hasn't tainted the kernel for at least four years :) v1 (with a
kernel module) has been GPLv2 since 2017; v2 is pure-BPF and has no
DTrace-specific kernel modules, just using some new things we have to
add to the kernel, most of which seem plausibly useful to others too
(kallmodsyms, waitfd pro tem until pidfd supports ptracers, and CTF).

This is not a DTrace-specific feature in any case: all my submissions
have noted that it seems likely to be useful to anyone who wants a
stable reference to modules that doesn't change whenever the kernel
config changes, which probably means most tracers with support for
kernel modules which implement anything like a programming language.

> Without valid upstream users I see no need to add more complexity to the
> kernel. And complexity added by tainting modules or not upstream modules

We don't need any of those any more :) Even CTF is now generated by GCC
(once GCC 12 is released) and deduplicated by GNU ld: the CTF patch will
be only a few hundred lines long once GCC 12 is out and I drop the
DWARF->CTF translator.

> Without a valid non-taining user being made very clear with a value-add,
> I will have to ignore this.

I hope this gives you a reason to not ignore it! Have some links:

DTrace v1 (maintenance mode, fairly hefty GPL kernel module, UPL
userspace; fully-functional including fbt, kernel side will shrink):

  https://github.com/oracle/dtrace-linux-kernel v1/5.15
  https://github.com/oracle/dtrace-utils 1.x-branch-dev

DTrace v2 based on BPF, in progress, some features still missing (UPL
userspace and a few GPL kernel patches, including this one: needs a BPF
cross-compiler, which is a new GCC 12 target):

  https://github.com/oracle/dtrace-linux-kernel v2/5.14.9
  https://github.com/oracle/dtrace-utils 2.0-branch

(I'm going to respin all of these kernel branches against 5.17-rc once
the merge window closes, and bring the things both kernel trees have in
common into sync. I'll drop you a line once that's done.)

Config-wise both of these need kernels with CONFIG_KALLMODSYMS,
CONFIG_WAITFD and CONFIG_CTF turned on, and a kernel built with a 'make
ctf' done after 'make', and the kernel source tree available when DTrace
proper is built.

-- 
NULL && (void)

  reply	other threads:[~2022-01-12 17:00 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-12-16 20:19 [PING PATCH v7] kallsyms: new /proc/kallmodsyms with builtin modules Nick Alcock
2021-12-16 20:19 ` [PATCH v7 1/7] kbuild: bring back tristate.conf Nick Alcock
2021-12-16 20:19 ` [PATCH v7 2/7] kbuild: add modules_thick.builtin Nick Alcock
2021-12-16 20:19 ` [PATCH v7 3/7] kbuild: generate an address ranges map at vmlinux link time Nick Alcock
2021-12-16 20:19 ` [PATCH v7 4/7] kallsyms: introduce sections needed to map symbols to built-in modules Nick Alcock
2021-12-16 20:19 ` [PATCH v7 5/7] kallsyms: optimize .kallsyms_modules* Nick Alcock
2021-12-16 20:19 ` [PATCH v7 6/7] kallsyms: add /proc/kallmodsyms Nick Alcock
2021-12-16 20:19 ` [PATCH v7 7/7] kallsyms: add reliable symbol size info Nick Alcock
2021-12-19 14:05   ` [kallsyms] a42fff4e29: leaking-addresses.proc.kallmodsyms.0T_stext kernel test robot
2022-01-12 16:30 ` [PING PATCH v7] kallsyms: new /proc/kallmodsyms with builtin modules Luis Chamberlain
2022-01-12 16:59   ` Nick Alcock [this message]
2022-02-02  3:09     ` Luis Chamberlain
2022-02-02  3:39       ` Kris Van Hees
2022-02-02 18:10       ` Daniel Xu
2022-02-03 14:11         ` Nick Alcock
2022-02-02 18:37       ` Jiri Olsa

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=878rvk7uv2.fsf@esperi.org.uk \
    --to=nick.alcock@oracle.com \
    --cc=akpm@linux-foundation.org \
    --cc=arnd@arndb.de \
    --cc=eugene.loh@oracle.com \
    --cc=jeyu@kernel.org \
    --cc=kris.van.hees@oracle.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-modules@vger.kernel.org \
    --cc=masahiroy@kernel.org \
    --cc=mcgrof@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).