mirror of
https://gitee.com/bianbu-linux/linux-6.6
synced 2025-04-24 14:07:52 -04:00
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>
This commit is contained in:
parent
ffa47aa678
commit
3859a271a0
38 changed files with 57 additions and 56 deletions
|
@ -45,7 +45,7 @@ struct module_kobject {
|
|||
struct kobject *drivers_dir;
|
||||
struct module_param_attrs *mp;
|
||||
struct completion *kobj_completion;
|
||||
};
|
||||
} __randomize_layout;
|
||||
|
||||
struct module_attribute {
|
||||
struct attribute attr;
|
||||
|
@ -475,7 +475,7 @@ struct module {
|
|||
ctor_fn_t *ctors;
|
||||
unsigned int num_ctors;
|
||||
#endif
|
||||
} ____cacheline_aligned;
|
||||
} ____cacheline_aligned __randomize_layout;
|
||||
#ifndef MODULE_ARCH_INIT
|
||||
#define MODULE_ARCH_INIT {}
|
||||
#endif
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue