Commit 9aae0df6 authored by Linus Torvalds's avatar Linus Torvalds
Browse files
Pull arm64 fixes from Catalin Marinas:
 "arm64 and generic kernel/module.c (acked by Rusty) fixes for
  CONFIG_DEBUG_SET_MODULE_RONX"

* tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux:
  kernel/module.c: Update debug alignment after symtable generation
  arm64: Don't use is_module_addr in setting page attributes
parents af13e867 168e47f2
Loading
Loading
Loading
Loading
+4 −1
Original line number Diff line number Diff line
@@ -51,7 +51,10 @@ static int change_memory_common(unsigned long addr, int numpages,
		WARN_ON_ONCE(1);
	}

	if (!is_module_address(start) || !is_module_address(end - 1))
	if (start < MODULES_VADDR || start >= MODULES_END)
		return -EINVAL;

	if (end < MODULES_VADDR || end >= MODULES_END)
		return -EINVAL;

	data.set_mask = set_mask;
+2 −0
Original line number Diff line number Diff line
@@ -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);
}