Skip to content

Commit c0afb6b

Browse files
committed
crypto: rk3288 - Fix use after free in unprepare
The unprepare call must be carried out before the finalize call as the latter can free the request. Fixes: c66c17a ("crypto: rk3288 - Remove prepare/unprepare request") Reported-by: Andrey Skvortsov <andrej.skvortzov@gmail.com> Cc: <stable@vger.kernel.org> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au> Reviewed-by: Andrey Skvortsov <andrej.skvortzov@gmail.com> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
1 parent 1834200 commit c0afb6b

1 file changed

Lines changed: 2 additions & 2 deletions

File tree

drivers/crypto/rockchip/rk3288_crypto_ahash.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -332,12 +332,12 @@ static int rk_hash_run(struct crypto_engine *engine, void *breq)
332332
theend:
333333
pm_runtime_put_autosuspend(rkc->dev);
334334

335+
rk_hash_unprepare(engine, breq);
336+
335337
local_bh_disable();
336338
crypto_finalize_hash_request(engine, breq, err);
337339
local_bh_enable();
338340

339-
rk_hash_unprepare(engine, breq);
340-
341341
return 0;
342342
}
343343

0 commit comments

Comments
 (0)