Re: [PATCH] libkmod: Always search modules.builtin if no alias has been found

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, May 4, 2021 at 5:17 PM Peter Kjellerstedt <pkj@xxxxxxxx> wrote:
>
> Commit 89443220e broke the lookup for builtin modules. modules.builtin
> was no longer searched if kmod_lookup_alias_from_kernel_builtin_file()
> returned 0.
>
> Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@xxxxxxxx>
> ---
>
> I do not know if this is the correct thing to do, or if the commit
> message makes any sense. However, it solves the problem we were seeing.
> We use fuse, which installs /etc/modules-load.d/fuse.conf to load the
> fuse kernel module. However, we have fuse built-in. Normally, the
> following can be seen in the log:
>
>   systemd-modules-load[192]: Module 'fuse' is built in
>
> but after commit 89443220e, we instead got:
>
>   systemd-modules-load[193]: Failed to find module 'fuse'
>
> //Peter
>
>  libkmod/libkmod-module.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/libkmod/libkmod-module.c b/libkmod/libkmod-module.c
> index 76a6dc3..6720930 100644
> --- a/libkmod/libkmod-module.c
> +++ b/libkmod/libkmod-module.c
> @@ -577,7 +577,7 @@ KMOD_EXPORT int kmod_module_new_from_lookup(struct kmod_ctx *ctx,
>
>         DBG(ctx, "lookup modules.builtin.modinfo %s\n", alias);
>         err = kmod_lookup_alias_from_kernel_builtin_file(ctx, alias, list);
> -       if (err == -ENOSYS) {
> +       if (err == 0 || err == -ENOSYS) {

So in your case you do have modules.builtin.modinfo, but fuse doesn't
show up there. On the other hand it is listed in modules.builtin.
Does modules.builtin.info contain anything or is it an empty file?

It seems to me something else is broken:  all modules in
modules.builtin should be in modules.builtin.modinfo as well. What is
the result of the following commands?

grep fuse /lib/modules/$(uname -r)/modules.builtin
grep fuse /lib/modules/$(uname -r)/modules.builtin.modinfo

thanks
Lucas De Marchi

>                 /* Optional index missing, try the old one */
>                 DBG(ctx, "lookup modules.builtin %s\n", alias);
>                 err = kmod_lookup_alias_from_builtin_file(ctx, alias, list);



[Index of Archives]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Big List of Linux Books]

  Powered by Linux