diff options
author | Kees Cook <keescook@chromium.org> | 2016-10-28 01:22:25 -0700 |
---|---|---|
committer | Kees Cook <keescook@chromium.org> | 2017-06-30 12:00:51 -0700 |
commit | 3859a271a003aba01e45b85c9d8b355eb7bf25f9 (patch) | |
tree | 850c019e6a6449857e864b6a545b053ffe2f99a9 /include/linux/key-type.h | |
parent | ffa47aa678cfaa9b88e8a26cfb115b4768325121 (diff) | |
download | talos-obmc-linux-3859a271a003aba01e45b85c9d8b355eb7bf25f9.tar.gz talos-obmc-linux-3859a271a003aba01e45b85c9d8b355eb7bf25f9.zip |
randstruct: Mark various structs for randomization
This marks many critical kernel structures for randomization. These are
structures that have been targeted in the past in security exploits, or
contain functions pointers, pointers to function pointer tables, lists,
workqueues, ref-counters, credentials, permissions, or are otherwise
sensitive. This initial list was extracted from Brad Spengler/PaX Team's
code in the last public patch of grsecurity/PaX based on my understanding
of the code. Changes or omissions from the original code are mine and
don't reflect the original grsecurity/PaX code.
Left out of this list is task_struct, which requires special handling
and will be covered in a subsequent patch.
Signed-off-by: Kees Cook <keescook@chromium.org>
Diffstat (limited to 'include/linux/key-type.h')
-rw-r--r-- | include/linux/key-type.h | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/include/linux/key-type.h b/include/linux/key-type.h index 8496cf64575c..9520fc3c3b9a 100644 --- a/include/linux/key-type.h +++ b/include/linux/key-type.h @@ -45,7 +45,7 @@ struct key_preparsed_payload { size_t datalen; /* Raw datalen */ size_t quotalen; /* Quota length for proposed payload */ time_t expiry; /* Expiry time of key */ -}; +} __randomize_layout; typedef int (*request_key_actor_t)(struct key_construction *key, const char *op, void *aux); @@ -158,7 +158,7 @@ struct key_type { /* internal fields */ struct list_head link; /* link in types list */ struct lock_class_key lock_class; /* key->sem lock class */ -}; +} __randomize_layout; extern struct key_type key_type_keyring; |