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: <CAK7LNAQy79ZHS0d000XQzC-trRPhOUBFnWsGm03yG0cQAs-rXA@mail.gmail.com>
Date:   Sat, 19 Aug 2023 20:25:52 +0900
From:   Masahiro Yamada <masahiroy@...nel.org>
To:     Michal Suchánek <msuchanek@...e.de>
Cc:     linux-modules@...r.kernel.org, Takashi Iwai <tiwai@...e.com>,
        Lucas De Marchi <lucas.de.marchi@...il.com>,
        Michal Koutný <mkoutny@...e.com>,
        Jiri Slaby <jslaby@...e.com>, Jan Engelhardt <jengelh@...i.de>,
        Nathan Chancellor <nathan@...nel.org>,
        Nick Desaulniers <ndesaulniers@...gle.com>,
        Nicolas Schier <nicolas@...sle.eu>,
        linux-kbuild@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH kmod v5 0/5] kmod /usr support

On Fri, Aug 18, 2023 at 12:15 PM Michal Suchánek <msuchanek@...e.de> wrote:
>
> Hello,
>
> On Tue, Jul 18, 2023 at 02:01:51PM +0200, Michal Suchanek wrote:
> > Hello,
> >
> > with these patches it is possible to install kernel modules in an arbitrary
> > directory - eg. moving the /lib/modules to /usr/lib/modules or /opt/linux.
> >
> > While the modprobe.d and depmod.d search which already includes multiple
> > paths is expanded to also include $(prefix) the module directory still
> > supports only one location, only a different one under $(module_directory).
> >
> > Having kmod search multiple module locations while only one is supported now
> > might break some assumption about relative module path corresponding to a
> > specific file, would require more invasive changes to implement, and is not
> > supportive of the goal of moving the modules away from /lib.
> >
> > Both kmod and the kernel need to be patched to make use of this feature.
> > Patched kernel is backwards compatible with older kmod.  Patched kmod
> > with $(module_directory) set to /lib/modules is equivalent to unpatched kmod.
>
> The patch to kernel to support autodetection of module directory is
> rejected. However, a workaround like
>
> make MODLIB='$(INSTALL_MOD_PATH)/usr/lib/modules/$(KERNELRELEASE)'
>
> is suggested.
>
> Can you consider inluding the kmod changes?


Hi.

I have a question about your original patch
for the Kbuild change.

In your patch, Kbuild runs 'kmod config' or
'pkg-config --variable=module_directory kmod',
then sets the returned string to MODLIB.


If kmod is configured to use /usr/lib/modules,
/opt/modules, or whatever,
should we change the installation path of the debug
vdso accordingly?

Currently, the debug vdso is always installed
to /lib/modules/$(KERNELRELEASE)/vdso/.

However, modules and vdso are unrelated to each other.
kmod does not care about vdso.


The following commits started to install debug vdso.

Commit 8150caad0226 ("[POWERPC] powerpc vDSO: install unstripped
copies on disk")
Commit f79eb83b3af4 ("x86: Install unstripped copy of 64bit vdso to disk")


I do not know why they chose $(MODLIB)/vdso as the install destination.


I am thinking of split the variable into two:
MODLIB -  installation path for modules
VDSOLIB - installation path for debug vdso (not affected by kmod config)

I think that is the way to do this correctly.









>
> Thanks
>
> Michal
>
> >
> > Thanks
> >
> > Michal
> >
> > Link: https://lore.kernel.org/linux-modules/20210112160211.5614-1-msuchanek@suse.de/
> >
> > v4: set whole path to module directory instead of adding prefix
> > v5: use pkg-config instead of jq, fix build on openssl without sm3 support
> >
> >
> > Michal Suchanek (5):
> >   configure: Detect openssl sm3 support
> >   man/depmod.d: Fix incorrect /usr/lib search path
> >   libkmod, depmod: Load modprobe.d, depmod.d from ${prefix}/lib.
> >   kmod: Add pkgconfig file with kmod compile time configuration
> >   libkmod, depmod, modprobe: Make directory for kernel modules
> >     configurable
> >
> >  Makefile.am                          |   6 +-
> >  configure.ac                         |  30 ++++++++
> >  libkmod/libkmod.c                    |  11 +--
> >  man/Makefile.am                      |  10 ++-
> >  man/depmod.d.xml                     |   9 ++-
> >  man/depmod.xml                       |   4 +-
> >  man/modinfo.xml                      |   2 +-
> >  man/modprobe.d.xml                   |   1 +
> >  man/modprobe.xml                     |   2 +-
> >  man/modules.dep.xml                  |   6 +-
> >  testsuite/module-playground/Makefile |   2 +-
> >  testsuite/setup-rootfs.sh            | 109 +++++++++++++++------------
> >  testsuite/test-depmod.c              |  16 ++--
> >  testsuite/test-testsuite.c           |   8 +-
> >  tools/depmod.c                       |   7 +-
> >  tools/kmod.pc.in                     |  10 +++
> >  tools/modinfo.c                      |   4 +-
> >  tools/modprobe.c                     |   4 +-
> >  tools/static-nodes.c                 |   6 +-
> >  19 files changed, 156 insertions(+), 91 deletions(-)
> >  create mode 100644 tools/kmod.pc.in
> >
> > --
> > 2.41.0
> >



--
Best Regards


Masahiro Yamada

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ