On Wed, Feb 01, 2023 at 10:53:37AM +0800, Tianjia Zhang wrote: > > while (walk.nbytes != walk.total) { This is still buggy, because we can have walk.nbytes == 0 and walk.nbytes != walk.total. You will enter the loop and call skcipher_walk_done which is not allowed. That is why you should follow the standard calling convention for skcipher walks, always check for walk.nbytes != 0 and not whether the walk returns an error. Cheers, -- Email: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Home Page: http://gondor.apana.org.au/~herbert/ PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt