From: Quentin Perret <qperret@google.com>
To: Jessica Yu <jeyu@kernel.org>
Cc: masahiroy@kernel.org, nico@fluxnic.net,
linux-kernel@vger.kernel.org, linux-kbuild@vger.kernel.org,
maennich@google.com, kernel-team@android.com
Subject: Re: [PATCH v2] kbuild: allow symbol whitelisting with TRIM_UNUSED_KSYMS
Date: Thu, 6 Feb 2020 16:17:25 +0000 [thread overview]
Message-ID: <20200206161725.GA235676@google.com> (raw)
In-Reply-To: <20200206155651.GC16783@linux-8ccs>
Hi Jessica,
On Thursday 06 Feb 2020 at 16:56:51 (+0100), Jessica Yu wrote:
> +++ Quentin Perret [29/01/20 18:15 +0000]:
> > +config UNUSED_KSYMS_WHITELIST
> > + string "Whitelist of symbols to keep in ksymtab"
> > + depends on TRIM_UNUSED_KSYMS
> > + help
> > + By default, all unused exported symbols will be trimmed from the
> > + build when TRIM_UNUSED_KSYMS is selected.
>
> Hm, I thought TRIM_UNUSED_KSYMS just *unexports* unused symbols, no?
Right.
> "Trimmed from the build" sounds like the symbols are not compiled in
> or dropped completely. Please correct me if I misunderstood.
Good point. I tried to re-use the wording from the help text of
TRIM_UNUSED_KSYMS ("This option allows for unused exported symbols
to be dropped from the build"), but I agree this is a bit confusing.
I'll re-write the help text in v3.
>
> > + UNUSED_KSYMS_WHITELIST allows to whitelist symbols that must be kept
> > + exported at all times, even in absence of in-tree users. The value to
> > + set here is the path to a text file containing the list of symbols,
> > + one per line.
> > +
> > endif # MODULES
> >
> > config MODULES_TREE_LOOKUP
> > diff --git a/scripts/adjust_autoksyms.sh b/scripts/adjust_autoksyms.sh
> > index a904bf1f5e67..8e1b7f70e800 100755
> > --- a/scripts/adjust_autoksyms.sh
> > +++ b/scripts/adjust_autoksyms.sh
> > @@ -48,6 +48,7 @@ cat > "$new_ksyms_file" << EOT
> > EOT
> > sed 's/ko$/mod/' modules.order |
> > xargs -n1 sed -n -e '2{s/ /\n/g;/^$/!p;}' -- |
> > +cat - "${CONFIG_UNUSED_KSYMS_WHITELIST:-/dev/null}" |
> > sort -u |
> > sed -e 's/\(.*\)/#define __KSYM_\1 1/' >> "$new_ksyms_file"
>
> In general, I agree with the motivation behind this patch, even though
> we try not to provide too much support for out-of-tree modules.
> However, in this particular case, I think it's fair to provide some
> mechanism to keep some exported symbols around that we know will have
> users, despite having no in-tree users for a particular
> configuration/build. For example, livepatch exports symbols that have
> no in-tree users (except for the sample livepatch module, but you'd
> have to enable SAMPLES), and all livepatch users will always be out of
> tree.
>
> I also agree with Matthias' feedback, so assuming that gets
> incorporated into v3:
>
> Acked-by: Jessica Yu <jeyu@kernel.org>
Thanks for the review!
Quentin
prev parent reply other threads:[~2020-02-06 16:17 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-01-29 18:15 [PATCH v2] kbuild: allow symbol whitelisting with TRIM_UNUSED_KSYMS Quentin Perret
2020-01-29 18:29 ` Nicolas Pitre
2020-01-31 13:15 ` Matthias Maennich
2020-01-31 17:40 ` Quentin Perret
2020-02-04 14:44 ` Matthias Maennich
2020-02-05 11:53 ` Quentin Perret
2020-02-06 15:56 ` Jessica Yu
2020-02-06 16:12 ` Nicolas Pitre
2020-02-06 16:17 ` Quentin Perret [this message]
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=20200206161725.GA235676@google.com \
--to=qperret@google.com \
--cc=jeyu@kernel.org \
--cc=kernel-team@android.com \
--cc=linux-kbuild@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=maennich@google.com \
--cc=masahiroy@kernel.org \
--cc=nico@fluxnic.net \
/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.