Re: [PATCH 3/3] kernel/module.c: Update debug alignment after symtable generation
Laura Abbott writes: > When CONFIG_DEBUG_SET_MODULE_RONX is enabled, the sizes of > module sections are aligned up so appropriate permissions can > be applied. Adjusting for the symbol table may cause them to > become unaligned. Make sure to re-align the sizes afterward. > > Signed-off-by: Laura Abbott Acked-by: Rusty Russell This won't clash with anything I'm planning, so happy for this to go in through the arm trees. CC:stable should be fine if you want too. Thanks, Rusty. > --- > kernel/module.c | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/kernel/module.c b/kernel/module.c > index b34813f..cc93cf6 100644 > --- a/kernel/module.c > +++ b/kernel/module.c > @@ -2313,11 +2313,13 @@ static void layout_symtab(struct module *mod, struct > load_info *info) > info->symoffs = ALIGN(mod->core_size, symsect->sh_addralign ?: 1); > info->stroffs = mod->core_size = info->symoffs + ndst * sizeof(Elf_Sym); > mod->core_size += strtab_size; > + mod->core_size = debug_align(mod->core_size); > > /* Put string table section at end of init part of module. */ > strsect->sh_flags |= SHF_ALLOC; > strsect->sh_entsize = get_offset(mod, >init_size, strsect, >info->index.str) | INIT_OFFSET_MASK; > + mod->init_size = debug_align(mod->init_size); > pr_debug("\t%s\n", info->secstrings + strsect->sh_name); > } > > -- > Qualcomm Innovation Center, Inc. > Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, a Linux > Foundation Collaborative Project > > -- > To unsubscribe from this list: send the line "unsubscribe linux-kernel" in > the body of a message to majord...@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html > Please read the FAQ at http://www.tux.org/lkml/ -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[PATCH 3/3] kernel/module.c: Update debug alignment after symtable generation
When CONFIG_DEBUG_SET_MODULE_RONX is enabled, the sizes of module sections are aligned up so appropriate permissions can be applied. Adjusting for the symbol table may cause them to become unaligned. Make sure to re-align the sizes afterward. Signed-off-by: Laura Abbott --- kernel/module.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/kernel/module.c b/kernel/module.c index b34813f..cc93cf6 100644 --- a/kernel/module.c +++ b/kernel/module.c @@ -2313,11 +2313,13 @@ static void layout_symtab(struct module *mod, struct load_info *info) info->symoffs = ALIGN(mod->core_size, symsect->sh_addralign ?: 1); info->stroffs = mod->core_size = info->symoffs + ndst * sizeof(Elf_Sym); mod->core_size += strtab_size; + mod->core_size = debug_align(mod->core_size); /* Put string table section at end of init part of module. */ strsect->sh_flags |= SHF_ALLOC; strsect->sh_entsize = get_offset(mod, >init_size, strsect, info->index.str) | INIT_OFFSET_MASK; + mod->init_size = debug_align(mod->init_size); pr_debug("\t%s\n", info->secstrings + strsect->sh_name); } -- Qualcomm Innovation Center, Inc. Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, a Linux Foundation Collaborative Project -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[PATCH 3/3] kernel/module.c: Update debug alignment after symtable generation
When CONFIG_DEBUG_SET_MODULE_RONX is enabled, the sizes of module sections are aligned up so appropriate permissions can be applied. Adjusting for the symbol table may cause them to become unaligned. Make sure to re-align the sizes afterward. Signed-off-by: Laura Abbott lau...@codeaurora.org --- kernel/module.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/kernel/module.c b/kernel/module.c index b34813f..cc93cf6 100644 --- a/kernel/module.c +++ b/kernel/module.c @@ -2313,11 +2313,13 @@ static void layout_symtab(struct module *mod, struct load_info *info) info-symoffs = ALIGN(mod-core_size, symsect-sh_addralign ?: 1); info-stroffs = mod-core_size = info-symoffs + ndst * sizeof(Elf_Sym); mod-core_size += strtab_size; + mod-core_size = debug_align(mod-core_size); /* Put string table section at end of init part of module. */ strsect-sh_flags |= SHF_ALLOC; strsect-sh_entsize = get_offset(mod, mod-init_size, strsect, info-index.str) | INIT_OFFSET_MASK; + mod-init_size = debug_align(mod-init_size); pr_debug(\t%s\n, info-secstrings + strsect-sh_name); } -- Qualcomm Innovation Center, Inc. Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, a Linux Foundation Collaborative Project -- To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH 3/3] kernel/module.c: Update debug alignment after symtable generation
Laura Abbott lau...@codeaurora.org writes: When CONFIG_DEBUG_SET_MODULE_RONX is enabled, the sizes of module sections are aligned up so appropriate permissions can be applied. Adjusting for the symbol table may cause them to become unaligned. Make sure to re-align the sizes afterward. Signed-off-by: Laura Abbott lau...@codeaurora.org Acked-by: Rusty Russell ru...@rustcorp.com.au This won't clash with anything I'm planning, so happy for this to go in through the arm trees. CC:stable should be fine if you want too. Thanks, Rusty. --- kernel/module.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/kernel/module.c b/kernel/module.c index b34813f..cc93cf6 100644 --- a/kernel/module.c +++ b/kernel/module.c @@ -2313,11 +2313,13 @@ static void layout_symtab(struct module *mod, struct load_info *info) info-symoffs = ALIGN(mod-core_size, symsect-sh_addralign ?: 1); info-stroffs = mod-core_size = info-symoffs + ndst * sizeof(Elf_Sym); mod-core_size += strtab_size; + mod-core_size = debug_align(mod-core_size); /* Put string table section at end of init part of module. */ strsect-sh_flags |= SHF_ALLOC; strsect-sh_entsize = get_offset(mod, mod-init_size, strsect, info-index.str) | INIT_OFFSET_MASK; + mod-init_size = debug_align(mod-init_size); pr_debug(\t%s\n, info-secstrings + strsect-sh_name); } -- Qualcomm Innovation Center, Inc. Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, a Linux Foundation Collaborative Project -- To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/ -- To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/