Hi Lee,

> -----Original Message-----
> From: Daly, Lee
> Sent: Tuesday, July 31, 2018 12:09 PM
> To: De Lara Guarch, Pablo <pablo.de.lara.gua...@intel.com>
> Cc: dev@dpdk.org; Daly, Lee <lee.d...@intel.com>
> Subject: [PATCH] compress/isal: fixes offset check
> 
> This commit fixes an offset check in decompression which was checking
> destination offset size against dst data_len rather than checking against dst
> pkt_len as required.
> 
> Fixes:788e748d3845 ("compress/isal: support chained mbufs")
> 
> Signed-off-by: Lee Daly <lee.d...@intel.com>
> ---
>  drivers/compress/isal/isal_compress_pmd.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/compress/isal/isal_compress_pmd.c
> b/drivers/compress/isal/isal_compress_pmd.c
> index e75f48d..aef56e3 100644
> --- a/drivers/compress/isal/isal_compress_pmd.c
> +++ b/drivers/compress/isal/isal_compress_pmd.c
> @@ -483,7 +483,7 @@ process_isal_inflate(struct rte_comp_op *op, struct
> isal_comp_qp *qp)
>               return -1;
>       }
> 
> -     if (op->dst.offset > op->m_dst->data_len) {
> +     if (op->dst.offset > op->m_dst->pkt_len) {

Actually, I think you should check if offset is higher or EQUAL to pktlen (>=).
This applies to the isal_deflate function too.
 
>               ISAL_PMD_LOG(ERR, "Output mbuf not big enough for length
> and "
>                               "offset provided.\n");

I think message should say that mbuf is not big enough for the offset provided,
as length is not passed like in the input mbufs.

>               op->status = RTE_COMP_OP_STATUS_INVALID_ARGS;
> --
> 2.7.4

Thanks,
Pablo

Reply via email to