• Horia Geanta's avatar
    crypto: talitos - fix icv management on outbound direction · 60542505
    Horia Geanta authored
    For IPsec encryption, in the case when:
    -the input buffer is fragmented (edesc->src_nents > 0)
    -the output buffer is not fragmented (edesc->dst_nents = 0)
    the ICV is not output in the link table, but after the encrypted payload.
    
    Copying the ICV must be avoided in this case; consequently the condition
    edesc->dma_len > 0 must be more specific, i.e. must depend on the type
    of the output buffer - fragmented or not.
    
    Testing was performed by modifying testmgr to support src != dst,
    since currently native kernel IPsec does in-place encryption
    (src == dst).
    Signed-off-by: default avatarHoria Geanta <horia.geanta@freescale.com>
    Signed-off-by: default avatarHerbert Xu <herbert@gondor.apana.org.au>
    60542505
talitos.c 77.5 KB