Merge tag 'rodata-v4.11-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux
Pull rodata updates from Kees Cook: "This renames the (now inaccurate) DEBUG_RODATA and related SET_MODULE_RONX configs to the more sensible STRICT_KERNEL_RWX and STRICT_MODULE_RWX" * tag 'rodata-v4.11-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux: arch: Rename CONFIG_DEBUG_RODATA and CONFIG_DEBUG_MODULE_RONX arch: Move CONFIG_DEBUG_RODATA and CONFIG_SET_MODULE_RONX to be common
This commit is contained in:
@ -11,7 +11,7 @@ CONFIG_BLK_DEV_LOOP=y
|
||||
CONFIG_BLK_DEV_RAM=y
|
||||
CONFIG_BLK_DEV_RAM_SIZE=8192
|
||||
CONFIG_COMPACTION=y
|
||||
CONFIG_DEBUG_RODATA=y
|
||||
CONFIG_STRICT_KERNEL_RWX=y
|
||||
CONFIG_DM_CRYPT=y
|
||||
CONFIG_DM_UEVENT=y
|
||||
CONFIG_DM_VERITY=y
|
||||
|
||||
@ -76,9 +76,9 @@
|
||||
/*
|
||||
* Modules' sections will be aligned on page boundaries
|
||||
* to ensure complete separation of code and data, but
|
||||
* only when CONFIG_DEBUG_SET_MODULE_RONX=y
|
||||
* only when CONFIG_STRICT_MODULE_RWX=y
|
||||
*/
|
||||
#ifdef CONFIG_DEBUG_SET_MODULE_RONX
|
||||
#ifdef CONFIG_STRICT_MODULE_RWX
|
||||
# define debug_align(X) ALIGN(X, PAGE_SIZE)
|
||||
#else
|
||||
# define debug_align(X) (X)
|
||||
@ -1846,7 +1846,7 @@ static void mod_sysfs_teardown(struct module *mod)
|
||||
mod_sysfs_fini(mod);
|
||||
}
|
||||
|
||||
#ifdef CONFIG_DEBUG_SET_MODULE_RONX
|
||||
#ifdef CONFIG_STRICT_MODULE_RWX
|
||||
/*
|
||||
* LKM RO/NX protection: protect module's text/ro-data
|
||||
* from modification and any data from execution.
|
||||
|
||||
@ -1156,7 +1156,7 @@ static int __init hibernate_setup(char *str)
|
||||
} else if (!strncmp(str, "no", 2)) {
|
||||
noresume = 1;
|
||||
nohibernate = 1;
|
||||
} else if (IS_ENABLED(CONFIG_DEBUG_RODATA)
|
||||
} else if (IS_ENABLED(CONFIG_STRICT_KERNEL_RWX)
|
||||
&& !strncmp(str, "protect_image", 13)) {
|
||||
enable_restore_image_protection();
|
||||
}
|
||||
|
||||
@ -61,12 +61,12 @@ extern int hibernation_snapshot(int platform_mode);
|
||||
extern int hibernation_restore(int platform_mode);
|
||||
extern int hibernation_platform_enter(void);
|
||||
|
||||
#ifdef CONFIG_DEBUG_RODATA
|
||||
#ifdef CONFIG_STRICT_KERNEL_RWX
|
||||
/* kernel/power/snapshot.c */
|
||||
extern void enable_restore_image_protection(void);
|
||||
#else
|
||||
static inline void enable_restore_image_protection(void) {}
|
||||
#endif /* CONFIG_DEBUG_RODATA */
|
||||
#endif /* CONFIG_STRICT_KERNEL_RWX */
|
||||
|
||||
#else /* !CONFIG_HIBERNATION */
|
||||
|
||||
|
||||
@ -38,7 +38,7 @@
|
||||
|
||||
#include "power.h"
|
||||
|
||||
#ifdef CONFIG_DEBUG_RODATA
|
||||
#ifdef CONFIG_STRICT_KERNEL_RWX
|
||||
static bool hibernate_restore_protection;
|
||||
static bool hibernate_restore_protection_active;
|
||||
|
||||
@ -73,7 +73,7 @@ static inline void hibernate_restore_protection_begin(void) {}
|
||||
static inline void hibernate_restore_protection_end(void) {}
|
||||
static inline void hibernate_restore_protect_page(void *page_address) {}
|
||||
static inline void hibernate_restore_unprotect_page(void *page_address) {}
|
||||
#endif /* CONFIG_DEBUG_RODATA */
|
||||
#endif /* CONFIG_STRICT_KERNEL_RWX */
|
||||
|
||||
static int swsusp_page_is_free(struct page *);
|
||||
static void swsusp_set_page_forbidden(struct page *);
|
||||
|
||||
Reference in New Issue
Block a user