On Wed, Jan 18, 2012 at 6:39 AM, Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> wrote: > Francis Moreau <francis.moro@xxxxxxxxx> wrote: >> Hello, >> >> I'm wondering how this scenario is supposed to work: let's say a >> module A uses 'crc32c' function in lib/libcrc32c.c. In its turn this >> function calls crypto_shash_update() which is exported by >> crypto/shash.c. But now no module implementing "crc32c" has still been >> loaded although crc32c.ko is available. Therefore the initial load of >> module A fails although all required modules by the system are >> present. >> >> If the above is correct, how should it be handled ? > > We'd need to adjust the init priority of libcrc32c and whatever > it depends on. Could you give me some details beacause I don't see how that would work... Currently we have this : libcrc32c -> shash where '->' means depend on. However I think we should have this: libcrc32c -> shash -> crc32c, to get all modules properly loaded when using libcrc32c. But it seems not possible because of the way shash is doing the load of its backends dynamically: it requires that the backend has already been registered. > > What is the user in question? btrfs Thanks. -- Francis -- To unsubscribe from this list: send the line "unsubscribe linux-crypto" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html