lp://staging/kmod

Created by Registry Administrators and last modified
Get this branch:
bzr branch lp://staging/kmod

Related bugs

Related blueprints

Branch information

Owner:
Registry Administrators
Project:
kmod
Status:
Development

Import details

Import Status: Suspended

This branch is an import of the HEAD branch of the Git repository at git://git.kernel.org/pub/scm/utils/kernel/kmod/kmod.git.

Last successful import was .

Import started on juju-98ee42-prod-launchpad-codeimport-0 and finished taking 10 seconds — see the log
Import started on juju-98ee42-prod-launchpad-codeimport-4 and finished taking 15 seconds — see the log
Import started on juju-98ee42-prod-launchpad-codeimport-1 and finished taking 15 seconds — see the log
Import started on juju-98ee42-prod-launchpad-codeimport-1 and finished taking 10 seconds — see the log
Import started on juju-98ee42-prod-launchpad-codeimport-1 and finished taking 15 seconds — see the log
Import started on juju-98ee42-prod-launchpad-codeimport-0 and finished taking 10 seconds — see the log
Import started on juju-98ee42-prod-launchpad-codeimport-0 and finished taking 10 seconds — see the log
Import started on juju-98ee42-prod-launchpad-codeimport-3 and finished taking 20 seconds — see the log
Import started on juju-98ee42-prod-launchpad-codeimport-1 and finished taking 4 seconds — see the log
Import started on juju-98ee42-prod-launchpad-codeimport-2 and finished taking 15 seconds — see the log

Recent revisions

1311. By Michal Suchanek

kmod: Add pkgconfig file with kmod compile time configuration

Show distconfdir (where system configuration files are searched/to be
installed), sysconfdir (where user configuration files are searched),
module compressions, and module signatures supported.

Signed-off-by: Michal Suchanek <email address hidden>
Link: https://lore.kernel.org/r/468b3f572d3b84f25bb53ec8fcb15ed4871914d4<email address hidden>
Signed-off-by: Lucas De Marchi <email address hidden>

1310. By Michal Suchanek

libkmod, depmod: Load modprobe.d, depmod.d from ${prefix}/lib.

There is an ongoing effort to limit use of files outside of /usr (or
${prefix} on general). Currently all modprobe.d paths are hardcoded to
outside of $prefix. Teach kmod to load modprobe.d from ${prefix}/lib.

On some distributions /usr/lib and /lib are the same directory because
of a compatibility symlink, and it is possible to craft configuration
files with sideeffects that would behave differently when loaded twice.
However, the override semantic ensures that one 'overrides' the other,
and only one configuration file of the same name is loaded from any of
the search directories.

Signed-off-by: Michal Suchanek <email address hidden>
Link: https://lore.kernel.org/r/a290343ce32e2a3c25b134e4f27c13b26e06c9e0<email address hidden>
Signed-off-by: Lucas De Marchi <email address hidden>

1309. By Michal Suchanek

man/depmod.d: Fix incorrect /usr/lib search path

depmod searches /lib/depmod.d but the man page says /usr/lib/depmod.d is
searched. Align the documentation with the code.

Signed-off-by: Michal Suchanek <email address hidden>
Link: https://lore.kernel.org/r/9c5a6356b1a111eb6e17ddb110494b7f1d1b44c0<email address hidden>
Signed-off-by: Lucas De Marchi <email address hidden>

1308. By Michal Suchanek

configure: Detect openssl sm3 support

Older openssl versions do not support sm3. The code has an option to
disable the sm3 hash but the lack of openssl support is not detected
automatically.

Signed-off-by: Michal Suchanek <email address hidden>
Link: https://lore.kernel.org/r/b97e20faa07e9e31c6eaf96683011aa24e80760c<email address hidden>
Signed-off-by: Lucas De Marchi <email address hidden>

1307. By Lucas De Marchi

kmod 31

1306. By Emil Velikov <email address hidden>

libkmod: add fallback MODULE_INIT_COMPRESSED_FILE define

The symbol was somewhat recently introduced by the kernel and not all
distributions may be have available.

The number is part of the ABI, so we can add a local fallback define.

Closes: https://github.com/kmod-project/kmod/issues/29
Signed-off-by: Emil Velikov <email address hidden>
Signed-off-by: Lucas De Marchi <email address hidden>

1305. By Lucas De Marchi

libkmod: Use kernel decompression when available

With the recent changes to bypass loading the file it's possible to
reduce the work in userspace and delegating it to the kernel. Without
any compression to illustrate:

Before:
 read(3, "\177ELF\2\1", 6) = 6
 lseek(3, 0, SEEK_SET) = 0
 newfstatat(3, "", {st_mode=S_IFREG|0644, st_size=238592, ...}, AT_EMPTY_PATH) = 0
 mmap(NULL, 238592, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7fd85cbd1000
 finit_module(3, "", 0) = 0
 munmap(0x7fd85cbd1000, 238592) = 0
 close(3) = 0

After:
 read(3, "\177ELF\2\1", 6) = 6
 lseek(3, 0, SEEK_SET) = 0
 finit_module(3, "", 0) = 0
 close(3) = 0

When using kernel compression now it's also possible to direct libkmod
to take the finit_module() path, avoiding the decompression in userspace
and just delegating it to the kernel.

Before:
 read(3, "(\265/\375\244\0", 6) = 6
 lseek(3, 0, SEEK_SET) = 0
 read(3, "(\265/\375\244", 5) = 5
 mmap(NULL, 135168, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f3fa431e000
 read(3, "\0\244\3\0\\y\6", 7) = 7
 mmap(NULL, 372736, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f3fa414f000
 brk(0x55944c6a1000) = 0x55944c6a1000
 read(3, "\356|\6G\27U\20 \312\260s\211\335\333\263\326\330\336\273O\211\356\306K\360Z\341\374U6\342\221"..., 53038) = 53038
 mremap(0x7f3fa431e000, 135168, 266240, MREMAP_MAYMOVE) = 0x7f3fa410e000
 read(3, ",;\3\nqf\311\362\325\211\7\341\375A\355\221\371L\\\5\7\375 \32\246<(\258=K\304"..., 20851) = 20851
 mremap(0x7f3fa410e000, 266240, 397312, MREMAP_MAYMOVE) = 0x7f3fa40ad000
 read(3, ")\36\250\213", 4) = 4
 read(3, "", 4) = 0
 munmap(0x7f3fa414f000, 372736) = 0
 init_module(0x7f3fa40ad010, 238592, "") = 0
 munmap(0x7f3fa40ad000, 397312) = 0
 close(3) = 0

After:
 read(3, "(\265/\375\244P", 6) = 6
 lseek(3, 0, SEEK_SET) = 0
 finit_module(3, "", 0x4 /* MODULE_INIT_??? */) = 0
 close(3) = 0

Signed-off-by: Lucas De Marchi <email address hidden>

1304. By Lucas De Marchi

libkmod: Keep track of in-kernel compression support

When creating the context, read /sys/kernel/compression to check what's
the compression type supported by the kernel. This will later be used
when loading modules to check if the decompression step has to happen in
userspace or if it can be delegated to the kernel.

Reviewed-by: Luis Chamberlain <email address hidden>
Signed-off-by: Lucas De Marchi <email address hidden>

1303. By Lucas De Marchi

libkmod: Keep track of compression type

Do not only set the type as direct, but also keep track of the
compression being used. This will allow using the in-kernel compression
in future.

Reviewed-by: Luis Chamberlain <email address hidden>
Signed-off-by: Lucas De Marchi <email address hidden>

1302. By Lucas De Marchi

libkmod: Extract finit_module vs init_module paths

Extract 2 functions to handle finit_module vs init_modules differences,
with a fallback from the former to the latter.

Reviewed-by: Luis Chamberlain <email address hidden>
Signed-off-by: Lucas De Marchi <email address hidden>

Branch metadata

Branch format:
Branch format 7
Repository format:
Bazaar repository format 2a (needs bzr 1.16 or later)
This branch contains Public information 
Everyone can see this information.