summaryrefslogtreecommitdiff
path: root/security
diff options
context:
space:
mode:
authorEmese Revfy <re.emese@gmail.com>2016-07-26 22:41:43 +0200
committerKees Cook <keescook@chromium.org>2017-02-06 13:26:31 -0800
commite89c98504d8962186caa82a7f613a6d0b24cb917 (patch)
tree6174c271746c30108b5e63c113cb1221bb1d168c /security
parentdc259d15102b74f87f23166491aeb7b99ecf4da1 (diff)
initify: Mark functions with the __nocapture attribute
The nocapture gcc attribute can be on functions only. The attribute takes zero or more signed integer constants as parameters that specify the function parameters to initify when the passed arguments are of const char* type. A negative attribute parameter value means that the corresponding function parameter is returned by the function and the passed argument will only be initified if the data flow of the returned value is not captured in the caller. If no values are passed to the attribute then all function parameters are treated as nocapture. If the marked parameter is a vararg then the plugin initifies all vararg arguments. Signed-off-by: Emese Revfy <re.emese@gmail.com> [kees: updated markings, thanks to Arnd] Signed-off-by: Kees Cook <keescook@chromium.org>
Diffstat (limited to 'security')
-rw-r--r--security/integrity/integrity.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/security/integrity/integrity.h b/security/integrity/integrity.h
index 24520b4ef3b0..b89448a69cf4 100644
--- a/security/integrity/integrity.h
+++ b/security/integrity/integrity.h
@@ -177,7 +177,7 @@ static inline void evm_load_x509(void)
#ifdef CONFIG_INTEGRITY_AUDIT
/* declarations */
-void integrity_audit_msg(int audit_msgno, struct inode *inode,
+void __nocapture(4) integrity_audit_msg(int audit_msgno, struct inode *inode,
const unsigned char *fname, const char *op,
const char *cause, int result, int info);
#else