• Herbert Xu's avatar
    [CRYPTO] api: Fix scatterwalk_sg_chain · 8ec970d8
    Herbert Xu authored
    When I backed out of using the generic sg chaining (as it isn't currently
    portable) and introduced scatterwalk_sg_chain/scatterwalk_sg_next I left
    out the sg_is_last check in the latter.  This causes it to potentially
    dereference beyond the end of the sg array.
    
    As most uses of scatterwalk_sg_next are bound by an overall length, this
    only affected the chaining code in authenc and eseqiv. Thanks to Patrick
    McHardy for identifying this problem.
    
    This patch also clears the "last" bit on the head of the chained list as
    it's no longer last.  This also went missing in scatterwalk_sg_chain and
    is present in sg_chain.
    Signed-off-by: default avatarHerbert Xu <herbert@gondor.apana.org.au>
    8ec970d8
scatterwalk.h 3.37 KB