MD5_BLOCK_SIZE
.base.cra_blocksize = MD5_BLOCK_SIZE,
.base.cra_blocksize = MD5_BLOCK_SIZE,
partial = ctx.bytecount % MD5_BLOCK_SIZE;
u8 buf[MD5_BLOCK_SIZE] __aligned(__alignof__(__le64));
data += MD5_BLOCK_SIZE;
size_t partial = ctx->bytecount % MD5_BLOCK_SIZE;
if (partial + len >= MD5_BLOCK_SIZE) {
size_t l = MD5_BLOCK_SIZE - partial;
nblocks = len / MD5_BLOCK_SIZE;
len %= MD5_BLOCK_SIZE;
data += nblocks * MD5_BLOCK_SIZE;
size_t partial = ctx->bytecount % MD5_BLOCK_SIZE;
if (partial > MD5_BLOCK_SIZE - 8) {
memset(&ctx->buf[partial], 0, MD5_BLOCK_SIZE - partial);
memset(&ctx->buf[partial], 0, MD5_BLOCK_SIZE - 8 - partial);
*(__le64 *)&ctx->buf[MD5_BLOCK_SIZE - 8] = cpu_to_le64(bitcount);
u8 b[MD5_BLOCK_SIZE];
unsigned long w[MD5_BLOCK_SIZE / sizeof(unsigned long)];
if (unlikely(raw_key_len > MD5_BLOCK_SIZE))
ctx->hash_ctx.bytecount = MD5_BLOCK_SIZE;
ctx->hash_ctx.bytecount = MD5_BLOCK_SIZE;
MD5_BLOCK_SIZE - MD5_DIGEST_SIZE);
*(__le64 *)&ctx->hash_ctx.buf[MD5_BLOCK_SIZE - 8] =
cpu_to_le64(8 * (MD5_BLOCK_SIZE + MD5_DIGEST_SIZE));
const u8 data[MD5_BLOCK_SIZE])
memcpy(in, data, MD5_BLOCK_SIZE);
data += MD5_BLOCK_SIZE;