multiple softdeps

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

 



Hi,

could you please enlighten me about kernel module softdeps?

$ modinfo cifs | grep soft
softdep:        pre: ccm
softdep:        pre: aead2
softdep:        pre: sha512
softdep:        pre: sha256
softdep:        pre: cmac
softdep:        pre: aes
softdep:        pre: nls
softdep:        pre: md5
softdep:        pre: md4
softdep:        pre: hmac
softdep:        pre: ecb
softdep:        pre: des
softdep:        pre: arc4

$ grep cifs /lib/modules/$(uname -r)/modules.softdep
softdep cifs pre: ccm
softdep cifs pre: aead2
softdep cifs pre: sha512
softdep cifs pre: sha256
softdep cifs pre: cmac
softdep cifs pre: aes
softdep cifs pre: nls
softdep cifs pre: md5
softdep cifs pre: md4
softdep cifs pre: hmac
softdep cifs pre: ecb
softdep cifs pre: des
softdep cifs pre: arc4

But, calling kmod_module_get_softdeps() on the cifs module only returns one module in the pre list ("ccm").

Is my understanding about how softdeps work wrong, or is the cifs module misconfigured, or is libkmod buggy?
Please CC me, as I am not subscribed to the mailing list.


softdeps-test.c:

#include <stdio.h>
#include <libkmod.h>
#include <stdlib.h>

int main() {
    int err;
    struct kmod_ctx *ctx = NULL;
    struct kmod_list *list = NULL;
    struct kmod_list *modpre = NULL;
    struct kmod_list *modpost = NULL;
    struct kmod_list *itr, *l;

    ctx = kmod_new(NULL, NULL);

    err = kmod_module_new_from_lookup(ctx, "cifs", &list);
    if (err < 0) {
        perror("kmod_module_new_from_lookup");
        return EXIT_FAILURE;
    }

    kmod_list_foreach(l, list) {
        struct kmod_module *mod = NULL;
        mod = kmod_module_get_module(l);

        kmod_module_get_softdeps(mod, &modpre, &modpost);

        kmod_list_foreach(itr, modpre) {
            struct kmod_module *mod = NULL;
            const char *path = NULL;
            mod = kmod_module_get_module(itr);
            path = kmod_module_get_path(mod);
            puts(path);
        }
    }
}



[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