lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20240730084022.GH33588@noisy.programming.kicks-ass.net>
Date: Tue, 30 Jul 2024 10:40:22 +0200
From: Peter Zijlstra <peterz@...radead.org>
To: Rong Xu <xur@...gle.com>
Cc: Han Shen <shenhan@...gle.com>, Sriraman Tallam <tmsriram@...gle.com>,
	David Li <davidxl@...gle.com>, Jonathan Corbet <corbet@....net>,
	Masahiro Yamada <masahiroy@...nel.org>,
	Nathan Chancellor <nathan@...nel.org>,
	Nicolas Schier <nicolas@...sle.eu>,
	Thomas Gleixner <tglx@...utronix.de>,
	Ingo Molnar <mingo@...hat.com>, Borislav Petkov <bp@...en8.de>,
	Dave Hansen <dave.hansen@...ux.intel.com>, x86@...nel.org,
	"H . Peter Anvin" <hpa@...or.com>, Ard Biesheuvel <ardb@...nel.org>,
	Arnd Bergmann <arnd@...db.de>, Josh Poimboeuf <jpoimboe@...nel.org>,
	Nick Desaulniers <ndesaulniers@...gle.com>,
	Bill Wendling <morbo@...gle.com>,
	Justin Stitt <justinstitt@...gle.com>,
	Vegard Nossum <vegard.nossum@...cle.com>,
	John Moon <john@...on.dev>,
	Andrew Morton <akpm@...ux-foundation.org>,
	Heiko Carstens <hca@...ux.ibm.com>,
	Luis Chamberlain <mcgrof@...nel.org>,
	Samuel Holland <samuel.holland@...ive.com>,
	Mike Rapoport <rppt@...nel.org>,
	"Paul E . McKenney" <paulmck@...nel.org>,
	Rafael Aquini <aquini@...hat.com>, Petr Pavlu <petr.pavlu@...e.com>,
	Eric DeVolder <eric.devolder@...cle.com>,
	Bjorn Helgaas <bhelgaas@...gle.com>,
	Randy Dunlap <rdunlap@...radead.org>,
	Benjamin Segall <bsegall@...gle.com>,
	Breno Leitao <leitao@...ian.org>,
	Wei Yang <richard.weiyang@...il.com>,
	Brian Gerst <brgerst@...il.com>, Juergen Gross <jgross@...e.com>,
	Palmer Dabbelt <palmer@...osinc.com>,
	Alexandre Ghiti <alexghiti@...osinc.com>,
	Kees Cook <kees@...nel.org>,
	Sami Tolvanen <samitolvanen@...gle.com>,
	Xiao Wang <xiao.w.wang@...el.com>,
	Jan Kiszka <jan.kiszka@...mens.com>, linux-doc@...r.kernel.org,
	linux-kernel@...r.kernel.org, linux-kbuild@...r.kernel.org,
	linux-efi@...r.kernel.org, linux-arch@...r.kernel.org,
	llvm@...ts.linux.dev, Krzysztof Pszeniczny <kpszeniczny@...gle.com>
Subject: Re: [PATCH 3/6] Change the symbols order when --ffuntion-sections is
 enabled

On Mon, Jul 29, 2024 at 11:48:54AM -0700, Rong Xu wrote:

> > defined(CONFIG_LTO_CLANG)
> > > +#define TEXT_TEXT                                                    \
> > > +             *(.text.asan.* .text.tsan.*)                            \
> > > +             *(.text.unknown .text.unknown.*)                        \
> > > +             *(.text.unlikely .text.unlikely.*)                      \
> > > +             ALIGN_FUNCTION();                                       \
> >
> > Why leave the above text sections unaligned?
> >
> 
> They are considered cold text. They are not aligned before the change. But
> I have no objections to making it aligned.

At least x86 has hard assumptions about function alignment always being
respected -- see the most horrible games we play with
CONFIG_CALL_THUNKS.

Or is this only text parts and not actual functions in these sections?
In which case we can probably get away with not respecting the function
call alignment, although we should probably still respect the branch
alignment -- but I forgot if we made use of that :/


> >
> > > +             *(.text.hot .text.hot.*)                                \
> > > +             *(TEXT_MAIN .text.fixup)                                \
> > > +             NOINSTR_TEXT                                            \
> > > +             *(.ref.text)                                            \
> > > +     MEM_KEEP(init.text*)
> > > +#else
> > >  #define TEXT_TEXT                                                    \
> > >               ALIGN_FUNCTION();                                       \
> > >               *(.text.hot .text.hot.*)                                \
> > > @@ -594,7 +606,8 @@
> > >               NOINSTR_TEXT                                            \
> > >               *(.ref.text)                                            \
> > >               *(.text.asan.* .text.tsan.*)                            \
> > > -     MEM_KEEP(init.text*)                                            \
> > > +     MEM_KEEP(init.text*)
> > > +#endif
> > >
> > >
> > >  /* sched.text is aling to function alignment to secure we have same
> > > --
> > > 2.46.0.rc1.232.g9752f9e123-goog
> > >
> >

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ