If crypto-vmx gets built-in (which the latest debian kernel configs in git do, at least when you build them against 4.17.2) but you don't build-in ghash/cbc/ctr/etc, you end up with dmesg lines like: [ 3.704126] Failed to allocate transformation for 'cbc(aes)': -2 [ 3.704172] alg: skcipher: Failed to load transform for p8_aes_cbc: -2 [ 3.706542] Failed to allocate transformation for 'ctr(aes)': -2 [ 3.706605] alg: skcipher: Failed to load transform for p8_aes_ctr: -2 [ 3.714095] Failed to allocate transformation for 'ghash-generic': -2 [ 3.714162] alg: hash: Failed to load transform for p8_ghash: -2 (which I assume are a failure to load the fallback driver) and as a result are never able to use aes-cbc/aes-ctr/ghash as crypto_alg_lookup will fail the crypto_is_larval check and return ELIBBAD. When they're all built-in everything seems to work fine.