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-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <aIeUA6ZeFqx-tboP@example.org>
Date: Mon, 28 Jul 2025 17:15:15 +0200
From: Alexey Gladkov <legion@...nel.org>
To: Alexander Gordeev <agordeev@...ux.ibm.com>
Cc: Masahiro Yamada <masahiroy@...nel.org>,
	Petr Pavlu <petr.pavlu@...e.com>,
	Luis Chamberlain <mcgrof@...nel.org>,
	Sami Tolvanen <samitolvanen@...gle.com>,
	Daniel Gomez <da.gomez@...sung.com>,
	Nathan Chancellor <nathan@...nel.org>,
	Nicolas Schier <nicolas.schier@...ux.dev>,
	linux-kernel@...r.kernel.org, linux-modules@...r.kernel.org,
	linux-kbuild@...r.kernel.org
Subject: Re: [PATCH v5 03/10] kbuild: keep .modinfo section in
 vmlinux.unstripped

On Mon, Jul 28, 2025 at 03:57:53PM +0200, Alexander Gordeev wrote:
> On Thu, Jul 24, 2025 at 03:49:40PM +0200, Alexey Gladkov wrote:
> 
> Hi Alexey, Masahiro,
> 
> > From: Masahiro Yamada <masahiroy@...nel.org>
> > 
> > Keep the .modinfo section during linking, but strip it from the final
> > vmlinux.
> > 
> > Adjust scripts/mksysmap to exclude modinfo symbols from kallsyms.
> > 
> > This change will allow the next commit to extract the .modinfo section
> > from the vmlinux.unstripped intermediate.
> > 
> > Signed-off-by: Masahiro Yamada <masahiroy@...nel.org>
> > ---
> >  include/asm-generic/vmlinux.lds.h | 2 +-
> >  scripts/Makefile.vmlinux          | 2 +-
> >  scripts/mksysmap                  | 3 +++
> >  3 files changed, 5 insertions(+), 2 deletions(-)
> > 
> > diff --git a/include/asm-generic/vmlinux.lds.h b/include/asm-generic/vmlinux.lds.h
> > index fa5f19b8d53a..1791665006f9 100644
> > --- a/include/asm-generic/vmlinux.lds.h
> > +++ b/include/asm-generic/vmlinux.lds.h
> > @@ -831,6 +831,7 @@ defined(CONFIG_AUTOFDO_CLANG) || defined(CONFIG_PROPELLER_CLANG)
> >  
> >  /* Required sections not related to debugging. */
> >  #define ELF_DETAILS							\
> > +		.modinfo : { *(.modinfo) }				\
> 
> FWIW, to me .modinfo logically does not quite belong to ELF_DETAILS,
> since it is not about ELF.

The macro name ELF_DETAILS is rather unfortunate. The description says
that these sections are not related to debugging.

> I would guess, that you want to make a minimal code impact to the
> linker scripts, but with that you turn .modinfo the only section
> among ones that do not make it to the final image:
> 
> 	STABS_DEBUG
> 	DWARF_DEBUG
> 	ELF_DETAILS
> 
> That immediately breaks s390, but also is a call for trouble in
> the future, as far as I am concerned.
> 
> Would it makes sense to introduce e.g MODINFO instead?

This will require patching all architectures to add MODINFO. This will
have a significant code impact. To avoid this, .modinfo was added to
ELF_DETAILS.

> >  		.comment 0 : { *(.comment) }				\
> >  		.symtab 0 : { *(.symtab) }				\
> >  		.strtab 0 : { *(.strtab) }				\
> > @@ -1044,7 +1045,6 @@ defined(CONFIG_AUTOFDO_CLANG) || defined(CONFIG_PROPELLER_CLANG)
> >  	*(.discard.*)							\
> >  	*(.export_symbol)						\
> >  	*(.no_trim_symbol)						\
> > -	*(.modinfo)							\
> >  	/* ld.bfd warns about .gnu.version* even when not emitted */	\
> >  	*(.gnu.version*)						\
> 
> Thanks!
> 

-- 
Rgrds, legion


Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ