SM3_BLOCK_SIZE
.base.cra_blocksize = SM3_BLOCK_SIZE,
.blocksize = SM3_BLOCK_SIZE,
req->block_sz = SM3_BLOCK_SIZE;
.cra_blocksize = SM3_BLOCK_SIZE,
req->len = SM3_BLOCK_SIZE;
req->processed = SM3_BLOCK_SIZE;
req->block_sz = SM3_BLOCK_SIZE;
.cra_blocksize = SM3_BLOCK_SIZE,
.cra_blocksize = SM3_BLOCK_SIZE,
.cra_blocksize = SM3_BLOCK_SIZE,
.cra_blocksize = SM3_BLOCK_SIZE,
.cra_blocksize = SM3_BLOCK_SIZE,
u8 buf[SM3_BLOCK_SIZE] __aligned(__alignof__(__be64));
data += SM3_BLOCK_SIZE;
size_t partial = ctx->bytecount % SM3_BLOCK_SIZE;
if (partial + len >= SM3_BLOCK_SIZE) {
size_t l = SM3_BLOCK_SIZE - partial;
nblocks = len / SM3_BLOCK_SIZE;
len %= SM3_BLOCK_SIZE;
data += nblocks * SM3_BLOCK_SIZE;
size_t partial = ctx->bytecount % SM3_BLOCK_SIZE;
if (partial > SM3_BLOCK_SIZE - 8) {
memset(&ctx->buf[partial], 0, SM3_BLOCK_SIZE - partial);
memset(&ctx->buf[partial], 0, SM3_BLOCK_SIZE - 8 - partial);
*(__be64 *)&ctx->buf[SM3_BLOCK_SIZE - 8] = cpu_to_be64(bitcount);
const u8 data[SM3_BLOCK_SIZE], u32 W[16])