Files
xemu/include/qemu
Stefan Hajnoczi c653b67d18 include/qemu/compiler: add QEMU_UNINITIALIZED attribute macro
The QEMU_UNINITIALIZED macro is to be used to skip the default compiler
variable initialization done by -ftrivial-auto-var-init=zero.

Use this in cases where there a method in the device I/O path (or other
important hot paths), that has large variables on the stack. A rule of
thumb is that "large" means a method with 4kb data in the local stack
frame. Any variables which are KB in size, should be annotated with this
attribute, to pre-emptively eliminate any potential overhead from the
compiler zero'ing memory.

Given that this turns off a security hardening feature, when using this
to flag variables, it is important that the code is double-checked to
ensure there is no possible use of uninitialized data in the method.

Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
Message-id: 20250610123709.835102-2-berrange@redhat.com
[DB: split off patch & rewrite guidance on when to use the annotation]
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
2025-06-12 13:39:07 -04:00
..
2025-02-18 07:33:42 -08:00
…
…
2025-04-23 15:04:57 -07:00
2023-12-19 19:03:38 +01:00
2023-09-15 13:57:00 +00:00
2023-05-23 15:20:15 +08:00
…
2025-03-04 14:45:34 +01:00
…
2024-09-20 10:00:27 +03:00
2024-09-13 20:11:13 +02:00
…
2025-06-06 14:32:55 +02:00
…
2022-12-20 17:09:41 -08:00
2025-03-10 17:07:16 +08:00
…
2025-04-08 15:00:01 +02:00
…
2023-04-24 11:29:00 +02:00
…
…
2025-01-17 10:45:38 +00:00
…
…
2024-01-30 21:20:20 +03:00
…
…
2024-10-22 11:44:23 +01:00
2023-04-27 16:39:43 +02:00
…
2025-06-06 14:32:55 +02:00
…
…
…