crypto: doc - clarify hash callbacks state machine
authorHoria Geantă <horia.geanta@nxp.com>
Tue, 20 Mar 2018 07:56:12 +0000 (09:56 +0200)
committerHerbert Xu <herbert@gondor.apana.org.au>
Fri, 30 Mar 2018 17:33:02 +0000 (01:33 +0800)
Add a note that it is perfectly legal to "abandon" a request object:
- call .init() and then (as many times) .update()
- _not_ call any of .final(), .finup() or .export() at any point in
  future

Link: https://lkml.kernel.org/r/20180222114741.GA27631@gondor.apana.org.au
Signed-off-by: Horia Geantă <horia.geanta@nxp.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Documentation/crypto/devel-algos.rst

index 66f50d32dcec9713b39c523e7c243550d2c87159..c45c6f400dbd562de7c6c558a6b01b06a1ec952d 100644 (file)
@@ -236,6 +236,14 @@ when used from another part of the kernel.
                                |
                                '---------------> HASH2
 
+Note that it is perfectly legal to "abandon" a request object:
+- call .init() and then (as many times) .update()
+- _not_ call any of .final(), .finup() or .export() at any point in future
+
+In other words implementations should mind the resource allocation and clean-up.
+No resources related to request objects should remain allocated after a call
+to .init() or .update(), since there might be no chance to free them.
+
 
 Specifics Of Asynchronous HASH Transformation
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~