Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit b17ef2ed authored by Steven Rostedt (VMware)'s avatar Steven Rostedt (VMware)
Browse files

jump_label: Add comment about initialization order for anonymous unions



Commit 3821fd35 ("jump_label: Reduce the size of struct static_key")
broke old compilers that could not handle static initialization of anonymous
unions. Boris fixed it with a patch that added brackets around the static
initializer. But this creates a dependency between those initializers and
the structure's order of its fields. Document this dependency in case new
fields are added to struct static_key in the future.

Noted-by: default avatarBoris Ostrovsky <boris.ostrovsky@oracle.com>
Suggested-by: default avatarChris Mason <clm@fb.com>
Signed-off-by: default avatarSteven Rostedt (VMware) <rostedt@goodmis.org>
parent cd8d860d
Loading
Loading
Loading
Loading
+7 −0
Original line number Diff line number Diff line
@@ -90,6 +90,13 @@ extern bool static_key_initialized;
struct static_key {
	atomic_t enabled;
/*
 * Note:
 *   To make anonymous unions work with old compilers, the static
 *   initialization of them requires brackets. This creates a dependency
 *   on the order of the struct with the initializers. If any fields
 *   are added, STATIC_KEY_INIT_TRUE and STATIC_KEY_INIT_FALSE may need
 *   to be modified.
 *
 * bit 0 => 1 if key is initially true
 *	    0 if initially false
 * bit 1 => 1 if points to struct static_key_mod