Even though it doesn't make too much sense, it is perfectly legal to: - call .init() and then (as many times) .update() - subseqently _not_ call any of .final(), .finup() or .export() Update documentation since this is an important issue to consider from resource management perspective. Link: https://lkml.kernel.org/r/20180222114741.GA27631@xxxxxxxxxxxxxxxxxxx Signed-off-by: Horia Geantă <horia.geanta@xxxxxxx> --- Documentation/crypto/devel-algos.rst | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/Documentation/crypto/devel-algos.rst b/Documentation/crypto/devel-algos.rst index 66f50d32dcec..0f4617019227 100644 --- a/Documentation/crypto/devel-algos.rst +++ b/Documentation/crypto/devel-algos.rst @@ -236,6 +236,14 @@ when used from another part of the kernel. | '---------------> HASH2 +Note that it is perfectly legal to: +- call .init() and then (as many times) .update() +- subseqently _not_ call any of .final(), .finup() or .export() + +In other words mind the resource allocation and clean-up, +since this basically means no resources can remain allocated +after a call to .init() or .update(). + Specifics Of Asynchronous HASH Transformation ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -- 2.16.2