blob: a63e1ebc003621fc975f0cc88c29259dab43a92e [file] [log] [blame]
Gilles Peskine65b54832025-02-05 20:33:15 +01001Bugfix
2 * Fix failures of PSA multipart or interruptible operations when the
3 library or the application is built with a compiler where
4 "union foo x = {0}" does not initialize non-default members of the
5 union, such as GCC 15 and some versions of Clang 18. This affected MAC
6 multipart operations, MAC-based key derivation operations, interruptible
7 signature, interruptible verification, and potentially other operations
8 when using third-party drivers. This also affected one-shot MAC
9 operations using the built-in implementation. Fixes #9814.
10 * On entry to PSA driver entry points that set up a multipart operation
11 ("xxx_setup"), the operation object is supposed to be all-bits-zero.
12 This was sometimes not the case when an operation object is reused,
13 or with compilers where "union foo x = {0}" does not initialize
14 non-default members of the union. The PSA core now ensures that this
15 guarantee is met in all cases. Fixes #9975.