[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20250411105849.GA5600@noisy.programming.kicks-ass.net>
Date: Fri, 11 Apr 2025 12:58:49 +0200
From: Peter Zijlstra <peterz@...radead.org>
To: Arnd Bergmann <arnd@...db.de>
Cc: Josh Poimboeuf <jpoimboe@...nel.org>, Arnd Bergmann <arnd@...nel.org>,
Masahiro Yamada <masahiroy@...nel.org>, Rae Moar <rmoar@...gle.com>,
Shuah Khan <skhan@...uxfoundation.org>,
Sergio González Collado <sergio.collado@...il.com>,
David Gow <davidgow@...gle.com>,
Nathan Chancellor <nathan@...nel.org>,
Nicolas Schier <nicolas.schier@...ux.dev>,
Mostafa Saleh <smostafa@...gle.com>, linux-kbuild@...r.kernel.org,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH] scripts/mksysmap: skip objtool __pfx_ symbols
On Fri, Apr 11, 2025 at 09:47:51AM +0200, Arnd Bergmann wrote:
> On Fri, Apr 11, 2025, at 08:50, Peter Zijlstra wrote:
> > On Tue, Apr 08, 2025 at 06:58:49PM -0700, Josh Poimboeuf wrote:
> >> On Fri, Mar 28, 2025 at 11:48:19AM +0100, Arnd Bergmann wrote:
> >>
> >> For example, FineIBT writes code in the __pfx area which can trigger an
> >> #UD. And we'd want a sane backtrace for that.
> >
> > On top of that, clang kcfi builds do a similar thing, they will generate
> > __cfi_ prefixed symbols.
> >
> > And yes, those symbols exist for a reason, there is code there under
> > various circumstances and backtraces look really weird without these
> > symbols on -- notably the code in the prefix will be attributed to
> > whatever symbol comes before, most confusing.
> >
> > So yeah, don't remove these symbols, and fix the kunit test.
>
> kallsyms already removes some CFI symbol names based on regular
> expressions:
>
> # CFI type identifiers
> / __kcfi_typeid_/d
> / __kvm_nvhe___kcfi_typeid_/d
> / __pi___kcfi_typeid_/d
>
> Do you think it should not remove some of them?
Those are typeid symbols, those are fine to remove.
> I ran into another problem with generated symbols that I don't
> understand yet, and added this line to avoid the build failures:
>
> / _GLOBAL__sub_/d
>
> This one is 534 characters long:
> _GLOBAL__sub_I_65535_1_snnnng1h2i3j4k5l6m7ng1h2i3j4k5l6m7nng1h2i3j4k5l6m7ng1h2i3j4k5l6m7nnng1h2i3j4k5l6m7ng1h2i3j4k5l6m7nng1h2i3j4k5l6m7ng1h2i3j4k5l6m7nnnng1h2i3j4k5l6m7ng1h2i3j4k5l6m7nng1h2i3j4k5l6m7ng1h2i3j4k5l6m7nnng1h2i3j4k5l6m7ng1h2i3j4k5l6m7nng1h2i3j4k5l6m7ng1h2i3j4k5l6m7nnnnng1h2i3j4k5l6m7ng1h2i3j4k5l6m7nng1h2i3j4k5l6m7ng1h2i3j4k5l6m7nnng1h2i3j4k5l6m7ng1h2i3j4k5l6m7nng1h2i3j4k5l6m7ng1h2i3j4k5l6m7nnnng1h2i3j4k5l6m7ng1h2i3j4k5l6m7nng1h2i3j4k5l6m7ng1h2i3j4k5l6m7nnng1h2i3j4k5l6m7ng1h2i3j4k5l6m7nng1h2i3j4k5l6m7ng1h2i3j4k5l6m7n
I've not seen those before; google seems to suggest this is part of
static initializers.
Powered by blists - more mailing lists