mirror of
https://github.com/tbsdtv/linux_media.git
synced 2025-07-23 12:43:29 +02:00
latent_entropy: Mark functions with __latent_entropy
The __latent_entropy gcc attribute can be used only on functions and variables. If it is on a function then the plugin will instrument it for gathering control-flow entropy. If the attribute is on a variable then the plugin will initialize it with random contents. The variable must be an integer, an integer array type or a structure with integer fields. These specific functions have been selected because they are init functions (to help gather boot-time entropy), are called at unpredictable times, or they have variable loops, each of which provide some level of latent entropy. Signed-off-by: Emese Revfy <re.emese@gmail.com> [kees: expanded commit message] Signed-off-by: Kees Cook <keescook@chromium.org>
This commit is contained in:
@@ -39,7 +39,7 @@
|
||||
|
||||
/* These are for everybody (although not all archs will actually
|
||||
discard it in modules) */
|
||||
#define __init __section(.init.text) __cold notrace
|
||||
#define __init __section(.init.text) __cold notrace __latent_entropy
|
||||
#define __initdata __section(.init.data)
|
||||
#define __initconst __constsection(.init.rodata)
|
||||
#define __exitdata __section(.exit.data)
|
||||
@@ -86,7 +86,8 @@
|
||||
#define __exit __section(.exit.text) __exitused __cold notrace
|
||||
|
||||
/* Used for MEMORY_HOTPLUG */
|
||||
#define __meminit __section(.meminit.text) __cold notrace
|
||||
#define __meminit __section(.meminit.text) __cold notrace \
|
||||
__latent_entropy
|
||||
#define __meminitdata __section(.meminit.data)
|
||||
#define __meminitconst __constsection(.meminit.rodata)
|
||||
#define __memexit __section(.memexit.text) __exitused __cold notrace
|
||||
|
Reference in New Issue
Block a user