From 65b548386f0ad8c451b04f470a474a74c4045317 Mon Sep 17 00:00:00 2001 From: Gilles Peskine Date: Wed, 5 Feb 2025 20:33:15 +0100 Subject: [PATCH] Changelog entry for the union initialization fixes Signed-off-by: Gilles Peskine --- ChangeLog.d/union-initialization.txt | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 ChangeLog.d/union-initialization.txt diff --git a/ChangeLog.d/union-initialization.txt b/ChangeLog.d/union-initialization.txt new file mode 100644 index 000000000..a63e1ebc0 --- /dev/null +++ b/ChangeLog.d/union-initialization.txt @@ -0,0 +1,15 @@ +Bugfix + * Fix failures of PSA multipart or interruptible operations when the + library or the application is built with a compiler where + "union foo x = {0}" does not initialize non-default members of the + union, such as GCC 15 and some versions of Clang 18. This affected MAC + multipart operations, MAC-based key derivation operations, interruptible + signature, interruptible verification, and potentially other operations + when using third-party drivers. This also affected one-shot MAC + operations using the built-in implementation. Fixes #9814. + * On entry to PSA driver entry points that set up a multipart operation + ("xxx_setup"), the operation object is supposed to be all-bits-zero. + This was sometimes not the case when an operation object is reused, + or with compilers where "union foo x = {0}" does not initialize + non-default members of the union. The PSA core now ensures that this + guarantee is met in all cases. Fixes #9975.