Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date: Wed, 9 Dec 2020 18:51:34 +0100
From: Arnd Bergmann <>
To: Sami Tolvanen <>
Cc: Masahiro Yamada <>, Steven Rostedt <>, 
	Will Deacon <>, Josh Poimboeuf <>, 
	Peter Zijlstra <>, Greg Kroah-Hartman <>, 
	"Paul E. McKenney" <>, Kees Cook <>, 
	Nick Desaulniers <>, 
	clang-built-linux <>, 
	Kernel Hardening <>, 
	linux-arch <>, 
	Linux ARM <>, 
	Linux Kbuild mailing list <>, 
	"" <>, linux-pci <>
Subject: Re: [PATCH v8 00/16] Add support for Clang LTO

On Wed, Dec 9, 2020 at 5:25 PM 'Sami Tolvanen' via Clang Built Linux
<> wrote:
> On Wed, Dec 9, 2020 at 4:36 AM Arnd Bergmann <> wrote:
> >
> > On Tue, Dec 8, 2020 at 1:15 PM Arnd Bergmann <> wrote:
> >
> >
> > It seems to happen because of CONFIG_TRIM_UNUSED_KSYMS,
> > which is a shame, since I think that is an option we'd always want to
> > have enabled with LTO, to allow more dead code to be eliminated.
> Ah yes, this is a known issue. We use TRIM_UNUSED_KSYMS with LTO in
> Android's Generic Kernel Image and the problem is that bitcode doesn't
> yet contain calls to these functions, so autoksyms won't see them. The
> solution is to use a symbol whitelist with LTO to prevent these from
> being trimmed. I suspect we would need a default whitelist for LTO
> builds.

A built-in allowlist sounds good to me. FWIW, in the randconfigs so far, I only
saw five symbols that would need to be on it:

memcpy(), memmove(), memset(), __stack_chk_fail() and __stack_chk_guard


Powered by blists - more mailing lists

Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.