Message ID | 20241209072020.4743-3-shijie@os.amperecomputing.com (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | arm64: refactor the rodata=xxx | expand |
A small nit: arm64/Kconfig: Remove CONFIG_RODATA_FULL_DEFAULT_ENABLED On 12/9/24 12:50, Huang Shijie wrote: > After patch "arm64: refacotr the rodata=xxx", > the "rodata=on" becomes the default. > > ...................................... > if (!strcmp(arg, "on")) { > rodata_enabled = rodata_full = true; > return true; > } > ...................................... > > The rodata_full is always "true" via "rodata=on" and does not > depend on the config RODATA_FULL_DEFAULT_ENABLED anymore, > so it can be dropped. > > Signed-off-by: Huang Shijie <shijie@os.amperecomputing.com> > --- > arch/arm64/Kconfig | 14 -------------- > arch/arm64/mm/pageattr.c | 2 +- > 2 files changed, 1 insertion(+), 15 deletions(-) > > diff --git a/arch/arm64/Kconfig b/arch/arm64/Kconfig > index cbfd357f94a6..1c69982302ed 100644 > --- a/arch/arm64/Kconfig > +++ b/arch/arm64/Kconfig > @@ -1666,20 +1666,6 @@ config MITIGATE_SPECTRE_BRANCH_HISTORY > When taking an exception from user-space, a sequence of branches > or a firmware call overwrites the branch history. > > -config RODATA_FULL_DEFAULT_ENABLED > - bool "Apply r/o permissions of VM areas also to their linear aliases" > - default y > - help > - Apply read-only attributes of VM areas to the linear alias of > - the backing pages as well. This prevents code or read-only data > - from being modified (inadvertently or intentionally) via another > - mapping of the same memory page. This additional enhancement can > - be turned off at runtime by passing rodata=[off|on] (and turned on > - with rodata=full if this option is set to 'n') > - > - This requires the linear region to be mapped down to pages, > - which may adversely affect performance in some cases. > - > config ARM64_SW_TTBR0_PAN > bool "Emulate Privileged Access Never using TTBR0_EL1 switching" > depends on !KCSAN > diff --git a/arch/arm64/mm/pageattr.c b/arch/arm64/mm/pageattr.c > index 39fd1f7ff02a..6eef08d8451e 100644 > --- a/arch/arm64/mm/pageattr.c > +++ b/arch/arm64/mm/pageattr.c > @@ -20,7 +20,7 @@ struct page_change_data { > pgprot_t clear_mask; > }; > > -bool rodata_full __ro_after_init = IS_ENABLED(CONFIG_RODATA_FULL_DEFAULT_ENABLED); > +bool rodata_full __ro_after_init = true; > > bool can_set_direct_map(void) > { Otherwise LGTM Reviewed-by: Anshuman Khandual <anshuman.khandual@arm.com>
diff --git a/arch/arm64/Kconfig b/arch/arm64/Kconfig index cbfd357f94a6..1c69982302ed 100644 --- a/arch/arm64/Kconfig +++ b/arch/arm64/Kconfig @@ -1666,20 +1666,6 @@ config MITIGATE_SPECTRE_BRANCH_HISTORY When taking an exception from user-space, a sequence of branches or a firmware call overwrites the branch history. -config RODATA_FULL_DEFAULT_ENABLED - bool "Apply r/o permissions of VM areas also to their linear aliases" - default y - help - Apply read-only attributes of VM areas to the linear alias of - the backing pages as well. This prevents code or read-only data - from being modified (inadvertently or intentionally) via another - mapping of the same memory page. This additional enhancement can - be turned off at runtime by passing rodata=[off|on] (and turned on - with rodata=full if this option is set to 'n') - - This requires the linear region to be mapped down to pages, - which may adversely affect performance in some cases. - config ARM64_SW_TTBR0_PAN bool "Emulate Privileged Access Never using TTBR0_EL1 switching" depends on !KCSAN diff --git a/arch/arm64/mm/pageattr.c b/arch/arm64/mm/pageattr.c index 39fd1f7ff02a..6eef08d8451e 100644 --- a/arch/arm64/mm/pageattr.c +++ b/arch/arm64/mm/pageattr.c @@ -20,7 +20,7 @@ struct page_change_data { pgprot_t clear_mask; }; -bool rodata_full __ro_after_init = IS_ENABLED(CONFIG_RODATA_FULL_DEFAULT_ENABLED); +bool rodata_full __ro_after_init = true; bool can_set_direct_map(void) {
After patch "arm64: refacotr the rodata=xxx", the "rodata=on" becomes the default. ...................................... if (!strcmp(arg, "on")) { rodata_enabled = rodata_full = true; return true; } ...................................... The rodata_full is always "true" via "rodata=on" and does not depend on the config RODATA_FULL_DEFAULT_ENABLED anymore, so it can be dropped. Signed-off-by: Huang Shijie <shijie@os.amperecomputing.com> --- arch/arm64/Kconfig | 14 -------------- arch/arm64/mm/pageattr.c | 2 +- 2 files changed, 1 insertion(+), 15 deletions(-)