From: Chenghai Huang <huangchenghai2@huawei.com> All LZ77 algorithms need to clear the literal length in the context to avoid coupling of literal data between data segments in the stream mode. Signed-off-by: Chenghai Huang <huangchenghai2@huawei.com> --- drv/hisi_comp.c | 7 +++---- v1/drv/hisi_zip_udrv.c | 7 +++---- 2 files changed, 6 insertions(+), 8 deletions(-) diff --git a/drv/hisi_comp.c b/drv/hisi_comp.c index a6b2947..eaa8153 100644 --- a/drv/hisi_comp.c +++ b/drv/hisi_comp.c @@ -961,11 +961,10 @@ static int fill_buf_lz77_zstd(handle_t h_qp, struct hisi_zip_sqe *sqe, else memcpy(msg->ctx_buf + CTX_REPCODE2_OFFSET, msg->ctx_buf + CTX_REPCODE1_OFFSET, REPCODE_SIZE); - - /* The literal length info of each bd needs to be cleared. */ - memset(ctx_buf + CTX_HW_REPCODE_OFFSET + REPCODE_SIZE, 0, - SEQ_LIT_LEN_SIZE); } + /* The literal length info of each bd needs to be cleared. */ + memset(ctx_buf + CTX_HW_REPCODE_OFFSET + REPCODE_SIZE, 0, + SEQ_LIT_LEN_SIZE); } fill_buf_size_lz77_zstd(sqe, in_size, lits_size, seq_avail_out); diff --git a/v1/drv/hisi_zip_udrv.c b/v1/drv/hisi_zip_udrv.c index 903df1c..6e2c8d4 100644 --- a/v1/drv/hisi_zip_udrv.c +++ b/v1/drv/hisi_zip_udrv.c @@ -705,11 +705,10 @@ static void fill_zip_sqe_hw_info_lz77_zstd(void *ssqe, struct wcrypto_comp_msg * else memcpy(msg->ctx_buf + CTX_REPCODE2_OFFSET, msg->ctx_buf + CTX_REPCODE1_OFFSET, REPCODE_SIZE); - - /* The literal length info of each bd needs to be cleared. */ - memset(msg->ctx_buf + CTX_HW_REPCODE_OFFSET + CTX_BUFFER_OFFSET + - REPCODE_SIZE, 0, SEQ_LIT_LEN_SIZE); } + /* The literal length info of each bd needs to be cleared. */ + memset(msg->ctx_buf + CTX_HW_REPCODE_OFFSET + CTX_BUFFER_OFFSET + + REPCODE_SIZE, 0, SEQ_LIT_LEN_SIZE); } sqe->isize = msg->isize; -- 2.33.0