• Herbert Xu's avatar
    CRYPTO: api: Fix scatterwalk_sg_chain · f69af5c3
    Herbert Xu authored
    [CRYPTO] api: Fix scatterwalk_sg_chain
    
    [ Upstream commit: 8ec970d8
    
     ]
    
    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>
    Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
    
    f69af5c3
scatterwalk.h 3.37 KB