diff mbox

[2/6] kernel/module.c: Update debug alignment after symtable generation

Message ID 1427733367-18976-3-git-send-email-paolo.pisati@canonical.com
State New
Headers show

Commit Message

Paolo Pisati March 30, 2015, 4:36 p.m. UTC
From: Laura Abbott <lauraa@codeaurora.org>

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 <lauraa@codeaurora.org>
Acked-by: Rusty Russell <rusty@rustcorp.com.au>
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
(cherry picked from commit 168e47f2a6581fdbc5bb1845aeca1e50e2bc5c4b)
Signed-off-by: Paolo Pisati <paolo.pisati@canonical.com>
---
 kernel/module.c | 2 ++
 1 file changed, 2 insertions(+)
diff mbox

Patch

diff --git a/kernel/module.c b/kernel/module.c
index d856e96..bba732c 100644
--- a/kernel/module.c
+++ b/kernel/module.c
@@ -2305,11 +2305,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);
 }