In this stanza: extern void loop_compute_sector_iv(sector_t, u_int32_t *); EXPORT_SYMBOL(loop_compute_sector_iv); extern void loop_compute_md5_iv_v3(sector_t, u_int32_t *, u_int32_t *); EXPORT_SYMBOL(loop_compute_md5_iv_v3); extern void loop_compute_md5_iv(sector_t, u_int32_t *, u_int32_t *); EXPORT_SYMBOL(loop_compute_md5_iv); extern void md5_transform_CPUbyteorder(u_int32_t *, u_int32_t const *); EXPORT_SYMBOL(md5_transform_CPUbyteorder); extern void md5_transform_CPUbyteorder_C(u_int32_t *, u_int32_t const *); EXPORT_SYMBOL(md5_transform_CPUbyteorder_C); Isn't it more standard if the EXPORT_SYMBOL appear next to the function definition? Why would they be exported? Who uses them other than the loopAES module? marty - Linux-crypto: cryptography in and on the Linux system Archive: http://mail.nl.linux.org/linux-crypto/