• Antoine Tenart's avatar
    crypto: inside-secure - do not rely on the hardware last bit for result descriptors · 89332590
    Antoine Tenart authored
    When performing a transformation the hardware is given result
    descriptors to save the result data. Those result descriptors are
    batched using a 'first' and a 'last' bit. There are cases were more
    descriptors than needed are given to the engine, leading to the engine
    only using some of them, and not setting the last bit on the last
    descriptor we gave. This causes issues were the driver and the hardware
    aren't in sync anymore about the number of result descriptors given (as
    the driver do not give a pool of descriptor to use for any
    transformation, but a pool of descriptors to use *per* transformation).
    
    This patch fixes it by attaching the number of given result descriptors
    to the requests, and by using this number instead of the 'last' bit
    found on the descriptors to process them.
    Signed-off-by: default avatarAntoine Tenart <antoine.tenart@bootlin.com>
    Signed-off-by: default avatarHerbert Xu <herbert@gondor.apana.org.au>
    89332590
safexcel_cipher.c 37.6 KB